Galileo Technologies jobs API

The jobs API from Galileo Technologies — 1 operation(s) for jobs.

OpenAPI Specification

galileo-technologies-jobs-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Galileo API Server annotation jobs API
  version: 1.1085.0
servers:
- url: https://api.galileo.ai
  description: Galileo API Server - galileo-v2
tags:
- name: jobs
paths:
  /jobs:
    post:
      tags:
      - jobs
      summary: Create Job
      description: Create a job for a project run and enqueue it for processing.
      operationId: create_job_jobs_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateJobRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateJobResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - ClassicAPIKeyHeader: []
      - APIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
components:
  schemas:
    BaseScorer:
      properties:
        scorer_name:
          type: string
          title: Scorer Name
          default: ''
        name:
          type: string
          title: Name
          default: ''
        scores:
          anyOf:
          - items: {}
            type: array
          - type: 'null'
          title: Scores
        indices:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Indices
        aggregates:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Aggregates
        aggregate_keys:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Aggregate Keys
        extra:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Extra
        sub_scorers:
          items:
            $ref: '#/components/schemas/promptgalileo__schemas__scorer_name__ScorerName'
          type: array
          title: Sub Scorers
        filters:
          anyOf:
          - items:
              oneOf:
              - $ref: '#/components/schemas/NodeNameFilter'
              - $ref: '#/components/schemas/MetadataFilter'
              - $ref: '#/components/schemas/ModalityFilter'
              discriminator:
                propertyName: name
                mapping:
                  metadata: '#/components/schemas/MetadataFilter'
                  modality: '#/components/schemas/ModalityFilter'
                  node_name: '#/components/schemas/NodeNameFilter'
            type: array
          - type: 'null'
          title: Filters
        metric_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Metric Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        chainpoll_template:
          anyOf:
          - $ref: '#/components/schemas/ChainPollTemplate'
          - type: 'null'
        model_alias:
          anyOf:
          - type: string
          - type: 'null'
          title: Model Alias
        num_judges:
          anyOf:
          - type: integer
          - type: 'null'
          title: Num Judges
        default_model_alias:
          anyOf:
          - type: string
          - type: 'null'
          title: Default Model Alias
        ground_truth:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Ground Truth
        regex_field:
          type: string
          title: Regex Field
          default: ''
        registered_scorer_id:
          anyOf:
          - type: string
            format: uuid4
          - type: 'null'
          title: Registered Scorer Id
        generated_scorer_id:
          anyOf:
          - type: string
            format: uuid4
          - type: 'null'
          title: Generated Scorer Id
        scorer_version_id:
          anyOf:
          - type: string
            format: uuid4
          - type: 'null'
          title: Scorer Version Id
        user_code:
          anyOf:
          - type: string
          - type: 'null'
          title: User Code
        can_copy_to_llm:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Can Copy To Llm
        scoreable_node_types:
          anyOf:
          - items:
              $ref: '#/components/schemas/NodeType'
            type: array
          - type: 'null'
          title: Scoreable Node Types
        cot_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Cot Enabled
        output_type:
          anyOf:
          - $ref: '#/components/schemas/OutputTypeEnum'
          - type: 'null'
        input_type:
          anyOf:
          - $ref: '#/components/schemas/InputTypeEnum'
          - type: 'null'
        multimodal_capabilities:
          anyOf:
          - items:
              $ref: '#/components/schemas/MultimodalCapability'
            type: array
          - type: 'null'
          title: Multimodal Capabilities
        requires_tools_in_llm_span:
          type: boolean
          title: Requires Tools In Llm Span
          default: false
        required_scorers:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Required Scorers
        required_metric_ids:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Required Metric Ids
        roll_up_strategy:
          anyOf:
          - $ref: '#/components/schemas/RollUpStrategy'
          - type: 'null'
        roll_up_methods:
          anyOf:
          - items:
              $ref: '#/components/schemas/NumericRollUpMethod'
            type: array
          - items:
              $ref: '#/components/schemas/CategoricalRollUpMethod'
            type: array
          - type: 'null'
          title: Roll Up Methods
        prompt:
          anyOf:
          - type: string
          - type: 'null'
          title: Prompt
        lora_task_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Lora Task Id
        lora_weights_path:
          anyOf:
          - type: string
          - type: 'null'
          title: Lora Weights Path
        luna_input_type:
          anyOf:
          - $ref: '#/components/schemas/LunaInputTypeEnum'
          - type: 'null'
        luna_output_type:
          anyOf:
          - $ref: '#/components/schemas/LunaOutputTypeEnum'
          - type: 'null'
        class_name_to_vocab_ix:
          anyOf:
          - additionalProperties:
              items:
                type: integer
              type: array
              uniqueItems: true
            type: object
          - additionalProperties:
              type: integer
            type: object
          - type: 'null'
          title: Class Name To Vocab Ix
        scorer_path_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Scorer Path Name
      type: object
      title: BaseScorer
    PromptRunSettings-Input:
      properties:
        logprobs:
          type: boolean
          title: Logprobs
          default: true
        top_logprobs:
          type: integer
          title: Top Logprobs
          default: 5
        echo:
          type: boolean
          title: Echo
          default: false
        n:
          type: integer
          title: N
          default: 1
        reasoning_effort:
          type: string
          title: Reasoning Effort
          default: medium
        verbosity:
          type: string
          title: Verbosity
          default: medium
        deployment_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Deployment Name
        model_alias:
          type: string
          title: Model Alias
          default: gpt-5.1
        temperature:
          anyOf:
          - type: number
          - type: 'null'
          title: Temperature
        max_tokens:
          type: integer
          title: Max Tokens
          default: 4096
        stop_sequences:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Stop Sequences
        top_p:
          type: number
          title: Top P
          default: 1.0
        top_k:
          type: integer
          title: Top K
          default: 40
        frequency_penalty:
          type: number
          title: Frequency Penalty
          default: 0.0
        presence_penalty:
          type: number
          title: Presence Penalty
          default: 0.0
        tools:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          title: Tools
        tool_choice:
          anyOf:
          - type: string
          - $ref: '#/components/schemas/OpenAIToolChoice'
          - type: 'null'
          title: Tool Choice
        response_format:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          title: Response Format
        known_models:
          items:
            $ref: '#/components/schemas/Model'
          type: array
          title: Known Models
      type: object
      title: PromptRunSettings
      description: Prompt run settings.
    ScorersConfiguration:
      properties:
        latency:
          type: boolean
          title: Latency
          default: true
        cost:
          type: boolean
          title: Cost
          default: true
        pii:
          type: boolean
          title: Pii
          default: false
        input_pii:
          type: boolean
          title: Input Pii
          default: false
        protect_status:
          type: boolean
          title: Protect Status
          default: true
        context_relevance:
          type: boolean
          title: Context Relevance
          default: false
        toxicity:
          type: boolean
          title: Toxicity
          default: false
        input_toxicity:
          type: boolean
          title: Input Toxicity
          default: false
        tone:
          type: boolean
          title: Tone
          default: false
        input_tone:
          type: boolean
          title: Input Tone
          default: false
        sexist:
          type: boolean
          title: Sexist
          default: false
        input_sexist:
          type: boolean
          title: Input Sexist
          default: false
        prompt_injection:
          type: boolean
          title: Prompt Injection
          default: false
        adherence_nli:
          type: boolean
          title: Adherence Nli
          default: false
        chunk_attribution_utilization_nli:
          type: boolean
          title: Chunk Attribution Utilization Nli
          default: false
        context_adherence_luna:
          type: boolean
          title: Context Adherence Luna
          default: false
        context_relevance_luna:
          type: boolean
          title: Context Relevance Luna
          default: false
        chunk_relevance_luna:
          type: boolean
          title: Chunk Relevance Luna
          default: false
        completeness_luna:
          type: boolean
          title: Completeness Luna
          default: false
        completeness_nli:
          type: boolean
          title: Completeness Nli
          default: false
        tool_error_rate_luna:
          type: boolean
          title: Tool Error Rate Luna
          default: false
        tool_selection_quality_luna:
          type: boolean
          title: Tool Selection Quality Luna
          default: false
        action_completion_luna:
          type: boolean
          title: Action Completion Luna
          default: false
        action_advancement_luna:
          type: boolean
          title: Action Advancement Luna
          default: false
        factuality:
          type: boolean
          title: Factuality
          default: false
        groundedness:
          type: boolean
          title: Groundedness
          default: false
        chunk_attribution_utilization_gpt:
          type: boolean
          title: Chunk Attribution Utilization Gpt
          default: false
        completeness_gpt:
          type: boolean
          title: Completeness Gpt
          default: false
        instruction_adherence:
          type: boolean
          title: Instruction Adherence
          default: false
        ground_truth_adherence:
          type: boolean
          title: Ground Truth Adherence
          default: false
        tool_selection_quality:
          type: boolean
          title: Tool Selection Quality
          default: false
        tool_error_rate:
          type: boolean
          title: Tool Error Rate
          default: false
        agentic_session_success:
          type: boolean
          title: Agentic Session Success
          default: false
        agentic_workflow_success:
          type: boolean
          title: Agentic Workflow Success
          default: false
        prompt_injection_gpt:
          type: boolean
          title: Prompt Injection Gpt
          default: false
        sexist_gpt:
          type: boolean
          title: Sexist Gpt
          default: false
        input_sexist_gpt:
          type: boolean
          title: Input Sexist Gpt
          default: false
        toxicity_gpt:
          type: boolean
          title: Toxicity Gpt
          default: false
        input_toxicity_gpt:
          type: boolean
          title: Input Toxicity Gpt
          default: false
      type: object
      title: ScorersConfiguration
      description: 'Configure which scorers to enable for a particular prompt run.


        The keys here are sorted by their approximate execution time to execute the scorers that we anticipate will be the

        fastest first, and the slowest last.'
    BaseScorerVersionDB:
      properties:
        id:
          type: string
          format: uuid4
          title: Id
        version:
          type: integer
          title: Version
        scorer_id:
          type: string
          format: uuid4
          title: Scorer Id
        generated_scorer:
          anyOf:
          - $ref: '#/components/schemas/BaseGeneratedScorerDB'
          - type: 'null'
        registered_scorer:
          anyOf:
          - $ref: '#/components/schemas/BaseRegisteredScorerDB'
          - type: 'null'
        finetuned_scorer:
          anyOf:
          - $ref: '#/components/schemas/BaseFinetunedScorerDB'
          - type: 'null'
        model_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Model Name
        num_judges:
          anyOf:
          - type: integer
          - type: 'null'
          title: Num Judges
        scoreable_node_types:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Scoreable Node Types
          description: List of node types that can be scored by this scorer. Defaults to llm/chat.
        cot_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Cot Enabled
          description: Whether to enable chain of thought for this scorer. Defaults to False for llm scorers.
        output_type:
          anyOf:
          - $ref: '#/components/schemas/OutputTypeEnum'
          - type: 'null'
          description: What type of output to use for model-based scorers (sessions_normalized, trace_io_only, etc.).
        input_type:
          anyOf:
          - $ref: '#/components/schemas/InputTypeEnum'
          - type: 'null'
          description: What type of input to use for model-based scorers (sessions_normalized, trace_io_only, etc.).
      type: object
      required:
      - id
      - version
      - scorer_id
      title: BaseScorerVersionDB
      description: Scorer version from the scorer_versions table.
    RollUpStrategy:
      type: string
      enum:
      - avg
      - sum
      - first
      - last
      - none
      title: RollUpStrategy
      description: Strategies for rolling metrics up the Session/Trace/Span hierarchy.
    OutputTypeEnum:
      type: string
      enum:
      - boolean
      - categorical
      - count
      - discrete
      - freeform
      - percentage
      - multilabel
      - retrieved_chunk_list_boolean
      - boolean_multilabel
      title: OutputTypeEnum
      description: Enumeration of output types.
    Model:
      properties:
        name:
          type: string
          title: Name
        alias:
          type: string
          title: Alias
        integration:
          $ref: '#/components/schemas/LLMIntegration'
          default: openai
        user_role:
          anyOf:
          - type: string
          - type: 'null'
          title: User Role
        assistant_role:
          anyOf:
          - type: string
          - type: 'null'
          title: Assistant Role
        system_supported:
          type: boolean
          title: System Supported
          default: false
        input_modalities:
          items:
            $ref: '#/components/schemas/ContentModality'
          type: array
          title: Input Modalities
          description: Input modalities that the model can accept.
        alternative_names:
          items:
            type: string
          type: array
          title: Alternative Names
          description: Alternative names for the model, used for matching with various current, versioned or legacy names.
        input_token_limit:
          anyOf:
          - type: integer
          - type: 'null'
          title: Input Token Limit
        output_token_limit:
          anyOf:
          - type: integer
          - type: 'null'
          title: Output Token Limit
        token_limit:
          anyOf:
          - type: integer
          - type: 'null'
          title: Token Limit
        cost_by:
          $ref: '#/components/schemas/ModelCostBy'
          default: tokens
        is_chat:
          type: boolean
          title: Is Chat
          default: false
        provides_log_probs:
          type: boolean
          title: Provides Log Probs
          default: false
        formatting_tokens:
          type: integer
          title: Formatting Tokens
          default: 0
        response_prefix_tokens:
          type: integer
          title: Response Prefix Tokens
          default: 0
        api_version:
          anyOf:
          - type: string
          - type: 'null'
          title: Api Version
        legacy_mistral_prompt_format:
          type: boolean
          title: Legacy Mistral Prompt Format
          default: false
        requires_max_tokens:
          type: boolean
          title: Requires Max Tokens
          default: false
        max_top_p:
          anyOf:
          - type: number
          - type: 'null'
          title: Max Top P
        params_map:
          $ref: '#/components/schemas/RunParamsMap'
        output_map:
          anyOf:
          - $ref: '#/components/schemas/OutputMap'
          - type: 'null'
        input_map:
          anyOf:
          - $ref: '#/components/schemas/InputMap'
          - type: 'null'
      type: object
      required:
      - name
      - alias
      title: Model
    ContextAdherenceScorer:
      properties:
        name:
          type: string
          const: context_adherence
          title: Name
          default: context_adherence
        filters:
          anyOf:
          - items:
              oneOf:
              - $ref: '#/components/schemas/NodeNameFilter'
              - $ref: '#/components/schemas/MetadataFilter'
              - $ref: '#/components/schemas/ModalityFilter'
              discriminator:
                propertyName: name
                mapping:
                  metadata: '#/components/schemas/MetadataFilter'
                  modality: '#/components/schemas/ModalityFilter'
                  node_name: '#/components/schemas/NodeNameFilter'
            type: array
          - type: 'null'
          title: Filters
          description: List of filters to apply to the scorer.
        type:
          type: string
          enum:
          - luna
          - plus
          title: Type
          default: luna
        model_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Model Name
          description: Alias of the model to use for the scorer.
        num_judges:
          anyOf:
          - type: integer
            maximum: 10.0
            minimum: 1.0
          - type: 'null'
          title: Num Judges
          description: Number of judges for the scorer.
      type: object
      title: ContextAdherenceScorer
    CustomizedCompletenessGPTScorer:
      properties:
        scorer_name:
          type: string
          const: _customized_completeness_gpt
          title: Scorer Name
          default: _customized_completeness_gpt
        model_alias:
          type: string
          title: Model Alias
          default: gpt-4.1-mini
        num_judges:
          type: integer
          title: Num Judges
          default: 3
        name:
          type: string
          const: completeness
          title: Name
          default: completeness
        scores:
          anyOf:
          - items: {}
            type: array
          - type: 'null'
          title: Scores
        indices:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Indices
        aggregates:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Aggregates
        aggregate_keys:
          items:
            type: string
          type: array
          title: Aggregate Keys
          default:
          - average_completeness_gpt
        extra:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Extra
        sub_scorers:
          items:
            $ref: '#/components/schemas/promptgalileo__schemas__scorer_name__ScorerName'
          type: array
          title: Sub Scorers
        filters:
          anyOf:
          - items:
              oneOf:
              - $ref: '#/components/schemas/NodeNameFilter'
              - $ref: '#/components/schemas/MetadataFilter'
              - $ref: '#/components/schemas/ModalityFilter'
              discriminator:
                propertyName: name
                mapping:
                  metadata: '#/components/schemas/MetadataFilter'
                  modality: '#/components/schemas/ModalityFilter'
                  node_name: '#/components/schemas/NodeNameFilter'
            type: array
          - type: 'null'
          title: Filters
        metric_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Metric Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        chainpoll_template:
          $ref: '#/components/schemas/CompletenessTemplate'
          default:
            value_field_name: completeness
            explanation_field_name: explanation
            template: "I asked someone to answer a question based on one or more documents. On a scale of 0 to 1, tell me how well their response covered the relevant information from the documents.\n\nHere is what I said to them, as a JSON string:\n\n```\n{query_json}\n```\n\nHere is what they told me, as a JSON string:\n\n```\n{response_json}\n```\n\nRespond in the following JSON format:\n\n```\n{{\n    \"explanation\": string,\n    \"completeness\": number\n}}\n```\n\n\"explanation\": A string with your step-by-step reasoning process. List out each piece of information covered in the documents. For each one, explain why it was or was not relevant to the question, and how well the response covered it. Do *not* give an overall assessment of the response here, just think step by step about each piece of information, one at a time. Present your work in a document-by-document format, considering each document separately, ensure the value is a valid string.\n\n\"completeness\": A floating-point number rating the Completeness of the response on a scale of 0 to 1. This number should equal the amount of relevant information that was comprehensively covered in the response, divided by the total amount of relevant information in the documents.\n\nYou must respond with a valid JSON string."
            metric_few_shot_examples: []
        default_model_alias:
          anyOf:
          - type: string
          - type: 'null'
          title: Default Model Alias
        ground_truth:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Ground Truth
        regex_field:
          type: string
          title: Regex Field
          default: ''
        registered_scorer_id:
          anyOf:
          - type: string
            format: uuid4
          - type: 'null'
          title: Registered Scorer Id
        generated_scorer_id:
          anyOf:
          - type: string
            format: uuid4
          - type: 'null'
          title: Generated Scorer Id
        scorer_version_id:
          anyOf:
          - type: string
            format: uuid4
          - type: 'null'
          title: Scorer Version Id
        user_code:
          anyOf:
          - type: string
          - type: 'null'
          title: User Code
        can_copy_to_llm:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Can Copy To Llm
        scoreable_node_types:
          anyOf:
          - items:
              $ref: '#/components/schemas/NodeType'
            type: array
          - type: 'null'
          title: Scoreable Node Types
        cot_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Cot Enabled
        output_type:
          anyOf:
          - $ref: '#/components/schemas/OutputTypeEnum'
          - type: 'null'
        input_type:
          anyOf:
          - $ref: '#/components/schemas/InputTypeEnum'
          - type: 'null'
        multimodal_capabilities:
          anyOf:
          - items:
              $ref: '#/components/schemas/MultimodalCapability'
            type: array
          - type: 'null'
          title: Multimodal Capabilities
        requires_tools_in_llm_span:
          type: boolean
          title: Requires Tools In Llm Span
          default: false
        required_scorers:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Required Scorers
        required_metric_ids:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Required Metric Ids
        roll_up_strategy:
          anyOf:
          - $ref: '#/components/schemas/RollUpStrategy'
          - type: 'null'
        roll_up_methods:
          anyOf:
          - items:
              $ref: '#/components/schemas/NumericRollUpMethod'
            type: array
          - items:
              $ref: '#/components/schemas/CategoricalRollUpMethod'
            type: array
          - type: 'null'
          title: Roll Up Methods
        prompt:
          anyOf:
          - type: string
          - type: 'null'
          title: Prompt
        lora_task_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Lora Task Id
        lora_weights_path:
          anyOf:
          - type: string
          - type: 'null'
          title: Lora Weights Path
        luna_input_type:
          anyOf:
          - $ref: '#/components/schemas/LunaInputTypeEnum'
          - type: 'null'
        luna_output_type:
          anyOf:
          - $ref: '#/components/schemas/LunaOutputTypeEnum'
          - type: 'null'
        class_name_to_vocab_ix:
          anyOf:
          - additionalProperties:
              items:
                type: integer
              type: array
              uniqueItems: true
            type: object
          - additionalProperties:
              type: integer
            type: object
          - type: 'null'
          title: Class Name To Vocab Ix
        scorer_path_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Scorer Path Name
      type: object
      title: CustomizedCompletenessGPTScorer
    AgenticWorkflowSuccessTemplate:
      properties:
        metric_system_prompt:
          type: string
          title: Metric System Prompt
          default: "You will receive the chat history from a chatbot application between a user and an AI. At the end of the chat history, it is AI’s turn to act.\n\nIn the chat history, the user can either ask questions, which are answered with words, or make requests that require calling tools and actions to resolve. Sometimes these are given as orders, and these should be treated as questions or requests. The AI's turn may involve several steps which are a combination of internal reflections, planning, selecting tools, calling tools, and ends with the AI replying to the user. \nYour task involves the following steps:\n\n########################\n\nStep 1: user_last_input and user_ask\n\nFirst, identify the user's last input in the chat history. From this input, create a list with one entry for each user question, request, or order. If there are no user asks in the user's last input, leave the list empty and skip ahead, considering the AI's turn successful.\n\n########################\n\nStep 2: ai_final_response and answer_or_resolution\n\nIdentify the AI's final response to the user: it is the very last step in the AI's turn.\n\nFor every user_ask, focus on ai_final_response and try to extract either an answer or a resolution using the following definitions:\n- An answer is a part of the AI's final response that directly responds to all or part of a user's question, or asks for further information or clarification.\n- A resolution is a part of the AI's final response that confirms a successful resolution, or asks for further information or clarification in order to answer a user's request.\n\nIf the AI's final response does not address the user ask, simply write \"No answer or resolution provided in the final response\". Do not shorten the answer or resolution; provide the entire relevant part.\n\n########################\n\nStep 3: tools_input_output\n\nExamine every step in the AI's turn and identify which tool/function step seemingly contributed to creating the answer or resolution. Every tool call should be linked to a user ask. If an AI step immediately before or after the tool call mentions planning or using a tool for answering a user ask, the tool call should be associated with that user ask. If the answer or resolution strongly resembles the output of a tool, the tool call should also be associated with that user ask.\n\nCreate a list containing the concatenation of the entire input and output of every tool used in formulating the answer or resolution. The tool input is listed as an AI step before calling the tool, and the tool output is listed as a tool step.\n\n########################\n\nStep 4: properties, boolean_properties and answer_successful\n\nFor every answer or resolution from Step 2, check the following properties one by one to determine which are satisfied:\n- factually_wrong: the answer contains factual errors.\n- addresses_different_ask: the answer or resolution addresses a slightly different user ask (make sure to differentiate this from asking clarifying questions related to the current ask).\n- not_adherent_to_tools_output: the answer or resolution includes citations from a tool's output, but some are wrongly copied or attributed.\n- mentions_inability: the answer or resolution mentions an inability to complete the user ask.\n- mentions_unsuccessful_attempt: the answer or resolution mentions an unsuccessful or failed attempt to complete the user ask.\n\nThen copy all the properties (only the boolean value) in the list boolean_properties.\n\nFinally, set answer_successful to `false` if any

# --- truncated at 32 KB (350 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/galileo-technologies/refs/heads/main/openapi/galileo-technologies-jobs-api-openapi.yml