Skip to content

List output scoring rules

Viewing v1— superseded by v2

GET
/v1/workspaces/{workspace_id}/scoring-rules
curl --request GET \
--url https://api.app.layer.ai/api/v1/workspaces/:workspace_id/scoring-rules \
--header 'Authorization: Bearer <token>'

v1 is superseded. v1 was superseded by v2 on 2026-08-26. A sunset date has not been announced yet; v1 will be deprecated as a whole before removal. Migrate with the v2 migration guide.

The scoring rules in force for a workspace, or for a project inside it. Each rule is a studio’s own standard that generated assets are judged against, scored 0-100.

Rules are authored in the app under workspace or project settings; this API reads them so a caller can pick which to score against and interpret the scores that come back — the same number means different things under different rules.

workspace_id
required
Workspace Id

Id of the workspace that owns the resource.

string format: uuid

Id of the workspace that owns the resource.

project_id
Any of:
string format: uuid

Limit the results to rules scoped to this project.

Successful Response

Media typeapplication/json
ListScoringRulesOutput
object
rules
required
Rules

Every rule in force for the scope, workspace-mandated rules first.

Array<object>
ScoringRuleSummary
object
rule_id
required
Rule Id

Pass this as a rule_ids entry to score against this rule alone.

string format: uuid
name
required
Name

The rule’s display name.

string
prompt
required
Prompt

What the rule asks of an asset, in the scope’s own words.

string
run_mode
required
ScoringRunMode

always scores every new output automatically; on_demand only when asked.

string
Allowed values: always on_demand
threshold
Any of:
integer
modalities
Any of:
Array<string>
Allowed values: text image audio video three_d playable
reference_image_count
required
Reference Image Count

How many reference images the judge is shown alongside the prompt.

integer
is_project_rule
required
Is Project Rule

True when the rule belongs to the project rather than being inherited from the workspace.

boolean
is_nominated
required
Is Nominated

True for the one rule whose score is stamped on assets as their headline score.

boolean
Example
{
"rules": [
{
"run_mode": "always",
"modalities": [
"text"
]
}
]
}

Unauthenticated — missing or invalid Bearer token.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Forbidden — insufficient permissions.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Resource not found.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Invalid input parameters.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Rate limited — too many concurrent requests.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Internal server error.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}