Skip to main content
POST
Register an extension

Autorizaciones

Authorization
string
header
requerido

Enforced on every transport, with no exempt operation. A person's request — over the default local unix socket exactly as over a TCP listener — must carry a JWT issued by the configured identity provider, which the host verifies itself against that issuer's key set: signature, issuer, expiry, and the person and organisation it names. Requests without a valid one receive 401 NRY-0011. The socket's file permissions are transport and are not an authorisation.

Cuerpo

application/json

A request to make a program at an address a principal of this home.

name
string
requerido

Namespaced name, publisher/extension form.

Pattern: ^[a-z0-9][a-z0-9-]*\/[a-z0-9][a-z0-9-]*$
endpoint
string<uri>
requerido

Where this host calls it. https:// with no exception, loopback included — a developer terminating TLS locally is one command, and a leaked secret is not one command back.

description
string
Maximum string length: 500
points
string[]

The decision points to sit on.

slots
string[]

The slots to occupy. A slot claimed here is stored CLAIMED AND UNSERVED (a model-supplier given models in this body serves them already): this write reaches the endpoint not at all, because a call made here would be signed under a secret the caller has not been given yet. For model-supplier, send refreshModels: true once the far side holds the secret and the list is read on that update so long as the row it produces is enabled; until it is read, the slot offers no model to any turn. For tool-server, this registration reads no /tools listing: the first LATER update whose resulting row is enabled and that moves the endpoint, newly claims the slot or switches on a row already holding it reads it, and so does the tool sweep on its own clock; until it is read this home serves none of that registration's tools, and a tool name this home already holds is refused on the update that reads the listing.

position
integer

Where in the ordered pipeline. Defaults to 0.

grants
string[]

Permission slugs to grant ON this registration.

models
object[]

What this extension serves, if it occupies a supplier slot. Stating it here is the one way to register a supplier already SERVING, because these are on the row rather than at the far side. Leaving it out stores the slot claimed and unserved until an enabled update carrying refreshModels, or one moving the endpoint, reads the endpoint's catalogue.

enabled
boolean

Whether it starts enabled. Defaults to true.

Respuesta

The registration, with its secret. The secret appears here and in the rotation's response and nowhere else, ever.

A registration and the secret it was minted with. The only other response in this contract that carries a secret is the rotation's.

extension
object
requerido

An extension this host carries: a program this home REGISTERED at an HTTPS address. Never its secret, on any response that uses this schema.

package is absent on a registered extension, which has no package — it is another deployment rather than anything installed here.

Ejemplo:
secret
string
requerido

The shared secret, shown exactly once. The host signs its outbound calls under it and so does the extension when it calls back. It is stored sealed and no read path in this contract can produce it again; a caller that loses it rotates.