## API Your admin API key can be found at `config/admin_api_key.key`. ## ActivityPub API ### GET / Returns the actor profile, with links to all the "standard" collections. ### GET /tags/:tag Special collection that reference notes with the given tag. ### GET /stream Special collection that returns the stream/inbox as displayed in the UI. ## User API The user API is used by the admin UI (and requires a CSRF token when used with a regular user session), but it can also be accessed with an API key. All the examples are using [HTTPie](https://httpie.org/). ### POST /api/note/delete{?id} Deletes the given note `id` (the note must from the instance outbox). Answers a **201** (Created) status code. You can pass the `id` via JSON, form data or query argument. #### Example ```shell $ http POST https://microblog.pub/api/note/delete Authorization:'Bearer ' id=http://microblob.pub/outbox//activity ``` #### Response ```json { "activity": "https://microblog.pub/outbox/" } ``` ### POST /api/note/pin{?id} Adds the given note `id` (the note must from the instance outbox) to the featured collection (and pins it on the homepage). Answers a **201** (Created) status code. You can pass the `id` via JSON, form data or query argument. #### Example ```shell $ http POST https://microblog.pub/api/note/pin Authorization:'Bearer ' id=http://microblob.pub/outbox//activity ``` #### Response ```json { "pinned": true } ``` ### POST /api/note/unpin{?id} Removes the given note `id` (the note must from the instance outbox) from the featured collection (and un-pins it). Answers a **201** (Created) status code. You can pass the `id` via JSON, form data or query argument. #### Example ```shell $ http POST https://microblog.pub/api/note/unpin Authorization:'Bearer ' id=http://microblob.pub/outbox//activity ``` #### Response ```json { "pinned": false } ``` ### POST /api/like{?id} Likes the given activity. Answers a **201** (Created) status code. You can pass the `id` via JSON, form data or query argument. #### Example ```shell $ http POST https://microblog.pub/api/like Authorization:'Bearer ' id=http://activity-iri.tld ``` #### Response ```json { "activity": "https://microblog.pub/outbox/" } ``` ### POST /api/boost{?id} Boosts/Announces the given activity. Answers a **201** (Created) status code. You can pass the `id` via JSON, form data or query argument. #### Example ```shell $ http POST https://microblog.pub/api/boost Authorization:'Bearer ' id=http://activity-iri.tld ``` #### Response ```json { "activity": "https://microblog.pub/outbox/" } ``` ### POST /api/block{?actor} Blocks the given actor, all activities from this actor will be dropped after that. Answers a **201** (Created) status code. You can pass the `id` via JSON, form data or query argument. #### Example ```shell $ http POST https://microblog.pub/api/block Authorization:'Bearer ' actor=http://actor-iri.tld/ ``` #### Response ```json { "activity": "https://microblog.pub/outbox/" } ``` ### POST /api/follow{?actor} Follows the given actor. Answers a **201** (Created) status code. You can pass the `id` via JSON, form data or query argument. #### Example ```shell $ http POST https://microblog.pub/api/follow Authorization:'Bearer ' actor=http://actor-iri.tld/ ``` #### Response ```json { "activity": "https://microblog.pub/outbox/" } ``` ### POST /api/new_note{?content,reply} Creates a new note. `reply` is the IRI of the "replied" note if any. Answers a **201** (Created) status code. You can pass the `content` and `reply` via JSON, form data or query argument. #### Example ```shell $ http POST https://microblog.pub/api/new_note Authorization:'Bearer ' content=hello ``` #### Response ```json { "activity": "https://microblog.pub/outbox/" } ``` ### GET /api/stream #### Example ```shell $ http GET https://microblog.pub/api/stream Authorization:'Bearer ' ``` #### Response ```json ```