Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,25 @@ Blossom Servers expose a few endpoints for managing blobs
- `PUT /media` [BUD-05](./buds/05.md#put-media)
- `Authentication`: Signed [nostr event](./buds/05.md#upload-authorization)
- `PUT /report` [BUD-09](./buds/09.md)
- `GET /info` [BUD-12](./buds/10.md)

## Protocol specification (BUDs)

BUDs stand for **Blossom Upgrade Documents**.

See the [BUDs](./buds) folder and specifically [BUD-01](./buds/01.md) and [BUD-02](./buds/02.md) for a detailed explanation of the endpoints

## BUDs

- [BUD-01: Server requirements and blob retrieval](./buds/01.md)
- [BUD-02: Blob upload and management](./buds/02.md)
- [BUD-03: User Server List](./buds/03.md)
- [BUD-04: Mirroring blobs](./buds/04.md)
- [BUD-05: Media optimization](./buds/05.md)
- [BUD-06: Upload requirements](./buds/06.md)
- [BUD-08: Nostr File Metadata Tags](./buds/08.md)
- [BUD-09: Blob Report](./buds/09.md)
- [BUD-12: Media servers information document](./buds/12.md)

## Event kinds

Expand Down
37 changes: 37 additions & 0 deletions buds/12.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# BUD-12

## Media servers information document

`draft` `optional`

## Abstract

This bud defines a new endpoint that helps media servers provide information about themselves to clients.

### GET /info - get media server information document

The media server MUST provide this route, which returns the document defined below. No specific body or header is required.

#### Standard fields

Here is a list of standard fields that a server SHOULD return.

```json
{
"name": "<a name to identify server>",
"description": "<detailed arbitrary information>",
"banner": "<a link to an image (e.g., in .jpg, or .png format)>",
"icon": "<a link to an icon (e.g., in .jpg, or .png format>",
"pubkey": "<administrative contact nostr pubkey>",
"contact": "<administrative alternate contact (e.g. mailto:email, https://website, and more)>",
"supported_buds": <an array of BUD numbers supported by the media server>,
"software": "<media server software URL or name>",
"uploading_policy": "<a URL to uploading policy homepage>",
"version": "<software version>"
}
```

#### Extra fields

A server MAY return extra information as well to the client, and clients MAY show it in pure JSON.
A widely used field can be appended to the above standard list.