> For the complete documentation index, see [llms.txt](https://vectis.liesware.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vectis.liesware.com/remote-routes.md).

# Remote Routes

## List authorized remote Vectis routes loaded in memory

> Administrative endpoint requiring root or an admin client. Lists the current in-memory remote routes and does not read VECTIS\_CONFIG\_PATH.

```json
{"openapi":"3.1.0","info":{"title":"Vectis HTTP API","version":"v1"},"tags":[{"name":"Remote Routes"}],"servers":[{"url":"http://127.0.0.1:3000","description":"Local default server over HTTP"},{"url":"https://127.0.0.1:3000","description":"Local HTTPS server when VECTIS_MODE=prod"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key"}},"schemas":{"RemoteRoutesOutput":{"type":"object","required":["routes"],"properties":{"routes":{"type":"array","items":{"$ref":"#/components/schemas/RemoteRoute"}}}},"RemoteRoute":{"type":"object","required":["remote_kid","name","remote_addr","allowed_local_kids","status"],"properties":{"remote_kid":{"$ref":"#/components/schemas/Kid"},"name":{"$ref":"#/components/schemas/TextField"},"remote_addr":{"$ref":"#/components/schemas/TextField"},"allowed_local_kids":{"type":"array","minItems":1,"items":{"type":"string"}},"status":{"type":"string","enum":["active","disabled"]},"public_keys":{"type":"object","description":"Optional. The peer's full public key set (the `keys` object from its GET /pub/{kid}). When present, /message uses these trusted keys directly and POST /sign/verification can verify tokens signed by this remote kid (cross-instance verification). Vectis validates the material before loading it: DER public keys must be loadable by Botan, X25519/X448 raw public keys must be exactly 32/56 bytes, and ML-KEM public keys must be loadable and usable for encapsulation.\n","required":["eddsa","xecdh","ml-dsa","ml-kem"],"properties":{"eddsa":{"$ref":"#/components/schemas/PublicDerKey"},"xecdh":{"$ref":"#/components/schemas/PublicRawKey"},"ml-dsa":{"$ref":"#/components/schemas/PublicDerKey"},"ml-kem":{"$ref":"#/components/schemas/PublicDerKey"}}}}},"Kid":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"},"TextField":{"type":"string","minLength":1,"pattern":"^[^\\x00-\\x1F\\x7F-\\x9F]+$"},"PublicDerKey":{"type":"object","required":["alg","public_key_der_hex"],"properties":{"alg":{"$ref":"#/components/schemas/TextField"},"public_key_der_hex":{"$ref":"#/components/schemas/HexString"}}},"HexString":{"type":"string","pattern":"^[0-9a-fA-F]+$"},"PublicRawKey":{"type":"object","required":["alg","public_key_hex"],"properties":{"alg":{"$ref":"#/components/schemas/TextField"},"public_key_hex":{"$ref":"#/components/schemas/HexString"}}},"ErrorResponse":{"type":"object","required":["error"],"properties":{"error":{"$ref":"#/components/schemas/TextField"}}}},"responses":{"Error":{"description":"Public error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/remote-routes":{"get":{"tags":["Remote Routes"],"summary":"List authorized remote Vectis routes loaded in memory","description":"Administrative endpoint requiring root or an admin client. Lists the current in-memory remote routes and does not read VECTIS_CONFIG_PATH.","responses":{"200":{"description":"Loaded remote Vectis routes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteRoutesOutput"}}}},"default":{"$ref":"#/components/responses/Error"}}}}}}
```
