forked from GNUsocial/gnu-social
102 lines
6.5 KiB
Markdown
102 lines
6.5 KiB
Markdown
|
ActivityPub Plugin for GNU Social Doc
|
||
|
=====================================
|
||
|
|
||
|
## Contents
|
||
|
|
||
|
- [Objects](#entities)
|
||
|
- [Attachment](#attachment)
|
||
|
- [Error](#error)
|
||
|
- [Image](#image)
|
||
|
- [Notice](#notice)
|
||
|
- [Profile](#profile)
|
||
|
- [Tag](#tag)
|
||
|
- [Activities](#activities)
|
||
|
- [Create](#create)
|
||
|
- [Announce](#announce)
|
||
|
- [Delete](#delete)
|
||
|
- [Undo](#undo)
|
||
|
- [Accept](#accept)
|
||
|
- [Reject](#reject)
|
||
|
- [Like](#like)
|
||
|
- [Follow](#follow)
|
||
|
|
||
|
## Objects
|
||
|
|
||
|
### Attachment
|
||
|
|
||
|
| Attribute | Description | Nullable | Type |
|
||
|
| ------------------------ | ----------------------------------------------- | -------- | ------- |
|
||
|
| `id` | ID of the attachment | no | int32 |
|
||
|
| `mimetype` | Mimetype | no | string |
|
||
|
| `url` | URL of the locally hosted version of the image | no | string |
|
||
|
| `meta` | See **attachment metadata** below | yes | Array |
|
||
|
| `title` | Attachment title | no | string |
|
||
|
|
||
|
**Attachment metadata:**
|
||
|
|
||
|
Images may contain `width`, `height`, `size`.
|
||
|
|
||
|
### Error
|
||
|
|
||
|
The most important part of an error response is the HTTP status code. Standard semantics are followed. The body of an error is a JSON object with this structure:
|
||
|
|
||
|
| Attribute | Description | Nullable | Type |
|
||
|
| ------------------------ | ----------------------------------- | -------- | ------- |
|
||
|
| `error` | A textual description of the error | no | string |
|
||
|
|
||
|
### Image
|
||
|
|
||
|
| Attribute | Description | Nullable | Type |
|
||
|
| ------------------------ | --------------- | -------- | ------- |
|
||
|
| `type` | "Image" | no | string |
|
||
|
| `width` | Image's width | no | int32 |
|
||
|
| `height` | Image's height | no | int32 |
|
||
|
| `url` | Image URL | no | string |
|
||
|
|
||
|
### Notice
|
||
|
|
||
|
| Attribute | Description | Nullable | Type |
|
||
|
| ------------------------ | ------------------------------------------------- | -------- | ------------------------------------ |
|
||
|
| `id` | Notice's URL | no | string |
|
||
|
| `type` | Notice's Type | no | string |
|
||
|
| `actor` | URL of Notice owner profile page (can be remote) | no | string |
|
||
|
| `published` | DateTime of notice creation | no | datetime |
|
||
|
| `to` | To | no | string |
|
||
|
| `cc` | CC | no | string |
|
||
|
| `content` | Notice's Content in plain text | no | string |
|
||
|
| `url` | Notice's URL | no | string |
|
||
|
| `reply_to` | ID of the notice this replies | yes | int32 |
|
||
|
| `is_local` | Boolean, true if local, false otherwise | no | bool |
|
||
|
| `conversation` | Notice conversation id | no | int32 |
|
||
|
| `attachment` | Array of [Attachments](#attachment) | no | Array of [Attachments](#attachment) |
|
||
|
| `tag` | Array of [Tags](#tag) | no | Array of [Tags](#tag) |
|
||
|
|
||
|
### Profile
|
||
|
|
||
|
| Attribute | Description | Nullable | Type |
|
||
|
| ------------------------ | ------------------------------------------------ | -------- | ---------------- |
|
||
|
| `@context` | Standard compliance | no | string |
|
||
|
| `id` | Actor's id | no | int32 |
|
||
|
| `type` | "Person" | no | string |
|
||
|
| `nickname` | Actor's nickname | no | string |
|
||
|
| `is_local` | True if local, false otherwise | no | bool |
|
||
|
| `inbox` | URL to Actor's inbox endpoint | no | string |
|
||
|
| `outbox` | URL to Actor's outbox endpoint | no | string |
|
||
|
| `display_name` | The Actor's display name | no | string |
|
||
|
| `followers` | URL to Actor's followers endpoint | no | string |
|
||
|
| `followers_count` | Total number of followers | no | int32 |
|
||
|
| `following` | URL to Actor's following endpoint | no | string |
|
||
|
| `following_count` | Total number of following | no | int32 |
|
||
|
| `liked` | URL to Actor's Liked collection endpoint | no | string |
|
||
|
| `liked_count` | Total number of favorites | no | int32 |
|
||
|
| `summary` | Actor's biography | no | string |
|
||
|
| `url` | URL of the Actor's profile page (can be remote) | no | string |
|
||
|
| `avatar` | Actor's avatar | no | [Image](#image) |
|
||
|
|
||
|
### Tag
|
||
|
|
||
|
| Attribute | Description | Nullable | Type |
|
||
|
| ------------------------ | -------------------------------------------- | -------- | ---------- |
|
||
|
| `name` | The hashtag, not including the preceding `#` | no | string |
|
||
|
| `url` | The URL of the hashtag | no | string |
|