Skip to content

List methods

GET
/v1/methods
curl --request GET \
--url 'https://api.pensievelabs.co/v1/methods?limit=20' \
--header 'Authorization: Bearer <token>'

The built-in methods and your own, in one list.

limit
integer
default: 20 >= 1 <= 100
cursor
string

The next_cursor of the page before.

A page of methods.

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

A post-training method, written as a plain markdown file. It starts with a # title and a paragraph saying what the method does and when to try it; the rest is up to its author. Pensieve’s own files have Needs, Steps, Settings (what an experiment can change) and Checks. Agents read the file to design experiments with the method and follow it as written.

object
id
required

A post-training method’s slug, such as fine-tuning. See List methods for what your workspace has.

string
<= 64 characters /^[a-z0-9]+(-[a-z0-9]+)*$/
object
required
Allowed value: method
name
required

The file’s title.

string
description
required

The file’s first paragraph.

string
markdown
required

The whole file.

string
version
required

Goes up by one with every change. Each experiment records the version it ran.

integer
>= 1
built_in
required

Shipped by Pensieve. Built-in methods can’t be changed or removed.

boolean
created_at
required
string format: date-time
updated_at
required
string format: date-time

Example

{
"object": "list",
"data": [
{
"id": "fine-tuning",
"object": "method",
"name": "Fine-tuning"
}
]
}

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"
}
}