~tsileo/microblog.pub

ref: refs/heads/master microblog.pub/docs/api.md -rw-r--r-- 4.0 KiB View raw
9c12a673Thomas Sileo Tweak CSS for DMs admin section 6 months ago

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.

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
$ http POST https://microblog.pub/api/note/delete Authorization:'Bearer <token>' id=http://microblob.pub/outbox/<note_id>/activity
Response
{
    "activity": "https://microblog.pub/outbox/<delete_id>"
}

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
$ http POST https://microblog.pub/api/note/pin Authorization:'Bearer <token>' id=http://microblob.pub/outbox/<note_id>/activity
Response
{
    "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
$ http POST https://microblog.pub/api/note/unpin Authorization:'Bearer <token>' id=http://microblob.pub/outbox/<note_id>/activity
Response
{
    "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
$ http POST https://microblog.pub/api/like Authorization:'Bearer <token>' id=http://activity-iri.tld
Response
{
    "activity": "https://microblog.pub/outbox/<like_id>"
}

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
$ http POST https://microblog.pub/api/boost Authorization:'Bearer <token>' id=http://activity-iri.tld
Response
{
    "activity": "https://microblog.pub/outbox/<announce_id>"
}

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
$ http POST https://microblog.pub/api/block Authorization:'Bearer <token>' actor=http://actor-iri.tld/
Response
{
    "activity": "https://microblog.pub/outbox/<block_id>"
}

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
$ http POST https://microblog.pub/api/follow Authorization:'Bearer <token>' actor=http://actor-iri.tld/
Response
{
    "activity": "https://microblog.pub/outbox/<follow_id>"
}

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
$ http POST https://microblog.pub/api/new_note Authorization:'Bearer <token>' content=hello
Response
{
    "activity": "https://microblog.pub/outbox/<create_id>"
}

GET /api/stream

Example
$ http GET https://microblog.pub/api/stream Authorization:'Bearer <token>'
Response