{"openapi":"3.0.2","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/profile/":{"get":{"summary":"User Profile","operationId":"user_profile_api_profile__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/apps/{app_id}/variants/":{"get":{"summary":"List App Variants","description":"Retrieve a list of app variants for a given app ID.\n\nArgs:\n    app_id (str): The ID of the app to retrieve variants for.\n    stoken_session (SessionContainer, optional): The session container to verify the user's session. Defaults to Depends(verify_session()).\n\nReturns:\n    List[AppVariantOutput]: A list of app variants for the given app ID.","operationId":"list_app_variants_api_apps__app_id__variants__get","parameters":[{"required":true,"schema":{"title":"App Id","type":"string"},"name":"app_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response List App Variants Api Apps  App Id  Variants  Get","type":"array","items":{"$ref":"#/components/schemas/AppVariantOutput"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/apps/get_variant_by_env/":{"get":{"summary":"Get Variant By Env","description":"Retrieve the app variant based on the provided app_id and environment.\n\nArgs:\n    app_id (str): The ID of the app to retrieve the variant for.\n    environment (str): The environment of the app variant to retrieve.\n    stoken_session (SessionContainer, optional): The session token container. Defaults to Depends(verify_session()).\n\nRaises:\n    HTTPException: If the app variant is not found (status_code=500), or if a ValueError is raised (status_code=400), or if any other exception is raised (status_code=500).\n\nReturns:\n    AppVariantOutput: The retrieved app variant.","operationId":"get_variant_by_env_api_apps_get_variant_by_env__get","parameters":[{"required":true,"schema":{"title":"App Id","type":"string"},"name":"app_id","in":"query"},{"required":true,"schema":{"title":"Environment","type":"string"},"name":"environment","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppVariantOutput"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/apps/":{"get":{"summary":"List Apps","description":"Retrieve a list of apps filtered by app_name and org_id.\n\nArgs:\n    app_name (Optional[str]): The name of the app to filter by.\n    org_id (Optional[str]): The ID of the organization to filter by.\n    stoken_session (SessionContainer): The session container.\n\nReturns:\n    List[App]: A list of apps filtered by app_name and org_id.\n\nRaises:\n    HTTPException: If there was an error retrieving the list of apps.","operationId":"list_apps_api_apps__get","parameters":[{"required":false,"schema":{"title":"App Name","type":"string"},"name":"app_name","in":"query"},{"required":false,"schema":{"title":"Org Id","type":"string"},"name":"org_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response List Apps Api Apps  Get","type":"array","items":{"$ref":"#/components/schemas/App"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create App","description":"Create a new app for a user or organization.\n\nArgs:\n    payload (CreateApp): The payload containing the app name and organization ID (optional).\n    stoken_session (SessionContainer): The session container containing the user's session token.\n\nReturns:\n    CreateAppOutput: The output containing the newly created app's ID and name.\n\nRaises:\n    HTTPException: If there is an error creating the app or the user does not have permission to access the app.","operationId":"create_app_api_apps__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApp"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAppOutput"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/apps/{app_id}/variant/from-image/":{"post":{"summary":"Add Variant From Image","description":"Add a new variant to an app based on a Docker image.\n\nArgs:\n    app_id (str): The ID of the app to add the variant to.\n    payload (AddVariantFromImagePayload): The payload containing information about the variant to add.\n    stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()).\n\nRaises:\n    HTTPException: If the feature flag is set to \"demo\" or if the image does not have a tag starting with the registry name (agenta-server) or if the image is not found or if the user does not have access to the app.\n\nReturns:\n    dict: The newly added variant.","operationId":"add_variant_from_image_api_apps__app_id__variant_from_image__post","parameters":[{"required":true,"schema":{"title":"App Id","type":"string"},"name":"app_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddVariantFromImagePayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/apps/{app_id}/":{"delete":{"summary":"Remove App","description":"Remove app, all its variant, containers and images\n\nArguments:\n    app -- App to remove","operationId":"remove_app_api_apps__app_id___delete","parameters":[{"required":true,"schema":{"title":"App Id","type":"string"},"name":"app_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/apps/app_and_variant_from_template/":{"post":{"summary":"Create App And Variant From Template","description":"Create an app and variant from a template.\n\nArgs:\n    payload (CreateAppVariant): The payload containing the app and variant information.\n    stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()).\n\nRaises:\n    HTTPException: If the user has reached the app limit or if an app with the same name already exists.\n\nReturns:\n    AppVariantOutput: The output of the created app variant.","operationId":"create_app_and_variant_from_template_api_apps_app_and_variant_from_template__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAppVariant"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppVariantOutput"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/apps/{app_id}/environments/":{"get":{"summary":"List Environments","description":"Retrieve a list of environments for a given app ID.\n\nArgs:\n    app_id (str): The ID of the app to retrieve environments for.\n    stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()).\n\nReturns:\n    List[EnvironmentOutput]: A list of environment objects.","operationId":"list_environments_api_apps__app_id__environments__get","parameters":[{"required":true,"schema":{"title":"App Id","type":"string"},"name":"app_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response List Environments Api Apps  App Id  Environments  Get","type":"array","items":{"$ref":"#/components/schemas/EnvironmentOutput"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/variants/from-base/":{"post":{"summary":"Add Variant From Base And Config","description":"Add a new variant based on an existing one.\nSame as POST /config\n\nArgs:\n    payload (AddVariantFromBasePayload): Payload containing base variant ID, new variant name, and parameters.\n    stoken_session (SessionContainer, optional): Session container. Defaults to result of verify_session().\n\nRaises:\n    HTTPException: Raised if the variant could not be added or accessed.\n\nReturns:\n    Union[AppVariantOutput, Any]: New variant details or exception.","operationId":"add_variant_from_base_and_config_api_variants_from_base__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddVariantFromBasePayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Add Variant From Base And Config Api Variants From Base  Post","anyOf":[{"$ref":"#/components/schemas/AppVariantOutput"},{}]}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/variants/{variant_id}/":{"put":{"summary":"Start Variant","description":"Start a variant of an app.\n\nArgs:\n    variant_id (str): The ID of the variant to start.\n    action (VariantAction): The action to perform on the variant (start).\n    env_vars (Optional[DockerEnvVars], optional): The environment variables to inject to the Docker container. Defaults to None.\n    stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()).\n\nReturns:\n    URI: The URL of the started variant.\n\nRaises:\n    HTTPException: If the app container cannot be started.","operationId":"start_variant_api_variants__variant_id___put","parameters":[{"required":true,"schema":{"title":"Variant Id","type":"string"},"name":"variant_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_start_variant_api_variants__variant_id___put"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/URI"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Remove Variant","description":"Remove a variant from the server.\nIn the case it's the last variant using the image, stop the container and remove the image.\n\nArguments:\n    app_variant -- AppVariant to remove\n\nRaises:\n    HTTPException: If there is a problem removing the app variant","operationId":"remove_variant_api_variants__variant_id___delete","parameters":[{"required":true,"schema":{"title":"Variant Id","type":"string"},"name":"variant_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/variants/{variant_id}/parameters/":{"put":{"summary":"Update Variant Parameters","description":"Updates the parameters for an app variant.\n\nArgs:\n    variant_id (str): The ID of the app variant to update.\n    payload (UpdateVariantParameterPayload): The payload containing the updated parameters.\n    stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()).\n\nRaises:\n    HTTPException: If there is an error while trying to update the app variant.\n\nReturns:\n    JSONResponse: A JSON response containing the updated app variant parameters.","operationId":"update_variant_parameters_api_variants__variant_id__parameters__put","parameters":[{"required":true,"schema":{"title":"Variant Id","type":"string"},"name":"variant_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVariantParameterPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/variants/{variant_id}/image/":{"put":{"summary":"Update Variant Image","description":"Updates the image used in an app variant.\n\nArgs:\n    variant_id (str): The ID of the app variant to update.\n    image (Image): The image information to update.\n\nRaises:\n    HTTPException: If an error occurs while trying to update the app variant.\n\nReturns:\n    JSONResponse: A JSON response indicating whether the update was successful or not.","operationId":"update_variant_image_api_variants__variant_id__image__put","parameters":[{"required":true,"schema":{"title":"Variant Id","type":"string"},"name":"variant_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Image"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evaluations/":{"get":{"summary":"Fetch List Evaluations","description":"Fetches a list of evaluations, optionally filtered by an app ID.\n\nArgs:\n    app_id (Optional[str]): An optional app ID to filter the evaluations.\n\nReturns:\n    List[Evaluation]: A list of evaluations.","operationId":"fetch_list_evaluations_api_evaluations__get","parameters":[{"required":true,"schema":{"title":"App Id","type":"string"},"name":"app_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Fetch List Evaluations Api Evaluations  Get","type":"array","items":{"$ref":"#/components/schemas/Evaluation"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Evaluation","description":"Creates a new comparison table document\nRaises:\n    HTTPException: _description_\nReturns:\n    _description_","operationId":"create_evaluation_api_evaluations__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewEvaluation"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimpleEvaluationOutput"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Delete Evaluations","description":"Delete specific comparison tables based on their unique IDs.\n\nArgs:\ndelete_evaluations (List[str]): The unique identifiers of the comparison tables to delete.\n\nReturns:\nA list of the deleted comparison tables' IDs.","operationId":"delete_evaluations_api_evaluations__delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteEvaluation"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Delete Evaluations Api Evaluations  Delete","type":"array","items":{"type":"string"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evaluations/{evaluation_id}/":{"get":{"summary":"Fetch Evaluation","description":"Fetches a single evaluation based on its ID.\n\nArgs:\n    evaluation_id (str): The ID of the evaluation to fetch.\n\nReturns:\n    Evaluation: The fetched evaluation.","operationId":"fetch_evaluation_api_evaluations__evaluation_id___get","parameters":[{"required":true,"schema":{"title":"Evaluation Id","type":"string"},"name":"evaluation_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Evaluation"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Update Evaluation Router","description":"Updates an evaluation's status.\n\nRaises:\n    HTTPException: If the columns in the test set do not match with the inputs in the variant.\n\nReturns:\n    None: A 204 No Content status code, indicating that the update was successful.","operationId":"update_evaluation_router_api_evaluations__evaluation_id___put","parameters":[{"required":true,"schema":{"title":"Evaluation Id","type":"string"},"name":"evaluation_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evaluations/{evaluation_id}/evaluation_scenarios/":{"get":{"summary":"Fetch Evaluation Scenarios","description":"Fetches evaluation scenarios for a given evaluation ID.\n\nArguments:\n    evaluation_id (str): The ID of the evaluation for which to fetch scenarios.\n\nRaises:\n    HTTPException: If the evaluation is not found or access is denied.\n\nReturns:\n    List[EvaluationScenario]: A list of evaluation scenarios.","operationId":"fetch_evaluation_scenarios_api_evaluations__evaluation_id__evaluation_scenarios__get","parameters":[{"required":true,"schema":{"title":"Evaluation Id","type":"string"},"name":"evaluation_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Fetch Evaluation Scenarios Api Evaluations  Evaluation Id  Evaluation Scenarios  Get","type":"array","items":{"$ref":"#/components/schemas/EvaluationScenario"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evaluations/{evaluation_id}/evaluation_scenario/":{"post":{"summary":"Create Evaluation Scenario","description":"Create a new evaluation scenario for a given evaluation ID.\n\nRaises:\n    HTTPException: If evaluation not found or access denied.\n\nReturns:\n    None: 204 No Content status code upon success.","operationId":"create_evaluation_scenario_api_evaluations__evaluation_id__evaluation_scenario__post","parameters":[{"required":true,"schema":{"title":"Evaluation Id","type":"string"},"name":"evaluation_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationScenario"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evaluations/{evaluation_id}/evaluation_scenario/{evaluation_scenario_id}/{evaluation_type}/":{"put":{"summary":"Update Evaluation Scenario Router","description":"Updates an evaluation scenario's vote or score based on its type.\n\nRaises:\n    HTTPException: If update fails or unauthorized.\n\nReturns:\n    None: 204 No Content status code upon successful update.","operationId":"update_evaluation_scenario_router_api_evaluations__evaluation_id__evaluation_scenario__evaluation_scenario_id___evaluation_type___put","parameters":[{"required":true,"schema":{"title":"Evaluation Scenario Id","type":"string"},"name":"evaluation_scenario_id","in":"path"},{"required":true,"schema":{"$ref":"#/components/schemas/EvaluationType"},"name":"evaluation_type","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationScenarioUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evaluations/evaluation_scenario/ai_critique/":{"post":{"summary":"Evaluate Ai Critique","description":"Evaluate AI critique based on the given payload.\n\nArgs:\n    payload (AICritiqueCreate): The payload containing data for AI critique evaluation.\n    stoken_session (SessionContainer): The session container verified by `verify_session`.\n\nReturns:\n    str: The output of the AI critique evaluation.\n\nRaises:\n    HTTPException: If any exception occurs during the evaluation.","operationId":"evaluate_ai_critique_api_evaluations_evaluation_scenario_ai_critique__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AICritiqueCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Evaluate Ai Critique Api Evaluations Evaluation Scenario Ai Critique  Post","type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evaluations/evaluation_scenario/{evaluation_scenario_id}/score/":{"get":{"summary":"Get Evaluation Scenario Score Router","description":"Fetch the score of a specific evaluation scenario.\n\nArgs:\n    evaluation_scenario_id: The ID of the evaluation scenario to fetch.\n    stoken_session: Session data, verified by `verify_session`.\n\nReturns:\n    Dictionary containing the scenario ID and its score.","operationId":"get_evaluation_scenario_score_router_api_evaluations_evaluation_scenario__evaluation_scenario_id__score__get","parameters":[{"required":true,"schema":{"title":"Evaluation Scenario Id","type":"string"},"name":"evaluation_scenario_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Evaluation Scenario Score Router Api Evaluations Evaluation Scenario  Evaluation Scenario Id  Score  Get","type":"object","additionalProperties":{"type":"string"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Update Evaluation Scenario Score Router","description":"Updates the score of an evaluation scenario.\n\nRaises:\n    HTTPException: Server error if the evaluation update fails.\n\nReturns:\n    None: 204 No Content status code upon successful update.","operationId":"update_evaluation_scenario_score_router_api_evaluations_evaluation_scenario__evaluation_scenario_id__score__put","parameters":[{"required":true,"schema":{"title":"Evaluation Scenario Id","type":"string"},"name":"evaluation_scenario_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationScenarioScoreUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evaluations/{evaluation_id}/results/":{"get":{"summary":"Fetch Results","description":"Fetch all the results for one the comparison table\n\nArguments:\n    evaluation_id -- _description_\n\nReturns:\n    _description_","operationId":"fetch_results_api_evaluations__evaluation_id__results__get","parameters":[{"required":true,"schema":{"title":"Evaluation Id","type":"string"},"name":"evaluation_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evaluations/custom_evaluation/":{"post":{"summary":"Create Custom Evaluation","description":"Create evaluation with custom python code.\n\n   Args:\n       \ncustom_evaluation_payload (CreateCustomEvaluation): the required payload","operationId":"create_custom_evaluation_api_evaluations_custom_evaluation__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomEvaluation"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evaluations/custom_evaluation/{id}":{"put":{"summary":"Update Custom Evaluation","description":"Update a custom code evaluation.\nArgs:\n    id (str): the ID of the custom evaluation to update\n    updated_data (CreateCustomEvaluation): the payload with updated data\n    stoken_session (SessionContainer): session container for authentication","operationId":"update_custom_evaluation_api_evaluations_custom_evaluation__id__put","parameters":[{"required":true,"schema":{"title":"Id","type":"string"},"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomEvaluation"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evaluations/custom_evaluation/list/{app_id}/":{"get":{"summary":"List Custom Evaluations","description":"List the custom code evaluations for a given app.\n\nArgs:\n    app_id (str): the id of the app\n\nReturns:\n    List[CustomEvaluationOutput]: a list of custom evaluation","operationId":"list_custom_evaluations_api_evaluations_custom_evaluation_list__app_id___get","parameters":[{"required":true,"schema":{"title":"App Id","type":"string"},"name":"app_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response List Custom Evaluations Api Evaluations Custom Evaluation List  App Id   Get","type":"array","items":{"$ref":"#/components/schemas/CustomEvaluationOutput"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evaluations/custom_evaluation/{id}/":{"get":{"summary":"Get Custom Evaluation","description":"Get the custom code evaluation detail.\n\nArgs:\n    id (str): the id of the custom evaluation\n\nReturns:\n    CustomEvaluationDetail: Detail of the custom evaluation","operationId":"get_custom_evaluation_api_evaluations_custom_evaluation__id___get","parameters":[{"required":true,"schema":{"title":"Id","type":"string"},"name":"id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomEvaluationDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evaluations/custom_evaluation/{app_name}/names/":{"get":{"summary":"Get Custom Evaluation Names","description":"Get the names of custom evaluation for a given app.\n\nArgs:\n    app_name (str): the name of the app the evaluation belongs to\n\nReturns:\n    List[CustomEvaluationNames]: the list of name of custom evaluations","operationId":"get_custom_evaluation_names_api_evaluations_custom_evaluation__app_name__names__get","parameters":[{"required":true,"schema":{"title":"App Name","type":"string"},"name":"app_name","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Custom Evaluation Names Api Evaluations Custom Evaluation  App Name  Names  Get","type":"array","items":{"$ref":"#/components/schemas/CustomEvaluationNames"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evaluations/custom_evaluation/execute/{evaluation_id}/":{"post":{"summary":"Execute Custom Evaluation","description":"Execute a custom evaluation code.\n\nArgs:\n    evaluation_id (str): the custom evaluation id\n    payload (ExecuteCustomEvaluationCode): the required payload\n\nReturns:\n    float: the result of the evaluation custom code","operationId":"execute_custom_evaluation_api_evaluations_custom_evaluation_execute__evaluation_id___post","parameters":[{"required":true,"schema":{"title":"Evaluation Id","type":"string"},"name":"evaluation_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecuteCustomEvaluationCode"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/evaluations/webhook_example_fake/":{"post":{"summary":"Webhook Example Fake","description":"Returns a fake score response for example webhook evaluation\n\nReturns:\n    _description_","operationId":"webhook_example_fake_api_evaluations_webhook_example_fake__post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationWebhook"}}}}}}},"/api/testsets/upload/":{"post":{"summary":"Upload File","description":"Uploads a CSV or JSON file and saves its data to MongoDB.\n\nArgs:\nupload_type : Either a json or csv file.\n    file (UploadFile): The CSV or JSON file to upload.\n    testset_name (Optional): the name of the testset if provided.\n\nReturns:\n    dict: The result of the upload process.","operationId":"upload_file_api_testsets_upload__post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_file_api_testsets_upload__post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestSetSimpleResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/testsets/endpoint/":{"post":{"summary":"Import Testset","description":"Import JSON testset data from an endpoint and save it to MongoDB.\n\nArgs:\n    endpoint (str): An endpoint URL to import data from.\n    testset_name (str): the name of the testset if provided.\n\nReturns:\n    dict: The result of the import process.","operationId":"import_testset_api_testsets_endpoint__post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_import_testset_api_testsets_endpoint__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestSetSimpleResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/testsets":{"post":{"summary":"Create Testset","description":"Create a testset with given name, save the testset to MongoDB.\n\nArgs:\nname (str): name of the test set.\ntestset (Dict[str, str]): test set data.\n\nReturns:\nstr: The id of the test set created.","operationId":"create_testset_api_testsets__post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewTestset"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/testsets/{testset_id}/":{"get":{"tags":["testsets"],"summary":"Get Testset","description":"Fetch a specific testset in a MongoDB collection using its _id.\n\nArgs:\n    testset_id (str): The _id of the testset to fetch.\n\nReturns:\n    The requested testset if found, else an HTTPException.","operationId":"get_testset_api_testsets__testset_id___get","parameters":[{"required":true,"schema":{"title":"Testset Id","type":"string"},"name":"testset_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Update Testset","description":"Update a testset with given id, update the testset in MongoDB.\n\nArgs:\ntestset_id (str): id of the test set to be updated.\ncsvdata (NewTestset): New data to replace the old testset.\n\nReturns:\nstr: The id of the test set updated.","operationId":"update_testset_api_testsets__testset_id___put","parameters":[{"required":true,"schema":{"title":"Testset Id","type":"string"},"name":"testset_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewTestset"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/testsets/":{"get":{"tags":["testsets"],"summary":"Get Testsets","description":"Get all testsets.\n\nReturns:\n- A list of testset objects.\n\nRaises:\n- `HTTPException` with status code 404 if no testsets are found.","operationId":"get_testsets_api_testsets__get","parameters":[],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Testsets Api Testsets  Get","type":"array","items":{"$ref":"#/components/schemas/TestSetOutputResponse"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Delete Testsets","description":"Delete specific testsets based on their unique IDs.\n\nArgs:\ntestset_ids (List[str]): The unique identifiers of the testsets to delete.\n\nReturns:\nA list of the deleted testsets' IDs.","operationId":"delete_testsets_api_testsets__delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteTestsets"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Delete Testsets Api Testsets  Delete","type":"array","items":{"type":"string"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/containers/build_image/":{"post":{"summary":"Build Image","description":"Builds a Docker image from a tar file containing the application code.\n\nArgs:\n    app_id (str): The ID of the application to build the image for.\n    base_name (str): The base name of the image to build.\n    tar_file (UploadFile): The tar file containing the application code.\n    stoken_session (SessionContainer): The session container for the user making the request.\n\nReturns:\n    Image: The Docker image that was built.","operationId":"build_image_api_containers_build_image__post","parameters":[{"required":true,"schema":{"title":"App Id","type":"string"},"name":"app_id","in":"query"},{"required":true,"schema":{"title":"Base Name","type":"string"},"name":"base_name","in":"query"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_build_image_api_containers_build_image__post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Image"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/containers/restart_container/":{"post":{"summary":"Restart Docker Container","description":"Restart docker container.\n\nArgs:\n    payload (RestartAppContainer) -- the required data (app_name and variant_name)","operationId":"restart_docker_container_api_containers_restart_container__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestartAppContainer"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Restart Docker Container Api Containers Restart Container  Post","type":"object"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/containers/templates/":{"get":{"summary":"Container Templates","description":"Returns a list of templates available for creating new containers.\n\nParameters:\nstoken_session (SessionContainer): The session container for the user.\n\nReturns:\n\nUnion[List[Template], str]: A list of templates or an error message.","operationId":"container_templates_api_containers_templates__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Container Templates Api Containers Templates  Get","anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Template"}},{"type":"string"}]}}}}}}},"/api/containers/container_url/":{"get":{"summary":"Construct App Container Url","description":"Constructs the URL for an app container based on the provided base_id or variant_id.\n\nArgs:\n    base_id (Optional[str]): The ID of the base to use for the app container.\n    variant_id (Optional[str]): The ID of the variant to use for the app container.\n    stoken_session (SessionContainer): The session container for the user.\n\nReturns:\n    URI: The URI for the app container.\n\nRaises:\n    HTTPException: If the base or variant cannot be found or the user does not have access.","operationId":"construct_app_container_url_api_containers_container_url__get","parameters":[{"required":false,"schema":{"title":"Base Id","type":"string"},"name":"base_id","in":"query"},{"required":false,"schema":{"title":"Variant Id","type":"string"},"name":"variant_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/URI"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/environments/deploy/":{"post":{"summary":"Deploy To Environment","description":"Deploys a given variant to an environment\n\nArgs:\n    environment_name: Name of the environment to deploy to.\n    variant_id: variant id to deploy.\n    stoken_session: . Defaults to Depends(verify_session()).\n\nRaises:\n    HTTPException: If the deployment fails.","operationId":"deploy_to_environment_api_environments_deploy__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeployToEnvironmentPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/observability/traces/":{"post":{"summary":"Create Trace","operationId":"create_trace_api_observability_traces__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTrace"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Create Trace Api Observability Traces  Post","type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/observability/traces/{app_id}/{variant_id}/":{"get":{"summary":"Get Traces","operationId":"get_traces_api_observability_traces__app_id___variant_id___get","parameters":[{"required":true,"schema":{"title":"App Id","type":"string"},"name":"app_id","in":"path"},{"required":true,"schema":{"title":"Variant Id","type":"string"},"name":"variant_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Traces Api Observability Traces  App Id   Variant Id   Get","type":"array","items":{"$ref":"#/components/schemas/Trace"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/observability/traces/{trace_id}/":{"get":{"summary":"Get Trace","operationId":"get_trace_api_observability_traces__trace_id___get","parameters":[{"required":true,"schema":{"title":"Trace Id","type":"string"},"name":"trace_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Trace"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Update Trace Status","operationId":"update_trace_status_api_observability_traces__trace_id___put","parameters":[{"required":true,"schema":{"title":"Trace Id","type":"string"},"name":"trace_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTrace"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Update Trace Status Api Observability Traces  Trace Id   Put","type":"boolean"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/observability/spans/":{"post":{"summary":"Create Span","operationId":"create_span_api_observability_spans__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSpan"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Create Span Api Observability Spans  Post","type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/observability/spans/{trace_id}/":{"get":{"summary":"Get Spans Of Trace","operationId":"get_spans_of_trace_api_observability_spans__trace_id___get","parameters":[{"required":true,"schema":{"title":"Trace Id","type":"string"},"name":"trace_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Spans Of Trace Api Observability Spans  Trace Id   Get","type":"array","items":{"$ref":"#/components/schemas/Span"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/observability/feedbacks/{trace_id}/":{"get":{"summary":"Get Feedbacks","operationId":"get_feedbacks_api_observability_feedbacks__trace_id___get","parameters":[{"required":true,"schema":{"title":"Trace Id","type":"string"},"name":"trace_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Feedbacks Api Observability Feedbacks  Trace Id   Get","type":"array","items":{"$ref":"#/components/schemas/Feedback"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Feedback","operationId":"create_feedback_api_observability_feedbacks__trace_id___post","parameters":[{"required":true,"schema":{"title":"Trace Id","type":"string"},"name":"trace_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFeedback"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Create Feedback Api Observability Feedbacks  Trace Id   Post","type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/observability/feedbacks/{trace_id}/{feedback_id}/":{"get":{"summary":"Get Feedback","operationId":"get_feedback_api_observability_feedbacks__trace_id___feedback_id___get","parameters":[{"required":true,"schema":{"title":"Trace Id","type":"string"},"name":"trace_id","in":"path"},{"required":true,"schema":{"title":"Feedback Id","type":"string"},"name":"feedback_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feedback"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Update Feedback","operationId":"update_feedback_api_observability_feedbacks__trace_id___feedback_id___put","parameters":[{"required":true,"schema":{"title":"Trace Id","type":"string"},"name":"trace_id","in":"path"},{"required":true,"schema":{"title":"Feedback Id","type":"string"},"name":"feedback_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFeedback"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feedback"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/organizations/":{"get":{"summary":"List Organizations","description":"Returns a list of organizations associated with the user's session.\n\nArgs:\n    stoken_session (SessionContainer): The user's session token.\n\nReturns:\n    list[Organization]: A list of organizations associated with the user's session.\n\nRaises:\n    HTTPException: If there is an error retrieving the organizations from the database.","operationId":"list_organizations_api_organizations__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response List Organizations Api Organizations  Get","type":"array","items":{"$ref":"#/components/schemas/Organization"}}}}}}}},"/api/organizations/own/":{"get":{"summary":"Get User Organization","operationId":"get_user_organization_api_organizations_own__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/bases/":{"get":{"summary":"List Bases","description":"Retrieve a list of bases filtered by app_id and base_name.\n\nArgs:\n    request (Request): The incoming request.\n    app_id (Optional[str], optional): The ID of the app to filter by. Defaults to None.\n    base_name (Optional[str], optional): The name of the base to filter by. Defaults to None.\n\nReturns:\n    List[BaseOutput]: A list of BaseOutput objects representing the filtered bases.\n\nRaises:\n    HTTPException: If there was an error retrieving the bases.","operationId":"list_bases_api_bases__get","parameters":[{"required":false,"schema":{"title":"App Id","type":"string"},"name":"app_id","in":"query"},{"required":false,"schema":{"title":"Base Name","type":"string"},"name":"base_name","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response List Bases Api Bases  Get","type":"array","items":{"$ref":"#/components/schemas/BaseOutput"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/configs/":{"get":{"summary":"Get Config","operationId":"get_config_api_configs__get","parameters":[{"required":true,"schema":{"title":"Base Id","type":"string"},"name":"base_id","in":"query"},{"required":false,"schema":{"title":"Config Name","type":"string"},"name":"config_name","in":"query"},{"required":false,"schema":{"title":"Environment Name","type":"string"},"name":"environment_name","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetConfigReponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Save Config","operationId":"save_config_api_configs__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveConfigPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AICritiqueCreate":{"title":"AICritiqueCreate","required":["correct_answer","inputs","outputs"],"type":"object","properties":{"correct_answer":{"title":"Correct Answer","type":"string"},"llm_app_prompt_template":{"title":"Llm App Prompt Template","type":"string"},"inputs":{"title":"Inputs","type":"array","items":{"$ref":"#/components/schemas/EvaluationScenarioInput"}},"outputs":{"title":"Outputs","type":"array","items":{"$ref":"#/components/schemas/EvaluationScenarioOutput"}},"evaluation_prompt_template":{"title":"Evaluation Prompt Template","type":"string"},"open_ai_key":{"title":"Open Ai Key","type":"string"}}},"AddVariantFromBasePayload":{"title":"AddVariantFromBasePayload","required":["base_id","new_variant_name","new_config_name","parameters"],"type":"object","properties":{"base_id":{"title":"Base Id","type":"string"},"new_variant_name":{"title":"New Variant Name","type":"string"},"new_config_name":{"title":"New Config Name","type":"string"},"parameters":{"title":"Parameters","type":"object"}}},"AddVariantFromImagePayload":{"title":"AddVariantFromImagePayload","required":["variant_name","docker_id","tags"],"type":"object","properties":{"variant_name":{"title":"Variant Name","type":"string"},"docker_id":{"title":"Docker Id","type":"string"},"tags":{"title":"Tags","type":"string"},"base_name":{"title":"Base Name","type":"string"},"config_name":{"title":"Config Name","type":"string"}}},"App":{"title":"App","required":["app_id","app_name"],"type":"object","properties":{"app_id":{"title":"App Id","type":"string"},"app_name":{"title":"App Name","type":"string"}}},"AppVariantOutput":{"title":"AppVariantOutput","required":["app_id","app_name","variant_id","variant_name","organization_id","user_id","base_name","base_id","config_name","config_id"],"type":"object","properties":{"app_id":{"title":"App Id","type":"string"},"app_name":{"title":"App Name","type":"string"},"variant_id":{"title":"Variant Id","type":"string"},"variant_name":{"title":"Variant Name","type":"string"},"parameters":{"title":"Parameters","type":"object"},"previous_variant_name":{"title":"Previous Variant Name","type":"string"},"organization_id":{"title":"Organization Id","type":"string"},"user_id":{"title":"User Id","type":"string"},"base_name":{"title":"Base Name","type":"string"},"base_id":{"title":"Base Id","type":"string"},"config_name":{"title":"Config Name","type":"string"},"config_id":{"title":"Config Id","type":"string"},"uri":{"title":"Uri","type":"string"}}},"BaseOutput":{"title":"BaseOutput","required":["base_id","base_name"],"type":"object","properties":{"base_id":{"title":"Base Id","type":"string"},"base_name":{"title":"Base Name","type":"string"}}},"Body_build_image_api_containers_build_image__post":{"title":"Body_build_image_api_containers_build_image__post","required":["tar_file"],"type":"object","properties":{"tar_file":{"title":"Tar File","type":"string","format":"binary"}}},"Body_import_testset_api_testsets_endpoint__post":{"title":"Body_import_testset_api_testsets_endpoint__post","type":"object","properties":{"endpoint":{"title":"Endpoint","type":"string"},"testset_name":{"title":"Testset Name","type":"string"}}},"Body_start_variant_api_variants__variant_id___put":{"title":"Body_start_variant_api_variants__variant_id___put","required":["action"],"type":"object","properties":{"action":{"$ref":"#/components/schemas/VariantAction"},"env_vars":{"$ref":"#/components/schemas/DockerEnvVars"}}},"Body_upload_file_api_testsets_upload__post":{"title":"Body_upload_file_api_testsets_upload__post","required":["file"],"type":"object","properties":{"upload_type":{"title":"Upload Type","type":"string"},"file":{"title":"File","type":"string","format":"binary"},"testset_name":{"title":"Testset Name","type":"string"}}},"CreateApp":{"title":"CreateApp","required":["app_name"],"type":"object","properties":{"app_name":{"title":"App Name","type":"string"},"organization_id":{"title":"Organization Id","type":"string"}}},"CreateAppOutput":{"title":"CreateAppOutput","required":["app_id","app_name"],"type":"object","properties":{"app_id":{"title":"App Id","type":"string"},"app_name":{"title":"App Name","type":"string"}}},"CreateAppVariant":{"title":"CreateAppVariant","required":["app_name","template_id","env_vars"],"type":"object","properties":{"app_name":{"title":"App Name","type":"string"},"template_id":{"title":"Template Id","type":"string"},"env_vars":{"title":"Env Vars","type":"object","additionalProperties":{"type":"string"}},"organization_id":{"title":"Organization Id","type":"string"}}},"CreateCustomEvaluation":{"title":"CreateCustomEvaluation","required":["evaluation_name","python_code","app_id"],"type":"object","properties":{"evaluation_name":{"title":"Evaluation Name","type":"string"},"python_code":{"title":"Python Code","type":"string"},"app_id":{"title":"App Id","type":"string"}}},"CreateFeedback":{"title":"CreateFeedback","type":"object","properties":{"feedback":{"title":"Feedback","type":"string"},"score":{"title":"Score","type":"number"},"meta":{"title":"Meta","type":"object"}}},"CreateSpan":{"title":"CreateSpan","required":["event_name","start_time","status","end_time"],"type":"object","properties":{"parent_span_id":{"title":"Parent Span Id","type":"string"},"meta":{"title":"Meta","type":"object"},"event_name":{"title":"Event Name","type":"string"},"event_type":{"title":"Event Type","type":"string"},"start_time":{"title":"Start Time","type":"string","format":"date-time"},"duration":{"title":"Duration","type":"integer"},"status":{"title":"Status","type":"string"},"end_time":{"title":"End Time","type":"string","format":"date-time"},"inputs":{"title":"Inputs","type":"array","items":{"type":"string"}},"outputs":{"title":"Outputs","type":"array","items":{"type":"string"}},"prompt_template":{"title":"Prompt Template","type":"string"},"tokens_input":{"title":"Tokens Input","type":"integer"},"tokens_output":{"title":"Tokens Output","type":"integer"},"token_total":{"title":"Token Total","type":"integer"},"cost":{"title":"Cost","type":"number"},"tags":{"title":"Tags","type":"array","items":{"type":"string"}}}},"CreateTrace":{"title":"CreateTrace","required":["latency","status","start_time","end_time","spans"],"type":"object","properties":{"app_id":{"title":"App Id","type":"string"},"variant_id":{"title":"Variant Id","type":"string"},"cost":{"title":"Cost","type":"number"},"latency":{"title":"Latency","type":"number"},"status":{"title":"Status","type":"string"},"token_consumption":{"title":"Token Consumption","type":"integer"},"tags":{"title":"Tags","type":"array","items":{"type":"string"}},"start_time":{"title":"Start Time","type":"string","format":"date-time"},"end_time":{"title":"End Time","type":"string","format":"date-time"},"spans":{"title":"Spans","type":"array","items":{"type":"string"}}}},"CustomEvaluationDetail":{"title":"CustomEvaluationDetail","required":["id","app_id","evaluation_name","python_code","created_at","updated_at"],"type":"object","properties":{"id":{"title":"Id","type":"string"},"app_id":{"title":"App Id","type":"string"},"evaluation_name":{"title":"Evaluation Name","type":"string"},"python_code":{"title":"Python Code","type":"string"},"created_at":{"title":"Created At","type":"string","format":"date-time"},"updated_at":{"title":"Updated At","type":"string","format":"date-time"}}},"CustomEvaluationNames":{"title":"CustomEvaluationNames","required":["id","evaluation_name"],"type":"object","properties":{"id":{"title":"Id","type":"string"},"evaluation_name":{"title":"Evaluation Name","type":"string"}}},"CustomEvaluationOutput":{"title":"CustomEvaluationOutput","required":["id","app_id","evaluation_name","created_at"],"type":"object","properties":{"id":{"title":"Id","type":"string"},"app_id":{"title":"App Id","type":"string"},"evaluation_name":{"title":"Evaluation Name","type":"string"},"created_at":{"title":"Created At","type":"string","format":"date-time"}}},"DeleteEvaluation":{"title":"DeleteEvaluation","required":["evaluations_ids"],"type":"object","properties":{"evaluations_ids":{"title":"Evaluations Ids","type":"array","items":{"type":"string"}}}},"DeleteTestsets":{"title":"DeleteTestsets","required":["testset_ids"],"type":"object","properties":{"testset_ids":{"title":"Testset Ids","type":"array","items":{"type":"string"}}}},"DeployToEnvironmentPayload":{"title":"DeployToEnvironmentPayload","required":["environment_name","variant_id"],"type":"object","properties":{"environment_name":{"title":"Environment Name","type":"string"},"variant_id":{"title":"Variant Id","type":"string"}}},"DockerEnvVars":{"title":"DockerEnvVars","required":["env_vars"],"type":"object","properties":{"env_vars":{"title":"Env Vars","type":"object","additionalProperties":{"type":"string"}}}},"EnvironmentOutput":{"title":"EnvironmentOutput","required":["name","app_id"],"type":"object","properties":{"name":{"title":"Name","type":"string"},"app_id":{"title":"App Id","type":"string"},"deployed_app_variant_id":{"title":"Deployed App Variant Id","type":"string"},"deployed_variant_name":{"title":"Deployed Variant Name","type":"string"}}},"Evaluation":{"title":"Evaluation","required":["id","app_id","user_id","user_username","evaluation_type","variant_ids","variant_names","testset_id","testset_name","status","created_at","updated_at"],"type":"object","properties":{"id":{"title":"Id","type":"string"},"app_id":{"title":"App Id","type":"string"},"user_id":{"title":"User Id","type":"string"},"user_username":{"title":"User Username","type":"string"},"evaluation_type":{"$ref":"#/components/schemas/EvaluationType"},"evaluation_type_settings":{"$ref":"#/components/schemas/EvaluationTypeSettings"},"variant_ids":{"title":"Variant Ids","type":"array","items":{"type":"string"}},"variant_names":{"title":"Variant Names","type":"array","items":{"type":"string"}},"testset_id":{"title":"Testset Id","type":"string"},"testset_name":{"title":"Testset Name","type":"string"},"status":{"title":"Status","type":"string"},"created_at":{"title":"Created At","type":"string","format":"date-time"},"updated_at":{"title":"Updated At","type":"string","format":"date-time"}}},"EvaluationScenario":{"title":"EvaluationScenario","required":["evaluation_id","inputs","outputs"],"type":"object","properties":{"id":{"title":"Id","type":"string"},"evaluation_id":{"title":"Evaluation Id","type":"string"},"inputs":{"title":"Inputs","type":"array","items":{"$ref":"#/components/schemas/EvaluationScenarioInput"}},"outputs":{"title":"Outputs","type":"array","items":{"$ref":"#/components/schemas/EvaluationScenarioOutput"}},"vote":{"title":"Vote","type":"string"},"score":{"title":"Score","type":"string"},"evaluation":{"title":"Evaluation","type":"string"},"correct_answer":{"title":"Correct Answer","type":"string"},"is_pinned":{"title":"Is Pinned","type":"boolean"},"note":{"title":"Note","type":"string"}}},"EvaluationScenarioInput":{"title":"EvaluationScenarioInput","required":["input_name","input_value"],"type":"object","properties":{"input_name":{"title":"Input Name","type":"string"},"input_value":{"title":"Input Value","type":"string"}}},"EvaluationScenarioOutput":{"title":"EvaluationScenarioOutput","required":["variant_id","variant_output"],"type":"object","properties":{"variant_id":{"title":"Variant Id","type":"string"},"variant_output":{"title":"Variant Output","type":"string"}}},"EvaluationScenarioScoreUpdate":{"title":"EvaluationScenarioScoreUpdate","required":["score"],"type":"object","properties":{"score":{"title":"Score","type":"number"}}},"EvaluationScenarioUpdate":{"title":"EvaluationScenarioUpdate","type":"object","properties":{"vote":{"title":"Vote","type":"string"},"score":{"title":"Score","type":"string"},"correct_answer":{"title":"Correct Answer","type":"string"},"outputs":{"title":"Outputs","type":"array","items":{"$ref":"#/components/schemas/EvaluationScenarioOutput"}},"inputs":{"title":"Inputs","type":"array","items":{"$ref":"#/components/schemas/EvaluationScenarioInput"}},"is_pinned":{"title":"Is Pinned","type":"boolean"},"note":{"title":"Note","type":"string"}}},"EvaluationStatusEnum":{"title":"EvaluationStatusEnum","enum":["EVALUATION_INITIALIZED","EVALUATION_STARTED","COMPARISON_RUN_STARTED","EVALUATION_FINISHED"],"type":"string","description":"An enumeration."},"EvaluationType":{"title":"EvaluationType","enum":["auto_exact_match","auto_similarity_match","auto_regex_test","auto_webhook_test","auto_ai_critique","human_a_b_testing","human_scoring","custom_code_run"],"type":"string","description":"An enumeration."},"EvaluationTypeSettings":{"title":"EvaluationTypeSettings","type":"object","properties":{"similarity_threshold":{"title":"Similarity Threshold","type":"number"},"regex_pattern":{"title":"Regex Pattern","type":"string"},"regex_should_match":{"title":"Regex Should Match","type":"boolean"},"webhook_url":{"title":"Webhook Url","type":"string"},"custom_code_evaluation_id":{"title":"Custom Code Evaluation Id","type":"string"},"llm_app_prompt_template":{"title":"Llm App Prompt Template","type":"string"},"evaluation_prompt_template":{"title":"Evaluation Prompt Template","type":"string"}}},"EvaluationUpdate":{"title":"EvaluationUpdate","type":"object","properties":{"status":{"$ref":"#/components/schemas/EvaluationStatusEnum"},"evaluation_type_settings":{"$ref":"#/components/schemas/EvaluationTypeSettings"}}},"EvaluationWebhook":{"title":"EvaluationWebhook","required":["score"],"type":"object","properties":{"score":{"title":"Score","type":"number"}}},"ExecuteCustomEvaluationCode":{"title":"ExecuteCustomEvaluationCode","required":["inputs","app_id","variant_id","correct_answer","outputs"],"type":"object","properties":{"inputs":{"title":"Inputs","type":"array","items":{"type":"object"}},"app_id":{"title":"App Id","type":"string"},"variant_id":{"title":"Variant Id","type":"string"},"correct_answer":{"title":"Correct Answer","type":"string"},"outputs":{"title":"Outputs","type":"array","items":{"type":"object"}}}},"Feedback":{"title":"Feedback","required":["feedback_id"],"type":"object","properties":{"feedback":{"title":"Feedback","type":"string"},"score":{"title":"Score","type":"number"},"meta":{"title":"Meta","type":"object"},"feedback_id":{"title":"Feedback Id","type":"string"},"created_at":{"title":"Created At","type":"string","format":"date-time"}}},"GetConfigReponse":{"title":"GetConfigReponse","required":["config_id","config_name","current_version","parameters"],"type":"object","properties":{"config_id":{"title":"Config Id","type":"string"},"config_name":{"title":"Config Name","type":"string"},"current_version":{"title":"Current Version","type":"integer"},"parameters":{"title":"Parameters","type":"object"}}},"HTTPValidationError":{"title":"HTTPValidationError","type":"object","properties":{"detail":{"title":"Detail","type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}}},"Image":{"title":"Image","required":["docker_id","tags"],"type":"object","properties":{"docker_id":{"title":"Docker Id","type":"string"},"tags":{"title":"Tags","type":"string"},"organization_id":{"title":"Organization Id","type":"string"}}},"NewEvaluation":{"title":"NewEvaluation","required":["app_id","variant_ids","evaluation_type","inputs","testset_id","status"],"type":"object","properties":{"app_id":{"title":"App Id","type":"string"},"variant_ids":{"title":"Variant Ids","type":"array","items":{"type":"string"}},"evaluation_type":{"$ref":"#/components/schemas/EvaluationType"},"evaluation_type_settings":{"$ref":"#/components/schemas/EvaluationTypeSettings"},"inputs":{"title":"Inputs","type":"array","items":{"type":"string"}},"testset_id":{"title":"Testset Id","type":"string"},"status":{"title":"Status","type":"string"}}},"NewTestset":{"title":"NewTestset","required":["name","csvdata"],"type":"object","properties":{"name":{"title":"Name","type":"string"},"csvdata":{"title":"Csvdata","type":"array","items":{"type":"object","additionalProperties":{"type":"string"}}}}},"Organization":{"title":"Organization","required":["name","owner"],"type":"object","properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"description":{"title":"Description","type":"string"},"type":{"title":"Type","type":"string"},"owner":{"title":"Owner","type":"string"},"members":{"title":"Members","type":"array","items":{"type":"string"}},"invitations":{"title":"Invitations","type":"array","items":{}}}},"RestartAppContainer":{"title":"RestartAppContainer","required":["variant_id"],"type":"object","properties":{"variant_id":{"title":"Variant Id","type":"string"}}},"SaveConfigPayload":{"title":"SaveConfigPayload","required":["base_id","config_name","parameters","overwrite"],"type":"object","properties":{"base_id":{"title":"Base Id","type":"string"},"config_name":{"title":"Config Name","type":"string"},"parameters":{"title":"Parameters","type":"object"},"overwrite":{"title":"Overwrite","type":"boolean"}}},"SimpleEvaluationOutput":{"title":"SimpleEvaluationOutput","required":["id","variant_ids","app_id","status","evaluation_type"],"type":"object","properties":{"id":{"title":"Id","type":"string"},"variant_ids":{"title":"Variant Ids","type":"array","items":{"type":"string"}},"app_id":{"title":"App Id","type":"string"},"status":{"title":"Status","type":"string"},"evaluation_type":{"$ref":"#/components/schemas/EvaluationType"}}},"Span":{"title":"Span","required":["event_name","start_time","status","end_time","span_id"],"type":"object","properties":{"parent_span_id":{"title":"Parent Span Id","type":"string"},"meta":{"title":"Meta","type":"object"},"event_name":{"title":"Event Name","type":"string"},"event_type":{"title":"Event Type","type":"string"},"start_time":{"title":"Start Time","type":"string","format":"date-time"},"duration":{"title":"Duration","type":"integer"},"status":{"title":"Status","type":"string"},"end_time":{"title":"End Time","type":"string","format":"date-time"},"inputs":{"title":"Inputs","type":"array","items":{"type":"string"}},"outputs":{"title":"Outputs","type":"array","items":{"type":"string"}},"prompt_template":{"title":"Prompt Template","type":"string"},"tokens_input":{"title":"Tokens Input","type":"integer"},"tokens_output":{"title":"Tokens Output","type":"integer"},"token_total":{"title":"Token Total","type":"integer"},"cost":{"title":"Cost","type":"number"},"tags":{"title":"Tags","type":"array","items":{"type":"string"}},"span_id":{"title":"Span Id","type":"string"}}},"Template":{"title":"Template","required":["id","image"],"type":"object","properties":{"id":{"title":"Id","type":"string"},"image":{"$ref":"#/components/schemas/TemplateImageInfo"}}},"TemplateImageInfo":{"title":"TemplateImageInfo","required":["name","size","digest","title","description","last_pushed","repo_name"],"type":"object","properties":{"name":{"title":"Name","type":"string"},"size":{"title":"Size","type":"integer"},"digest":{"title":"Digest","type":"string"},"title":{"title":"Title","type":"string"},"description":{"title":"Description","type":"string"},"last_pushed":{"title":"Last Pushed","type":"string","format":"date-time"},"repo_name":{"title":"Repo Name","type":"string"}}},"TestSetOutputResponse":{"title":"TestSetOutputResponse","required":["_id","name","created_at"],"type":"object","properties":{"_id":{"title":" Id","type":"string"},"name":{"title":"Name","type":"string"},"created_at":{"title":"Created At","type":"string","format":"date-time"}}},"TestSetSimpleResponse":{"title":"TestSetSimpleResponse","required":["id","name","created_at"],"type":"object","properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"created_at":{"title":"Created At","type":"string"}}},"Trace":{"title":"Trace","required":["latency","status","start_time","end_time","trace_id","spans"],"type":"object","properties":{"app_id":{"title":"App Id","type":"string"},"variant_id":{"title":"Variant Id","type":"string"},"cost":{"title":"Cost","type":"number"},"latency":{"title":"Latency","type":"number"},"status":{"title":"Status","type":"string"},"token_consumption":{"title":"Token Consumption","type":"integer"},"tags":{"title":"Tags","type":"array","items":{"type":"string"}},"start_time":{"title":"Start Time","type":"string","format":"date-time"},"end_time":{"title":"End Time","type":"string","format":"date-time"},"trace_id":{"title":"Trace Id","type":"string"},"spans":{"title":"Spans","type":"array","items":{"type":"string"}},"feedbacks":{"title":"Feedbacks","type":"array","items":{"$ref":"#/components/schemas/Feedback"}}}},"URI":{"title":"URI","required":["uri"],"type":"object","properties":{"uri":{"title":"Uri","type":"string"}}},"UpdateFeedback":{"title":"UpdateFeedback","required":["feedback"],"type":"object","properties":{"feedback":{"title":"Feedback","type":"string"},"score":{"title":"Score","type":"number"},"meta":{"title":"Meta","type":"object"}}},"UpdateTrace":{"title":"UpdateTrace","required":["status"],"type":"object","properties":{"status":{"title":"Status","type":"string"}}},"UpdateVariantParameterPayload":{"title":"UpdateVariantParameterPayload","required":["parameters"],"type":"object","properties":{"parameters":{"title":"Parameters","type":"object"}}},"ValidationError":{"title":"ValidationError","required":["loc","msg","type"],"type":"object","properties":{"loc":{"title":"Location","type":"array","items":{"anyOf":[{"type":"string"},{"type":"integer"}]}},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}}},"VariantAction":{"title":"VariantAction","required":["action"],"type":"object","properties":{"action":{"$ref":"#/components/schemas/VariantActionEnum"}}},"VariantActionEnum":{"title":"VariantActionEnum","enum":["START","STOP"],"type":"string","description":"An enumeration."}}}}