Galileo Technologies scorer-feedback API
The scorer-feedback API from Galileo Technologies — 11 operation(s) for scorer-feedback.
The scorer-feedback API from Galileo Technologies — 11 operation(s) for scorer-feedback.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/galileo-technologies-scorer-feedback-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Galileo API Server annotation Scorer Feedback API
version: 1.1085.0
servers:
- url: https://api.galileo.ai
description: Galileo API Server - galileo-v2
tags:
- name: scorer-feedback
paths:
/scorer-feedbacks:
post:
tags:
- scorer-feedback
summary: Create Scorer Feedback
description: 'Creates a new feedback item in the global queue for the specified scorer.
**Validation:**
- Validates both original_value and annotated_value against scorer''s output_type
- Validates scorer_version_id exists and user has access
- Validates user has access to the specified project
- Auto-creates new queue if no active queue exists for this scorer
- If active queue exists, adds feedback to that queue
**Errors:**
- 422 - Invalid annotated_value/original_value format or validation failure
- 404 - Project, run, scorer, or scorer_version not found
- 409 - Queue is currently locked (generating, reviewing, or completed)'
operationId: create_scorer_feedback_scorer_feedbacks_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateScorerFeedbackRequest'
required: true
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ScorerFeedbackResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- ClassicAPIKeyHeader: []
- APIKeyHeader: []
- OAuth2PasswordBearer: []
- HTTPBasic: []
delete:
tags:
- scorer-feedback
summary: Delete Scorer Feedback
description: 'Deletes multiple feedback items by their IDs.
**Validation:**
- All feedback items must exist and user must have access
- Feedback items must belong to queues that are not locked (not generating, reviewing, or completed)
**Errors:**
- 404 - One or more feedback items not found
- 409 - One or more feedback items belong to a locked queue'
operationId: delete_scorer_feedback_scorer_feedbacks_delete
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteScorerFeedbackRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteScorerFeedbackResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- ClassicAPIKeyHeader: []
- APIKeyHeader: []
- OAuth2PasswordBearer: []
- HTTPBasic: []
/scorer-feedbacks/{feedback_id}:
patch:
tags:
- scorer-feedback
summary: Update Scorer Feedback
description: 'Updates an existing feedback item in the queue.
Useful for refining values or rationale while reviewing feedback before applying.
**Validation:**
- Queue must be in pending state (not locked or completed)
- annotated_value (if provided) must be valid for the scorer''s output_type
- At least one field must be provided
**Errors:**
- 422 - Invalid annotated_value for scorer output_type, or no fields provided
- 404 - Feedback item not found
- 409 - Queue is currently processing or finished (locked, cannot modify)'
operationId: update_scorer_feedback_scorer_feedbacks__feedback_id__patch
security:
- ClassicAPIKeyHeader: []
- APIKeyHeader: []
- OAuth2PasswordBearer: []
- HTTPBasic: []
parameters:
- name: feedback_id
in: path
required: true
schema:
type: string
format: uuid
title: Feedback Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateScorerFeedbackRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ScorerFeedbackResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/scorer-feedbacks/scorer/{scorer_id}:
get:
tags:
- scorer-feedback
summary: Get Scorer Feedback
description: 'Gets all feedback items for the active queue of a scorer.
Returns enriched feedback items including:
- Basic feedback data (original/annotated values, rationale)
- Project and run names
- ClickHouse record data (input/output)
- Queue metadata (status, id)
If no active queue exists for the scorer, returns empty list with null queue_id/status.
**Validation:**
- User has access to the scorer
**Errors:**
- 404 - Scorer not found or user doesn''t have access'
operationId: get_scorer_feedback_scorer_feedbacks_scorer__scorer_id__get
security:
- ClassicAPIKeyHeader: []
- APIKeyHeader: []
- OAuth2PasswordBearer: []
- HTTPBasic: []
parameters:
- name: scorer_id
in: path
required: true
schema:
type: string
format: uuid4
title: Scorer Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ScorerFeedbackListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/scorer-feedbacks/scorer_version/{scorer_version_id}/applied:
get:
tags:
- scorer-feedback
summary: Get Applied Scorer Version Feedback
description: 'Gets all feedback items that were applied to create a specific scorer version.
Returns the historical feedback from the completed queue that produced this version,
with enriched data including:
- Basic feedback data (original/annotated values, rationale)
- Project and run names
- ClickHouse record data (input/output)
- Queue metadata (status=completed, queue_id)
**Validation:**
- User has access to the scorer version
**Errors:**
- 404 - Scorer version not found or no feedback was applied to create this version'
operationId: get_applied_scorer_version_feedback_scorer_feedbacks_scorer_version__scorer_version_id__applied_get
security:
- ClassicAPIKeyHeader: []
- APIKeyHeader: []
- OAuth2PasswordBearer: []
- HTTPBasic: []
parameters:
- name: scorer_version_id
in: path
required: true
schema:
type: string
format: uuid4
title: Scorer Version Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ScorerFeedbackListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/scorer-feedbacks/feedback-counts:
post:
tags:
- scorer-feedback
summary: Get Feedback Counts
description: 'Get the count of feedback items in each scorer''s active feedback queue.
Returns a map of scorer_id to feedback count. Scorers without an active
queue (or with no feedback items) return 0.
**Errors:**
- 422 - Empty scorer_ids list or invalid UUIDs'
operationId: get_feedback_counts_scorer_feedbacks_feedback_counts_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FeedbackCountsRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/FeedbackCountsResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- ClassicAPIKeyHeader: []
- APIKeyHeader: []
- OAuth2PasswordBearer: []
- HTTPBasic: []
/feedback-queues/scorer/{scorer_id}/generate-prompt:
post:
tags:
- scorer-feedback
summary: Generate Prompt
description: 'Generate improved scorer prompt using Autotune (CLHF).
This endpoint:
1. Fetches all feedback items from the active queue with ClickHouse context
2. Assembles the current metric system prompt
3. Constructs AutotuneInput with annotated examples
4. Queues a background job to the runners service
5. Returns task_id for polling
The API prepares all data internally - no request body needed.
**Validation:**
- Scorer exists and user has access
- Active queue exists in ''pending'' state
- Queue has at least one feedback item
**Response:**
- 202 Accepted with task_id for polling
**Errors:**
- 404 - Scorer not found or no active pending queue exists
- 409 - Queue is already locked (generating or reviewing)
- 422 - Scorer missing required configuration or queue has no feedback items'
operationId: generate_prompt_feedback_queues_scorer__scorer_id__generate_prompt_post
security:
- ClassicAPIKeyHeader: []
- APIKeyHeader: []
- OAuth2PasswordBearer: []
- HTTPBasic: []
parameters:
- name: scorer_id
in: path
required: true
schema:
type: string
format: uuid4
title: Scorer Id
responses:
'202':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/GeneratePromptResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/feedback-queues/scorer/{scorer_id}/status:
get:
tags:
- scorer-feedback
summary: Get Queue Status
description: 'Lightweight endpoint for polling queue generation status.
Returns only queue metadata (status, error message, draft prompt) without
fetching feedback items or ClickHouse data. Designed for efficient polling
after triggering prompt generation.
**Errors:**
- 404 - Scorer not found or no active queue exists'
operationId: get_queue_status_feedback_queues_scorer__scorer_id__status_get
security:
- ClassicAPIKeyHeader: []
- APIKeyHeader: []
- OAuth2PasswordBearer: []
- HTTPBasic: []
parameters:
- name: scorer_id
in: path
required: true
schema:
type: string
format: uuid4
title: Scorer Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ScorerFeedbackQueueStatusResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/feedback-queues/{queue_id}:
patch:
tags:
- scorer-feedback
summary: Update Queue
description: "Update a feedback queue by performing an action.\n\n**Supported actions:**\n- \"abort\": Abort the feedback application process and return the queue to pending state.\n Used when user clicks \"Back\" or \"Cancel\" during generation or review.\n Clears draft_prompt and generation_task_id. Same queue is reused.\n Can be called during 'generating' or 'reviewing' state.\n\n- \"complete\": Complete the queue after saving a new scorer version.\n Used when user saves a new version from the review flow.\n Sets status to completed (immutable) and links queue to the resulting version.\n Requires target_scorer_version_id, result_scorer_id, and result_scorer_version_id.\n Can only be called during 'reviewing' state.\n\n**Request body:**\n- action: The action to perform (\"abort\" or \"complete\")\n- target_scorer_version_id: Required for \"complete\" action - ID of the version feedback was applied to\n- result_scorer_id: Required for \"complete\" action - ID of the scorer that owns the result version.\n For custom LLM scorers this is the same as the queue's scorer. For preset scorers this is the\n new custom scorer duplicated from the preset.\n- result_scorer_version_id: Required for \"complete\" action - ID of the scorer version created\n\n**Response:**\n- 200 OK with queue details showing updated status\n\n**Errors:**\n- 404 - Queue not found or user doesn't have access\n- 409 - Queue is not in a valid state for the requested action\n- 422 - Invalid action or missing required parameters"
operationId: update_queue_feedback_queues__queue_id__patch
security:
- ClassicAPIKeyHeader: []
- APIKeyHeader: []
- OAuth2PasswordBearer: []
- HTTPBasic: []
parameters:
- name: queue_id
in: path
required: true
schema:
type: string
format: uuid
title: Queue Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateQueueRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateQueueResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/feedback-queues/scorer/{scorer_id}/validation-runs:
post:
tags:
- scorer-feedback
summary: Validate Autotune Queue
description: 'Test a draft prompt against feedback records in the active queue.
Creates a metrics testing run by copying the feedback records and running
generated scorer validation with the provided prompt. Used in the AutoTune
Data tab for 3-column comparison: Original | Expected (Annotated) | New Result.
Works in any active queue state (pending, generating, or reviewing).
**Response:**
- 202 Accepted with metrics_testing_run_id for viewing results
**Errors:**
- 404 - Scorer not found or no active queue exists
- 422 - Queue has no feedback items or scorer has no version
- 500 - Record processing failure'
operationId: validate_autotune_queue_feedback_queues_scorer__scorer_id__validation_runs_post
security:
- ClassicAPIKeyHeader: []
- APIKeyHeader: []
- OAuth2PasswordBearer: []
- HTTPBasic: []
parameters:
- name: scorer_id
in: path
required: true
schema:
type: string
format: uuid4
title: Scorer Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateAutotuneQueueRequest'
responses:
'202':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateAutotuneQueueResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/feedback-queues/{queue_id}/validation-results:
get:
tags:
- scorer-feedback
summary: Get Validation Results
description: "Poll autotune validation results for a feedback queue.\n\nReturns one row per feedback item with the new scorer output joined in from\nthe metrics testing run. Used by the UI for the 3-column comparison table:\nOriginal Value | Expected (Annotated) | New Result.\n\n**Pollable:** Returns status=pending with null scores while validation is running.\nTransitions through pending → in_progress → completed as scores arrive.\n\n**Args:**\n- metrics_testing_run_id: Optional metrics testing run ID (from validate response).\n When provided, fetches scored records and joins with feedback items.\n\n**Errors:**\n- 404 - Queue not found or user doesn't have access"
operationId: get_validation_results_feedback_queues__queue_id__validation_results_get
security:
- ClassicAPIKeyHeader: []
- APIKeyHeader: []
- OAuth2PasswordBearer: []
- HTTPBasic: []
parameters:
- name: queue_id
in: path
required: true
schema:
type: string
format: uuid
title: Queue Id
- name: metrics_testing_run_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid4
- type: 'null'
description: Metrics testing run ID for fetching validation scores
title: Metrics Testing Run Id
description: Metrics testing run ID for fetching validation scores
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/AutotuneValidationResultsResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/feedback-queues/{queue_id}/validation-columns:
get:
tags:
- scorer-feedback
summary: Get Validation Columns
description: 'Get column definitions for the autotune validation results table.
Returns the column metadata needed to render the validation results table,
including input/output columns, feedback columns, and scorer metric columns.
**Errors:**
- 404 - Queue not found or user doesn''t have access'
operationId: get_validation_columns_feedback_queues__queue_id__validation_columns_get
security:
- ClassicAPIKeyHeader: []
- APIKeyHeader: []
- OAuth2PasswordBearer: []
- HTTPBasic: []
parameters:
- name: queue_id
in: path
required: true
schema:
type: string
format: uuid
title: Queue Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/AutotuneValidationColumnsResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
RollUpMethodDisplayOptions:
type: string
enum:
- average
- sum
- max
- min
- category_count
- percentage_true
- percentage_false
title: RollUpMethodDisplayOptions
description: 'Display options for roll up methods when showing rolled up metrics in the UI.
Separates display intent from computation methods. The computation methods
(NumericRollUpMethod, CategoricalRollUpMethod) control what aggregations are available.
This enum controls how the UI displays the selected roll-up value for a scorer.'
LogRecordsFilterType:
type: string
enum:
- id
- date
- number
- boolean
- text
- collection
- fully_annotated
title: LogRecordsFilterType
ValidateAutotuneQueueRequest:
properties:
user_prompt:
type: string
minLength: 1
title: User Prompt
description: The draft/edited prompt to test against feedback records
type: object
required:
- user_prompt
title: ValidateAutotuneQueueRequest
description: Request to test a draft prompt against autotune feedback records.
NodeNameFilter:
properties:
name:
type: string
const: node_name
title: Name
default: node_name
operator:
type: string
enum:
- eq
- ne
- contains
- one_of
- not_in
title: Operator
value:
anyOf:
- type: string
- items:
type: string
type: array
title: Value
case_sensitive:
type: boolean
title: Case Sensitive
default: true
type: object
required:
- operator
- value
title: NodeNameFilter
description: Filters on node names in scorer jobs.
ModalityFilter:
properties:
name:
type: string
const: modality
title: Name
default: modality
operator:
type: string
enum:
- eq
- ne
- one_of
- not_in
title: Operator
value:
anyOf:
- type: string
description: Single enum value - specific options depend on the concrete enum type used
example: ENUM_VALUE
- items:
type: string
example: ENUM_VALUE
type: array
description: Array of enum values
example:
- ENUM_VALUE_1
- ENUM_VALUE_2
title: Value
type: object
required:
- operator
- value
title: ModalityFilter
description: 'Filters on content modalities in scorer jobs.
Matches if at least one of the specified modalities is present.'
InsightType:
type: string
enum:
- vertical_bar
- horizontal_bar
title: InsightType
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
ScorerFeedbackQueueStatus:
type: string
enum:
- pending
- generating
- reviewing
- completed
title: ScorerFeedbackQueueStatus
description: Status of a scorer feedback queue throughout its lifecycle.
EnrichedScorerFeedbackItem:
properties:
id:
type: string
format: uuid4
title: Id
project_id:
type: string
format: uuid4
title: Project Id
run_id:
type: string
format: uuid4
title: Run Id
scorer_id:
type: string
format: uuid4
title: Scorer Id
source_scorer_version_id:
type: string
format: uuid4
title: Source Scorer Version Id
record_id:
type: string
format: uuid4
title: Record Id
original_value:
type: string
title: Original Value
annotated_value:
type: string
title: Annotated Value
feedback_text:
anyOf:
- type: string
- type: 'null'
title: Feedback Text
rationale:
anyOf:
- type: string
- type: 'null'
title: Rationale
queue_id:
type: string
format: uuid4
title: Queue Id
created_by:
anyOf:
- type: string
format: uuid4
- type: 'null'
title: Created By
created_by_name:
anyOf:
- type: string
- type: 'null'
title: Created By Name
created_at:
type: string
format: date-time
title: Created At
updated_at:
type: string
format: date-time
title: Updated At
project_name:
type: string
title: Project Name
description: Name of the project
run_name:
type: string
title: Run Name
description: Name of the run
input:
anyOf:
- type: string
- type: 'null'
title: Input
description: Input data for the record that was scored
output:
anyOf:
- type: string
- type: 'null'
title: Output
description: Output data for the record that was scored
can_submit:
type: boolean
title: Can Submit
description: Whether the caller may submit this feedback item into an autotune run
default: true
type: object
required:
- id
- project_id
- run_id
- scorer_id
- source_scorer_version_id
- record_id
- original_value
- annotated_value
- feedback_text
- rationale
- queue_id
- created_by
- created_at
- updated_at
- project_name
- run_name
title: EnrichedScorerFeedbackItem
description: Enriched feedback item with record data and entity names.
FewShotExample:
properties:
generation_prompt_and_response:
type: string
title: Generation Prompt And Response
evaluating_response:
type: string
title: Evaluating Response
type: object
required:
- generation_prompt_and_response
- evaluating_response
title: FewShotExample
description: Few-shot example for a chainpoll metric prompt.
DeleteScorerFeedbackResponse:
properties:
deleted_count:
type: integer
title: Deleted Count
description: Number of feedback items successfully deleted
deleted_ids:
items:
type: string
format: uuid4
type: array
title: Deleted Ids
description: List of feedback IDs that were deleted
type: object
required:
- deleted_count
- deleted_ids
title: DeleteScorerFeedbackResponse
description: Response schema for bulk delete operation.
InputTypeEnum:
type: string
enum:
- basic
- llm_spans
- retriever_spans
- sessions_normalized
- sessions_trace_io_only
- tool_spans
- trace_input_only
- trace_io_only
- trace_normalized
- trace_output_only
- agent_spans
- workflow_spans
title: InputTypeEnum
description: Enumeration of input types.
ValidateAutotuneQueueResponse:
properties:
metrics_testing_run_id:
type: string
format: uuid4
title: Metrics Testing Run Id
description: ID of the metrics testing run containing validation results
project_id:
type: string
format: uuid4
title: Project Id
description: Project where the metrics testing run was created
queue_id:
type: string
format: uuid4
title: Queue Id
description: Queue ID that was tested
feedback_count:
type: integer
title: Feedback Count
description: Number of feedback records tested
type: object
required:
- metrics_testing_run_id
- project_id
- queue_id
- feedback_count
title: ValidateAutotuneQueueResponse
description: Response for autotune queue validation (202 Accepted).
GeneratePromptResponse:
properties:
task_id:
type: string
title: Task Id
description: Celery task ID for polling
queue_id:
type: string
format: uuid4
title: Queue Id
description: Queue ID being processed
scorer_id:
type: string
format: uuid4
title: Scorer Id
description: Scorer ID
feedback_count:
type: integer
title: Feedback Count
description: Number of feedback items
status:
type: string
title: Status
description: Current status (generating)
message:
type: string
title: Message
description: Message with polling instructions
type: object
required:
- task_id
- queue_id
- scorer_id
- feedback_count
- status
- message
title: GeneratePromptResponse
description: Response schema for generate prompt request (202 Accepted).
AutotuneValidationResultItem:
properties:
feedback_id:
type: string
format: uuid4
title: Feedback Id
description: Feedback item ID
record_id:
type: string
format: uuid4
title: Record Id
description: Original ClickHouse record ID
input:
anyOf:
- type: string
- type: 'null'
title: Input
description: Input text of the record
output:
anyOf:
- type: string
- type: 'null'
title: Output
description: Output text of the record
original_value:
type: string
title: Original Value
description: Original scorer output that was incorrect
annotated_value:
type: string
title: Annotated Value
description: User-corrected expected value
feedback_text:
anyOf:
- type: string
- type: 'null'
title: Feedback Text
description: User's explanation for the correction
new_score:
anyOf:
- type: string
- type: 'null'
title: New Score
description: New scorer output from the validation run, null if not yet scored
new_score_rationale:
anyOf:
- type: string
- type: 'null'
title: New Score Rationale
description: Rationale from the new scorer (if CoT enabled), null if not scored or CoT disabled
project_name:
anyOf:
- type: string
- type: 'null'
title: Project Name
description: Name of the source project
run_name:
anyOf:
- type: string
- type: 'null'
title: Run Name
description: Name of the source run
type: object
required:
- feedback_id
- record_id
- original_value
- annotated_value
title: AutotuneValidationResultItem
description: One row in the autotune validation results — one per feedback item.
MultimodalCapability:
type: string
enum:
- vision
- audio
title: MultimodalCapability
UpdateQueueRequest:
properties:
action:
$ref: '#/components/schemas/QueueAction'
description: Action to perform on the queue
target_scorer_version_id:
anyOf:
- type: string
format: uuid4
- type: 'null'
title: Target Scorer Version Id
description: 'Required for ''complete'' action: ID of the scorer version that feedback was applied to'
result_scorer_id:
any
# --- truncated at 32 KB (64 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/galileo-technologies/refs/heads/main/openapi/galileo-technologies-scorer-feedback-api-openapi.yml