Skip to content

List models

GET
/v1/models
curl --request GET \
--url 'https://api.pensievelabs.co/v1/models?limit=20&status=building' \
--header 'Authorization: Bearer <token>'
limit
integer
default: 20 >= 1 <= 100
cursor
string

The next_cursor of the page before.

status

building: no version beats the frontier yet. shadow: a version runs beside live traffic. live: a version takes traffic. paused: taken off traffic in the app, so your code answers every call until it is resumed. archived: retired in the app; it answers no calls, and lists leave it out unless you ask for status=archived.

string
Allowed values: building shadow live paused archived

A page of models.

Media typeapplication/json
object
object
required
Allowed value: list
has_more
required
boolean
next_cursor
required
string | null
data
required
Array<object>
object
id
required
string
object
required
Allowed value: model
slug
required
string
name
required
string
decision
required

The decision the model makes, in one sentence.

string
status
required

building: no version beats the frontier yet. shadow: a version runs beside live traffic. live: a version takes traffic. paused: taken off traffic in the app, so your code answers every call until it is resumed. archived: retired in the app; it answers no calls, and lists leave it out unless you ask for status=archived.

string
Allowed values: building shadow live paused archived
live_version
required
string | null
answers
required
Array<object>
object
value
required

What your code receives.

string
label
required
string
description
string | null
outcomes
required

The outcomes you send back for its calls.

Array<string>
input_schema

JSON Schema for input, when the model takes structured cases.

object | null
metric
required
string
lead
required
One of:

The live version (or best candidate) against the best frontier model, on your test.

object
model_score
required
number
frontier_score
required
number
points
required

The lead in points out of 100; negative when behind.

number
frontier_model
required

The best frontier model at the last re-test.

string
tested_at
required
string format: date-time
routing
required
object
object
required
Allowed value: routing
model
required
string
mode
required
string
Allowed values: observe model split
threshold
required

Under this confidence a call falls back.

number
<= 1
split_percent
required
integer | null
<= 100
updated_at
required
string format: date-time
experimenting
required

Whether Pensieve’s agents are running experiments on it. Pause and resume them with models.update.

boolean
budget
required

Compute for experiments this month. Serving is not counted here.

object
monthly_usd
required

The cap; null for none.

number | null
spent_usd
required
number
owner
required
string
calls_per_day
required
integer
created_at
required
string format: date-time

Example

{
"object": "list",
"data": [
{
"id": "mdl_7f3a91c2",
"object": "model",
"slug": "grade-audit",
"name": "Grade audit",
"status": "building",
"live_version": "v7",
"answers": [
{
"value": "false_pass",
"label": "False pass"
}
],
"metric": "Right verdict on the grade",
"routing": {
"object": "routing",
"mode": "observe"
},
"owner": "Environments team"
}
]
}

Something went wrong; error.type says what.

Media typeapplication/json
object
error
required
object
type
required
string
Allowed values: invalid_request authentication permission not_found conflict rate_limit not_available server
message
required
string
param

The request field the error is about.

string | null
request_id
required
string

Example

{
"error": {
"type": "invalid_request"
}
}