Skip to main content
POST
Register plugin

Authorizations

Authorization
string
header
required

API key, not necessarily a JWT. Server derives Organization, permitted actions and Corpus scope; every resource access is authorized.

Body

application/json
idempotency_key
string
required
Required string length: 1 - 200
endpoint
string
required

Base URL where the operator runs the plugin, such as http://127.0.0.1:9900. A connector plugin needs https unless it is on loopback.

Required string length: 1 - 2048
manifest
string
required

The exact text of the quivr-plugin.yaml the plugin was built from; its sha256 must be the manifest digest the plugin's discovery reports.

Required string length: 1 - 262144
configuration
object

Plugin configuration, validated against the manifest's configuration schema.

routes
object[]

Media types routed to the plugin's normalizer.

Maximum array length: 100
kinds
string[]

Alert kinds offered, a subset of those the manifest declares; absent offers them all.

Maximum array length: 100
Minimum string length: 1
spaces
object

Vector spaces of an ingestion plugin by space id, served or evaluation; absent serves the only declared space.

Response

Successful response

registration_id
string
required
Minimum string length: 1
plugin_id
string
required
Minimum string length: 1
version
string
required
Minimum string length: 1
endpoint
string
required

Base URL where the operator runs this plugin version.

Minimum string length: 1
manifest_digest
string
required
Minimum string length: 1
contributions
string[]
required
roles
string[]
required

Roles the manifest declares it can serve, such as normalizer:application/pdf, subscription: or connector:. The active plan says which it serves.

state
enum<string>
required

registered while the Contract Runner checks it, then validated or rejected; active while the active plan names it. Once a later plan leaves it out it is draining while pinned_work is above zero, then inactive.

Available options:
registered,
validated,
active,
draining,
inactive,
rejected
pinned_work
integer
required

Unfinished work pinned to a Pipeline Plan that names this registration, such as the processing of a receipt, a connector run or a rebuild. Work finishes on the plan it started on, so a registration a plan change left out keeps being called until this reaches zero.

Required range: x >= 0
created_at
string<date-time>
required
updated_at
string<date-time>
required
artifact_digest
string

Artifact digest the plugin reports, recorded as information. Absent when it reports none.

Minimum string length: 1
check
object

What the Contract Runner reported on a registration; certified plugins are validated.