Skip to content

Connect a data source

POST
/v1/sources
curl --request POST \
--url https://api.pensievelabs.co/v1/sources \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "CI runs", "kind": "webhook", "models": [ "grade-audit" ] }'

Pensieve’s reader runs where your data is; credentials are set in the app, never sent here.

Idempotency-Key
string
<= 255 characters

Any unique string. Sending it again within 24 hours returns the first response.

Media typeapplication/json
object
name
required
string
kind
required
string
Allowed values: stream database files webhook sdk
via
string
models
Array<string>

Example

{
"name": "CI runs",
"kind": "webhook",
"models": [
"grade-audit"
]
}

The source, connecting.

Media typeapplication/json
object
id
required
string
object
required
Allowed value: source
name
required
string
kind
required
string
Allowed values: stream database files webhook sdk
via
required
string
state
required
string
Allowed values: connecting connected paused error
volume
required
string | null
held_out
required

What is kept out of every training set, such as the last 60 days, or the cases set aside as your test.

string | null
models
required
Array<string>
last_read_at
required
string | null format: date-time
created_at
required
string format: date-time

Example

{
"id": "src_agent_trials",
"object": "source",
"kind": "stream",
"via": "Kafka",
"state": "connecting",
"volume": "240k a day",
"held_out": "Last 60 days held out"
}

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