The Mastodon API entities.
These are JSON-encoded over the wire. Mastodon.EncodeDecode knows how to do that.
Documented at https://docs.joinmastodon.org/api/entities/
Most of the Entity have a v field, which is the raw JS value from
which it was decoded. This is useful if you want to display what you
got over the wire. Code that creates these can set it to
Json.Encode.null.
Alias of String
Alias of String
Alias of String
Alias of String
Alias of String
Alias of String
Account entity
Pleroma servers have an additional field here, not yet supported:
"pleroma":{"tags":[],
"skip_thread_containment":false,
"settings_store":{},
"relationship":{"subscribing":false,
"showing_reblogs":true,
"requested":false,
"muting_notifications":false,
"muting":false,
"id":"9kL2555DTtECY9TEQK",
"following":true,
"followed_by":true,
"endorsed":false,
"domain_blocking":false,
"blocking":false
}Source entity.
Pleroma servers have an additional field here, not yet supported:
"pleroma":{"show_role":true,"no_rich_text":false}Token entity.
Application entity.
App entity.
This is not documented, so I requested one and reverse engineered it.
Card entity.
Context entity.
Error entity.
Filter entity.
Instance entity.
Activity entity.
Not documented. A list of these is returned by "GET instance/activity"
List entity.
Notification entity.
Push subscription entity.
Relationship entity.
Results entity.
Status entity.
The plain_markdown and plain_text fields are elm-mastodon additions.
content is the HTML to display.
plain_markdown is the markdown the user entered, if it is available.
plain_text is the unformatted text, if it is available.
A subset of Status, returned by Request.GetHistoryStatus.
RawStatus entity.
Extra Status fields that are not returned by all servers.
ScheduledStatus entity.
Conversation entity.
Group entity.
This is a Gab extension.
Group relationship entity.
This is a Gab extension.
Values for the Account.emojis list. Also returned by /api/v1/custom_emojis.
Values for the Account.fields and Source.fields lists.
Values for Source.privacy
Element of Status.media_attachments and ScheduledStatus.media_attachments.
Note that it's possible to create an Attachment whose type_ disagrees
with its meta. Maybe I should have represented it to prevent that, but I
chose to mostly match the JSON.
Types for the Attachment.type_ field.
Value for Attachment.meta
Fields for an ImageMeta.
Fields for a VideoMeta.
Values for ImageMetaFields.small and ImageMetaFields.original
Values for VideoMetaFields.small and VideoMetaFields.original
The optional focus of an image attachment.
Choices for the Card.type_ field.
Choices for the Filter.context list.
Value of Instance.urls.
Value of Instance.stats.
Choices for Notification.type_.
Values for Status.visibility.
Values in Status.mentions.
Elements of Results.hashtags and Status.tags.
Value for Tag.history.
Value for Status.poll, and an Entity in its own right.
Elements of the Poll.options list.
Define a Poll as part of a posted new or updated Status
Elements of ScheduledStatus.params.
The pleroma field of a RawStatus entity (Pleroma only).
Authorization Parameters.
Applications will usually save this in localStorage, use the saved token
until it expires, then use the client ID and secret to mint a new authorization.
The authorization is usually of the type "Bearer <token>".
Wrapped Account, to prevent type recursion.
Wrapped Status, to prevent type recursion.
One type to rule them all.
This is mostly to make tests easier to define. Most code will use individual entities explicitly.