mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-09-19 22:35:50 -04:00
52 lines
1.8 KiB
Markdown
52 lines
1.8 KiB
Markdown
NIP-86
|
|
======
|
|
|
|
Relay Management API
|
|
--------------------
|
|
|
|
`draft` `optional`
|
|
|
|
Relays may provide an API for performing management tasks. This is made available as a JSON-RPC-like request-response protocol over HTTP, on the same URI as the relay's websocket.
|
|
|
|
When a relay receives an HTTP(s) request with an `Authorization` header and a `Content-Type` header of `application/nostr+json+rpc` to a URI supporting WebSocket upgrades, it should parse the request as a JSON document with the following fields:
|
|
|
|
```json
|
|
{
|
|
"method": "<method-name>",
|
|
"params": ["<array>", "<of>", "<parameters>"]
|
|
}
|
|
```
|
|
|
|
Then it should return a response in the format
|
|
|
|
```json
|
|
{
|
|
"result": {"<arbitrary>": "<value>"},
|
|
"error": "<optional error message, if the call has errored>"
|
|
}
|
|
```
|
|
|
|
This is the list of **methods** that may be supported:
|
|
|
|
* `supportedmethods`:
|
|
- params: `[]`
|
|
- result: `["<method-name>", "<method-name>", ...]` (an array with the names of all the other supported methods)
|
|
* `banpubkey`:
|
|
- params: `["<a 32-byte hex public key>", "<optional reason>"]`
|
|
- result: `true` (a boolean always set to `true`)
|
|
* `listbannedpubkeys`:
|
|
- params: `[]`
|
|
- result: `[{"pubkey": "<32-byte hex>", "reason": "<optional reason>"}, ...]`, an array of objects
|
|
* `allowpubkey`:
|
|
- params: `["<a 32-byte hex public key>", "<optional reason>"]`
|
|
- result: `true` (a boolean always set to `true`)
|
|
* `listallowedpubkeys`:
|
|
- params: `[]`
|
|
- result: `[{"pubkey": "<32-byte hex>", "reason": "<optional reason>"}, ...]`, an array of objects
|
|
* `banevent`:
|
|
- params: `["<a 32-byte hex event id>", "<optional reason>"]`
|
|
- result: `true` (a boolean always set to `true`)
|
|
* `listbannedevents`:
|
|
- params: `[]`
|
|
- result: `[{"id": "<32-byte hex>", "reason": "<optional reason>"}, ...]`, an array of objects
|