Reference
Shapes
What the routes take and send, by name: one of anahita-libs by its own (NodeItem), one of a service with its module (hashtag.HashtagNodeItem).
abusereport.Case
What an administrator sees of a case in a list.
decided_attimeWhen it was decided.decided_byNodeItemWho decided it.decision_actionstringWhat was done.decision_notestringWhat the administrator noted.first_reported_attimealwaysWhen it was first reported.idintegeralwaysIts id.last_reported_attimealwaysWhen it was last reported.- The reasons given, with how many gave each.
report_countintegeralwaysHow many people reported it.statusstringalwaysopen,actionedordismissed.targetNodeItemTarget is the reported node as it is now, or absent when it is gone.target_gonebooleanalwaysWhether what was reported is gone.target_idintegeralwaysThe id of what was reported.target_ownerNodeItemThe profile it is on.target_typestringalwaysWhat kind of node it is.written_byNodeItemWho wrote it, when it is a reply one of a website's administrators made as the website. Sent only here, to those who handle reports.
abusereport.CaseDetail
A case with its reports and the target's earlier cases.
decided_attimeWhen it was decided.decided_byNodeItemWho decided it.decision_actionstringWhat was done.decision_notestringWhat the administrator noted.first_reported_attimealwaysWhen it was first reported.idintegeralwaysIts id.last_reported_attimealwaysWhen it was last reported.- The earlier cases about the same thing.
- The reasons given, with how many gave each.
report_countintegeralwaysHow many people reported it.- Each person's report.
statusstringalwaysopen,actionedordismissed.targetNodeItemTarget is the reported node as it is now, or absent when it is gone.target_gonebooleanalwaysWhether what was reported is gone.target_idintegeralwaysThe id of what was reported.target_ownerNodeItemThe profile it is on.target_typestringalwaysWhat kind of node it is.written_byNodeItemWho wrote it, when it is a reply one of a website's administrators made as the website. Sent only here, to those who handle reports.
abusereport.CaseSummary
How many cases wait to be decided.
openintegeralwaysHow many are open. At least 0.
abusereport.ProfileCase
A case as a group's or an event's administrators see it (roadmap row 102, part 6b): what was reported and the reports against its rules, never who made them, nor the site's decision notes.
idintegeralwaysIts id.last_reported_attimealwaysWhen it was last reported.- The reports against the profile's rules, oldest first.
statusstringalwaysopen,actionedordismissed.targetNodeItemTarget is the reported node as it is now, or absent when it is gone.target_gonebooleanalwaysWhether what was reported is gone.target_idintegeralwaysThe id of what was reported.target_typestringalwaysWhat kind of node it is.
abusereport.ProfileReport
One report against a profile's rules, with nobody's name.
created_attimealwaysWhen it was made.detailsstringWhat the reporter added.rulestringalwaysThe rule broken, by its title.
abusereport.Reason
One entry of the list a reporter chooses from, in their language.
descriptionstringWhat it covers.keystringalwaysWhat it is called in a report.labelstringalwaysWhat it is called, in the language asked for.requires_detailsbooleanalwaysWhether the reporter must say more in their own words.
abusereport.ReasonCount
How many reports in a case gave one reason.
countintegeralwaysHow many reports gave it.keystringalwaysThe reason.labelstringalwaysWhat it is called.
abusereport.Report
One person's report, as an administrator sees it.
created_attimealwaysWhen it was made.detailsstringWhat the reporter added.idintegeralwaysIts id.reason_keystringalwaysThe reason given.reason_labelstringalwaysWhat it is called.reporterNodeItemWho reported it.reporter_idintegeralwaysTheir id.rulestringWith reason_key "rule": the rule broken, by its title, and whose rule it is, 0 for the site's.rule_profileNodeItemThe group or event whose rule it is.rule_profile_idintegerupdated_attimealwaysWhen it was last changed: a second report by the same person updates it.
activitypub.Actor
Somebody, as they are described to another server.
@contextanythingdiscoverablebooleanalwaysendpointsactivitypub.Endpointsfollowersstringalwaysfollowingstringalwaysidstringalwaysimageactivitypub.ImageinboxstringalwaysmanuallyApprovesFollowersbooleanalwaysWhether a follow waits to be approved.namestringoutboxstringalwayspreferredUsernamestringalwayspublishedstringsummarystringtypestringalwaysurlstring
activitypub.Collection
A list said only by how long it is: who follows somebody is theirs to know, and how many is all that is told.
@contextanythingalwaysidstringalwaystotalItemsintegeralwaystypestringalways
activitypub.Endpoints
sharedInboxstring
activitypub.Image
mediaTypestringtypestringalwaysurlstringalways
activitypub.JRD
A WebFinger answer: who a handle is, and where they are.
aliaseslist of stringsubjectstringalways
activitypub.JRDLink
hrefstringrelstringalwaystypestring
activitypub.Note
A post, as it is sent to and read from another server.
@contextanythingattachmentlist of activitypub.SentPictureThe pictures of a photo post, or the video of a video post.attributedTostringalwayscclist of string or nullalwayscontentstringalwayscontentMapmap of stringidstringalwaysimageactivitypub.ImageAn Article's cover.inReplyTostringWhat it answers, by the address that has between servers.locationmap of anythingWhere it is: the first location its author chose for it, aPlace(roadmap row 82, part 3b). Every one is also aPlacein Tag.namestringAn Article's title, and the opening it is summed up by. A note has neither: Mastodon shows a note's summary as a warning to click past.publishedstringsummarystringtaglist of activitypub.Tagtolist of string or nullalwaystypestringalwaysupdatedstringurlstring
activitypub.PublicKey
idstringalwaysownerstringalwayspublicKeyPemstringalways
activitypub.RemotePerson
Somebody on another server, as the web app is told.
aliasstringalwaysTheir handle: alice@mastodon.example.bodystringalwaysWhat they say of themselves.idintegeralwaysTheir id here.lockedbooleanalwaysWhether a follow of theirs waits to be approved.namestringalwaysTheir name.origin_domainstringalwaystypestringalwaysAlways the type of a person on the fediverse.uristringalwaysTheir address between servers, and the server it is on.urlstringalwaysTheir page on their own server.
activitypub.SentIcon
A still that stands for a video.
mediaTypestringalwaystypestringalwaysurlstringalways
activitypub.SentPicture
One picture of a post, as it is sent: where to fetch it, what it is, how big, and what its author said it shows.
heightinteger- A video's poster, which Mastodon shows before it plays.
mediaTypestringalwaysnamestringtypestringalwaysurlstringalwayswidthinteger
activitypub.Settings
What a person is shown about being on the fediverse.
actorstringWhere those servers find them.availablebooleanalwaysWhether they could be, and why not when they could not.enabledbooleanalwaysWhether they are.handlestringWhat they are, or would be, called from other servers, and where those servers find them.reasonstringWhy not:site_private,site_unreachableorprofile_not_public.
activitypub.Tag
Tag names somebody or a hashtag that a post mentions, beside its text, or a location it was tagged with, a Place with its point.
hrefstringalwayslatitudenumberA Place's point.longitudenumbernamestringalwaystypestringalways
actor.GroupDeletionCounts
What deleting a group or an event would take with it, for the Danger zone.
adminsintegeralwaysIts administrators.followersintegeralwaysWho follows it.member_sincestringWhen it was made, when it is known.postsintegeralwaysThe posts in it.repliesintegeralwaysThe replies in it.
actor.HandleResponse
Which profile an alias is: where the web app reads it, and by what.
aliasstringalwaysIts alias, as it is kept.idintegeralwaysIts id.kindstringalways"people", "groups" or "events": the profile's own address begins so.
actor.PersonDeletionCounts
What deleting a person would take with it, for the Danger zone.
followersintegeralwaysWho follows them.followingintegeralwaysWhom they follow.groups_administeredintegeralwaysThe groups they administer.member_sincestringWhen they joined, when it is known.postsintegeralwaysTheir posts.repliesintegeralwaysTheir replies.
actor.PersonNode
accessstringalwaysaliasstringIts handle (ana, orana@mastodon.socialfor somebody on another server).allow_downloadbooleanalwaysWhat this actor's new photos and videos start with: whether they may be downloaded.allow_follow_requestbooleanalwaysWhether people its profile is not open to may ask to follow it.archived_attimePermanent, and set only once archived, so the settings page can show the state rather than offering an action that no longer applies.authorAuthorAuthor informationauthorizedNodeAuthorizedavatar_urlsmap of ImageIts picture, in each size there is:small,medium,large,square.bodystringIts description.cover_urlsmap of ImageIts cover picture, in each size there is:medium,large.created_attimealwaysWhen it was made.deleted_attimePresent only while the actor is scheduled for deletion, so the settings page can offer Restore instead of the delete form. Deleting also clears Enabled, and a client reading only that cannot tell an account on its way out from one an administrator disabled.editorEditorenabledbooleanalwaysWhether it is enabled: false when a site administrator has disabled it, or while it is being deleted.eventEventOn an event: when it is, how many may go and are going, and what the viewer answered. Left out on anything else.featured_attimeSet only while the installation features this actor, so a super administrator's profile menu can show the toggle's state.featureslist of NodeFeaturefollower_countintegerHow many follow it.idintegeralwaysIts id.is_admined_by_viewerbooleanWhether the viewer is one of its administrators.is_blocked_by_viewerbooleanWhether the viewer has blocked it.is_following_viewerbooleanWhether it follows the viewer.is_invitedbooleanWhether the viewer has been invited to follow this actor and is yet to answer.is_leading_viewerbooleanWhether the viewer follows it.languagestringThe language this person usually posts in. Left out when not set.leader_countintegerHow many it follows.namestringIts name.origin_domainstringThe server it came from, when it came from another.permissionsmap of stringperson_pronounsstringperson_typestringquote_policystringOn a person: who may quote their posts, when a post does not say. "anyone", "followers" or "nobody"; left out when they have not said, which is anyone.show_reposts_on_profilebooleanalwaysWhether what this actor reposts is also among its profile's posts.typestringalwaysWhat kind of profile it is:node.actor.actor-service.person.v1,...group.v1or...event.v1, or one of another server's.updated_attimeuristringWhat it is called on the server it came from, and that server, when it came from another. Left out of everything made here.verifiedbooleanA mark kept from earlier versions of Anahita. Nothing sets it yet.website_urlstringOne link on the profile. Rendered as an anchor, so the value is validated to http(s) on the way in — see requests/actor.go.
actor.Rule
One of a profile's rules.
bodystringalwaysA line more, if it needs one.titlestringalwaysA few words: "Be kind".
actor.Rules
A profile's rules, as they are now.
agreed_versionintegeralwaysThe version the viewer last agreed to, 0 for none: behind Version, they are asked again.updated_atstringalwaysWhen they last changed, RFC 3339, or empty.versionintegeralwaysRaised by every change; 0 for a profile that never had any.
actor.TaggedPerson
One person in a post, as the post's list of them answers.
pendingbooleanalwaysWaiting for their approval: shown only to them and the post's author.- Who.
ActorBrief
An actor named beside something else: who invited, who was invited, what they were invited to. Enough to show a picture and a name and to lead to the profile, and nothing of the profile itself.
aliasstringA profile's handle (ana, orana@mastodon.socialfor somebody on another server), or a hashtag's name.avatar_urlsmap of ImageIts picture, in each size there is:small,medium,large,square.idintegeralwaysIts id.namestringA profile's name, or a post's title where it has one.typestringalwaysWhat kind of thing it is:node.actor.<service>.person.v1,...group.v1,...event.v1, or a post's kind.verifiedbooleanA mark kept from earlier versions of Anahita. Nothing sets it yet.
ActorEditAddPermission
accessstringalwaysWho may add it.entitystringalwaysWhat may be added: a kind of post.
ActorFeatureRequest
- Who may add what.
composerslist of string or nullalwaysThe composers it offers.enabledbooleanalwaysWhether it is on for this profile.node_typeslist of string or nullalwaysThe kinds of post it makes.optionalbooleanalwaysWhether it may be turned off.orderingintegeralwaysWhere it comes among the others.servicestringalwaysThe service it is.
ActorNode
accessstringalwaysadministratorslist of AdminaliasstringIts handle (ana, orana@mastodon.socialfor somebody on another server).allow_downloadbooleanalwaysWhat this actor's new photos and videos start with: whether they may be downloaded.allow_follow_requestbooleanalwaysWhether people its profile is not open to may ask to follow it.archived_attimePermanent, and set only once archived, so the settings page can show the state rather than offering an action that no longer applies.authorAuthorAuthor informationauthorizedNodeAuthorizedavatar_urlsmap of ImageIts picture, in each size there is:small,medium,large,square.bodystringIts description.cover_urlsmap of ImageIts cover picture, in each size there is:medium,large.created_attimealwaysWhen it was made.deleted_attimePresent only while the actor is scheduled for deletion, so the settings page can offer Restore instead of the delete form. Deleting also clears Enabled, and a client reading only that cannot tell an account on its way out from one an administrator disabled.editorEditorenabledbooleanalwaysWhether it is enabled: false when a site administrator has disabled it, or while it is being deleted.eventEventOn an event: when it is, how many may go and are going, and what the viewer answered. Left out on anything else.featured_attimeSet only while the installation features this actor, so a super administrator's profile menu can show the toggle's state.featureslist of NodeFeaturefollower_countintegerHow many follow it.idintegeralwaysIts id.is_admined_by_viewerbooleanWhether the viewer is one of its administrators.is_blocked_by_viewerbooleanWhether the viewer has blocked it.is_following_viewerbooleanWhether it follows the viewer.is_invitedbooleanWhether the viewer has been invited to follow this actor and is yet to answer.is_leading_viewerbooleanWhether the viewer follows it.leader_countintegerHow many it follows.namestringIts name.origin_domainstringThe server it came from, when it came from another.permissionsmap of stringquote_policystringOn a person: who may quote their posts, when a post does not say. "anyone", "followers" or "nobody"; left out when they have not said, which is anyone.show_reposts_on_profilebooleanalwaysWhether what this actor reposts is also among its profile's posts.typestringalwaysWhat kind of profile it is:node.actor.actor-service.person.v1,...group.v1or...event.v1, or one of another server's.updated_attimeuristringWhat it is called on the server it came from, and that server, when it came from another. Left out of everything made here.verifiedbooleanA mark kept from earlier versions of Anahita. Nothing sets it yet.website_urlstringOne link on the profile. Rendered as an anchor, so the value is validated to http(s) on the way in — see requests/actor.go.
ActorNodeItem
A profile: a person, a group or an event.
accessstringalwaysaliasstringIts handle (ana, orana@mastodon.socialfor somebody on another server).allow_downloadbooleanalwaysWhat this actor's new photos and videos start with: whether they may be downloaded.allow_follow_requestbooleanalwaysWhether people its profile is not open to may ask to follow it.archived_attimePermanent, and set only once archived, so the settings page can show the state rather than offering an action that no longer applies.authorAuthorAuthor informationavatar_urlsmap of ImageIts picture, in each size there is:small,medium,large,square.bodystringIts description.cover_urlsmap of ImageIts cover picture, in each size there is:medium,large.created_attimealwaysWhen it was made.deleted_attimePresent only while the actor is scheduled for deletion, so the settings page can offer Restore instead of the delete form. Deleting also clears Enabled, and a client reading only that cannot tell an account on its way out from one an administrator disabled.enabledbooleanalwaysWhether it is enabled: false when a site administrator has disabled it, or while it is being deleted.eventEventOn an event: when it is, how many may go and are going, and what the viewer answered. Left out on anything else.featured_attimeSet only while the installation features this actor, so a super administrator's profile menu can show the toggle's state.follower_countintegerHow many follow it.idintegeralwaysIts id.is_admined_by_viewerbooleanWhether the viewer is one of its administrators.is_blocked_by_viewerbooleanWhether the viewer has blocked it.is_following_viewerbooleanWhether it follows the viewer.is_invitedbooleanWhether the viewer has been invited to follow this actor and is yet to answer.is_leading_viewerbooleanWhether the viewer follows it.leader_countintegerHow many it follows.namestringIts name.origin_domainstringThe server it came from, when it came from another.quote_policystringOn a person: who may quote their posts, when a post does not say. "anyone", "followers" or "nobody"; left out when they have not said, which is anyone.show_reposts_on_profilebooleanalwaysWhether what this actor reposts is also among its profile's posts.typestringalwaysWhat kind of profile it is:node.actor.actor-service.person.v1,...group.v1or...event.v1, or one of another server's.uristringWhat it is called on the server it came from, and that server, when it came from another. Left out of everything made here.verifiedbooleanA mark kept from earlier versions of Anahita. Nothing sets it yet.website_urlstringOne link on the profile. Rendered as an anchor, so the value is validated to http(s) on the way in — see requests/actor.go.
Admin
aliasstringavatar_urlsmap of Imageidintegeralwaysnamestringtypestring
atproto.ImportPreview
What following here whoever the viewer follows on Bluesky would do, before it is done.
followingintegeralwaysHow many accounts the viewer follows on Bluesky.mostintegeralwaysThe most followed here in one go.posts_of_eachintegeralwaysHow many of each one's latest posts are read.
atproto.ImportStarted
ImportStarted says following them here has begun: it carries on after the answer, and for a long list takes minutes.
limitintegeralwaysHow many will be followed.startedbooleanalwaysAlways true.
atproto.RemotePerson
Somebody on Bluesky, as the web app is told. The same shape as somebody found on the fediverse.
aliasstringalwaysTheir handle: alice.bsky.social.bodystringalwaysWhat they say of themselves.idintegeralwaysTheir id here.lockedbooleanalwaysNobody on Bluesky approves who follows them.namestringalwaysTheir name.origin_domainstringalwaystypestringalwaysAlways a Bluesky person's type.uristringalwaysTheir address between servers, and where they are kept as from.urlstringalwaysTheir page on Bluesky.
atproto.Settings
Somebody's connection to Bluesky, as the web app is told.
brokenbooleanalwaysThe account's server no longer takes what was kept: it has to be connected again.connectedbooleanalwaysWhether an account is connected.didstringalwaysIts lasting name on Bluesky.handlestringalwaysIts handle.
AudienceRefusal
AudienceRefusal refuses an audience a post may not be given, and says which it may.
allowedlist of string or nullalwaysThe audiences it may be given, widest first.errorstringalwaysAlwaysaccess_not_allowed.
auth.Accepted
An acceptance recorded.
acceptedbooleanalwaysAlways true.versionstringalwaysThe version accepted.
auth.AccountItem
admin_countintegerGroups, events and websites only: how many administrators it has.aliasstringalwaysThe username.content_countintegeralwaysHow many posts it has written.created_attimealwaysWhen it was made.deleted_attimeWhen it was deleted, while it waits out the thirty days before it is purged; absent otherwise.email_verifiedbooleanPeople only: whether they confirmed their address.follower_countintegeralwaysHow many follow it.idintegeralwaysThe profile's id.kindstringalwaysperson,group,eventorwebsite.last_active_attimealwaysWhen it last did anything.leader_countintegeralwaysHow many it follows.namestringalwaysThe name shown.onboardedbooleanPeople only: whether they went through the walk-through after signing up.person_typestringPeople only:registered,administratororsuper-administrator.statestringalwaysactive,disabled,archivedordeleted(on its way to being destroyed).tierstringalwaysempty: nothing written, following nobody and followed by nobody;dormant: not active for as long as the installation calls dormant (ACCOUNT_DORMANT_DAYS);activeotherwise.
auth.Agreements
What somebody has accepted of the two documents.
- The Privacy Policy.
- The site's rules (site.json, roadmap row 102).
- The Terms of Service.
auth.AuthLogItem
citystringalwaysRoughly where it began, from its address. Empty when not known.client_idstringalwaysThe app it signed in to.countrystringalwaysThe country, likewise.created_attimealwaysWhen it began.devicestringalwaysThe kind of device:desktop,mobile,tabletorbot.idintegeralwaysThe session's id: what signing it out names.is_activebooleanalwaysWhether it is still signed in.is_viewerbooleanalwaysWhether it is the session asking.namestringalwaysThe app, or the browser.osstringalwaysIts operating system.
auth.CodeMismatch
CodeMismatch refuses a wrong code, and says how many tries are left before it stops working.
remainingintegeralwaysHow many tries are left.
auth.ConfirmationMismatch
ConfirmationMismatch refuses a confirmation that names another number than there is now.
errorstringalwaysAlwaysconfirmation_mismatch.totalintegeralwaysHow much is public now: what to confirm instead.
auth.consentItem
One recorded acceptance, as a client sees it.
acceptedbooleanalwaysWhether they have accepted it.accepted_atstring or nullalwaysWhen. Null when they never have.versionstringalwaysWhich version they accepted:1.0.
auth.InviteItem
An invitation, as its sender sees it. Not the link: that is in the mail that was sent, and nowhere else.
- Who sent it: the viewer.
created_atstringalwaysWhen it was sent.idintegeralwaysIts id: what taking it back names.recipient_emailstringalwaysWho it was sent to.statusstringalwayspending,usedorexpired.
auth.InviteList
A page of the viewer's invitations, and how many of them are waiting.
- The latest first.
- Where this page is among all of them.
pendingintegeralwaysHow many are waiting: sent, and not yet accepted, expired or taken back. The most that may wait is the viewer's entitlement, in userinfo (entitlements.invites.max_pending); sending another at it is refused (too_many_invitations).
auth.Item
One rule, promise or suggestion: a short title, and a line more if it needs one.
bodymap of stringtitlemap of string or nullalways
auth.JWKSet
The keys a token's signature is checked with (RFC 7517).
keyslist of map of anything or nullalwaysEach a JSON Web Key:kid,kty,alg,use,nande.
auth.NodeInfoDocument
What the installation is (NodeInfo 2.1).
metadatamap of anything or nullalwaysWhat the web app reads of the installation:nodeName,nodeDescription,registrationMode,approvalRequired,invitationsAccepted,invitesFrom,groupsFrom,eventsFrom,websitesFrom,locationsFrom,minContentAccess,readAccess,networks,photoMaxFiles,siteRules,spamRemovalMaxDays,accountGraceDays,videoUploads,videoMaxBytes,videoMaxSeconds,animationMaxBytes,animationMaxSeconds,termsOfServiceUrl,privacyPolicyUrl, and the support contactssupportEmail,supportPhoneandsupportWebsite.openRegistrationsbooleanalwaysWhether anybody may sign up without being invited or approved.protocolslist of string or nullalwaysWhat it speaks with other servers:activitypub, when it federates.- What it bridges to: nothing.
- What it runs.
- How much it is used.
versionstringalways2.1.
auth.nodeInfoLink
Where one version of the document is.
hrefstringalwaysWhere it is.relstringalwaysThe version's schema:http://nodeinfo.diaspora.software/ns/schema/2.1.
auth.NodeInfoLinks
Where the NodeInfo document is, for each version there is.
- One: 2.1.
auth.nodeInfoServices
What the installation bridges to and from: nothing.
inboundlist of string or nullalwaysBoth are required by the schema and both are empty: this installation does not bridge to or from anything. They are[]string{}rather than nil because the schema says array, and a JSON null there makes strict consumers reject the whole document.outboundlist of string or nullalwaysEmpty.
auth.nodeInfoSoftware
What the installation runs.
namestringalwaysanahita.repositorystringWhere its code is.versionstringalwaysIts version.
auth.nodeInfoUsage
How much the installation is used.
localPostsintegeralwaysPosts written here.- People.
auth.nodeInfoUsers
How many people have accounts.
activeHalfyearintegeralwaysThose active in the last six months.activeMonthintegeralwaysThose active in the last month.totalintegeralwaysAll of them.
auth.OAuthClientCreatedItem
The response shape used only on Add and RotateSecret — the plaintext client_secret is exposed once and never returned by any other endpoint.
activebooleanalwaysWhether it may sign people in.client_idstringalwaysWhat it calls itself when it signs people in: a slug.client_secretstringalwaysIts secret, shown this once and never again. Empty for a public app.confidentialbooleanalwaysWhether it can keep a secret: an app's own server can, an app in a browser or on a phone cannot.created_attimealwaysWhen it was registered.first_partybooleanalwaysWhether it is one of the installation's own apps.grant_typeslist of string or nullalwaysHow it may get tokens:authorization_code,refresh_token,client_credentials.idintegeralwaysIts number here: what the routes name it by.namestringalwaysWhat people are shown it is called.redirect_urislist of string or nullalwaysWhere people may be sent back to after signing in. Exactly these.scopeslist of string or nullalwaysWhat it may ask to do (oauth.md).skip_consentbooleanalwaysWhether people are not asked to allow it.token_expiryintegeralwaysHow long its access tokens last, in seconds.
auth.OAuthClientItem
activebooleanalwaysWhether it may sign people in.client_idstringalwaysWhat it calls itself when it signs people in: a slug.confidentialbooleanalwaysWhether it can keep a secret: an app's own server can, an app in a browser or on a phone cannot.created_attimealwaysWhen it was registered.first_partybooleanalwaysWhether it is one of the installation's own apps.grant_typeslist of string or nullalwaysHow it may get tokens:authorization_code,refresh_token,client_credentials.idintegeralwaysIts number here: what the routes name it by.namestringalwaysWhat people are shown it is called.redirect_urislist of string or nullalwaysWhere people may be sent back to after signing in. Exactly these.scopeslist of string or nullalwaysWhat it may ask to do (oauth.md).skip_consentbooleanalwaysWhether people are not asked to allow it.token_expiryintegeralwaysHow long its access tokens last, in seconds.
auth.OAuthErrorResponse
The standard OAuth error response body per RFC 6749 §5.2.
errorstringalwaysWhy, as RFC 6749 names it:invalid_client,invalid_grantand so on.error_codestringFor a refused refresh token, which it was:refresh_expired,refresh_not_foundandrefresh_reuseend the session;refresh_raceddoes not, since another request refreshed first.error_descriptionstringThe same in words.
auth.OAuthIntrospectItem
activebooleanalwaysWhether it is live. Nothing else is said of one that is not.client_idstringThe app it was issued to.expintegerWhen it expires, in seconds since 1970.iatintegerWhen it was issued, likewise.issstringWho issued it: this installation.jtistringIts own id.scopestringWhat it may do, separated by spaces.substringWhose it is: the person's id, or the app's for its own.
auth.OAuthSigningKeyItem
A key the installation signs tokens with, as an administrator sees it. Neither half of the key is sent: the public one is in the JWKS, and the private one never leaves the service.
activebooleanalwaysWhether new tokens are signed with it. Tokens it signed are still verified while it is in the JWKS.algorithmstringalwaysRS256.backendstringalwaysWhere the private key is kept:local, in the database, orkms.created_attimealwaysWhen it was made.expires_attimealwaysWhen it stops being signed with.idintegeralwaysIts number here.key_idstringalwaysThekida token names it by, in its header.
auth.OAuthTokenResponse
access_tokenstringalwaysWhat a request is signed with:Authorization: Bearer <token>. A JWT.expires_inintegeralwaysHow long the access token lasts, in seconds.id_tokenstringWho signed in, whenopenidwas asked for (OpenID Connect).refresh_tokenstringWhat gets the next tokens when this one expires; used once. Not for an app acting for itself.scopestringalwaysWhat the tokens may do, separated by spaces.token_typestringalwaysBearer.
auth.Onboarded
Onboarded says when the viewer went through the walk-through.
onboarded_attime or nullalwaysThe first time: calling again does not move it.
auth.OnboardingState
What the walk-through needs that userinfo does not carry.
invited_bystring or nullalwaysThe username of whoever invited the viewer, to show first. Null when nobody did, or they can no longer be followed.
auth.OpenIDConfiguration
The OpenID Connect discovery document (OpenID Connect Discovery 1.0, section 3): where each endpoint is, and what the installation supports.
authorization_endpointstringalways/oauth/authorize.claims_supportedlist of string or nullalwaysWhat a token or userinfo may say.code_challenge_methods_supportedlist of string or nullalwaysS256andplain.grant_types_supportedlist of string or nullalwaysauthorization_code,refresh_tokenandclient_credentials.id_token_signing_alg_values_supportedlist of string or nullalwaysRS256.introspection_endpointstringalways/oauth/introspect.issuerstringalwaysWho issues the tokens: theissin each.jwks_uristringalways/.well-known/jwks.json.response_types_supportedlist of string or nullalwayscode.revocation_endpointstringalways/oauth/revoke.scopes_supportedlist of string or nullalwaysEvery scope there is (oauth.md).subject_types_supportedlist of string or nullalwayspublic.token_endpointstringalways/oauth/token.token_endpoint_auth_methods_supportedlist of string or nullalwaysclient_secret_basicandclient_secret_post.userinfo_endpointstringalways/oauth/userinfo.
auth.PasskeyCount
How many passkeys somebody holds, and nothing else about them.
countintegeralwaysHow many.
auth.PasskeySignedIn
Where the browser goes next, now that it is signed in: back to the authorization that sent it to sign in, or to the app.
redirect_tostringalwaysWhere to send the browser.
auth.PasskeysRevoked
How many passkeys were removed.
revokedintegeralwaysHow many.
auth.PasswordChanged
PasswordChanged says how many other sessions were signed out.
revoked_sessionsintegeralwaysEvery one but the one that changed it.
auth.PersonTypeChanged
A person's type, and whether this changed it.
changedbooleanalwaysFalse when they already had it.idintegeralwaysperson_typestringalwaysThe type they have now.previousstringalwaysThe type they had before.
auth.PublicContent
How much is public: on the installation, or changed by making it registered-only.
groupsintegeralwaysGroups anybody may see.peopleintegeralwaysPeople whose profiles anybody may see.postsintegeralwaysPosts anybody may see.public_allowedbooleanalwaysWhether new public content is still allowed here. While it is, the conversion is refused: it would be undone by the next public post.totalintegeralwaysThe three together: the number to confirm.
auth.Rules
The site's rules, with the version agreed to. Raising the version asks everybody to agree again; a correction that leaves it as it is asks nobody.
versionstringalways
auth.SessionStarted
SessionStarted says the app's session holds its tokens now.
statusstringalwaysAlwaysauthenticated.
auth.SignupDecided
The answer given to a request.
person_idintegerThe account made, when it was approved.statusstringalwaysapprovedorrejected.
auth.SignupRequestItem
What an administrator sees.
bodystringalwaysWhat they say of themselves.created_atstringalwaysWhen they asked.created_ipstringalwaysThe address they asked from.emailstringalwaysTheir address, confirmed.idintegeralwaysThe request's id: what answering it names.invited_byintegerWho invited them, when somebody did: a person's id.namestringalwaysTheir name.statusstringalwayspending.usernamestringalwaysThe username asked for.username_takenbooleanalwaysUsernameTaken says whether the name they asked for is still free.website_urlstringalwaysTheir website.
auth.SiteAbout
What GET /site answers: every text in every language it is written in, keyed by the web app's language names ("en-CA", "fr-FR"), for the reader's app to choose from.
- Shown on the About page, under "Our promises to you".
- Offered to a group's administrators when they write its rules.
- The site's rules, and the version agreed to: everybody ticks each before using the site, and again when the version is raised.
auth.TotpStatus
Whether somebody has two-factor authentication.
enabledbooleanalwaysWhether it is on.expiredbooleanalwaysWhether its last passcode is too long ago, so that signing in asks for one. Always false when it is off.
auth.UsernameChanged
The username as it was stored.
usernamestringalwaysThe new username.
auth.WebAuthnCredentialItem
The person-facing shape of an enrolled passkey.
clone_warningbooleanalwaysWhether it looked copied when last used: worth removing.created_attimealwaysWhen it was added.idintegeralwaysIts id: what renaming or removing it names.last_used_attime or nullalwaysWhen it was last used. Null when never.nicknamestringalwaysWhat it is called: the device, unless its owner renamed it.syncedbooleanalwaysWhether it is kept in sync across devices, so that losing one loses nothing.transportslist of string or nullalwaysHow the browser reaches it:internal,usb,nfc,ble,hybrid.
Author
Who wrote something.
aliasstringA profile's handle (ana, orana@mastodon.socialfor somebody on another server), or a hashtag's name.avatar_urlsmap of ImageIts picture, in each size there is:small,medium,large,square.idintegeralwaysIts id.namestringA profile's name, or a post's title where it has one.typestringWhat kind of thing it is:node.actor.<service>.person.v1,...group.v1,...event.v1, or a post's kind.
DomainBlock
A server this installation will have nothing to do with.
created_attimealwaysWhen.created_byintegeralwaysThe super administrator who refused it.domainstringalwaysThe server's name.reasonstringalwaysWhy it is refused.
Editor
Who changed something last.
aliasstringA profile's handle (ana, orana@mastodon.socialfor somebody on another server), or a hashtag's name.avatar_urlsmap of ImageIts picture, in each size there is:small,medium,large,square.idintegeralwaysIts id.namestringA profile's name, or a post's title where it has one.typestringWhat kind of thing it is:node.actor.<service>.person.v1,...group.v1,...event.v1, or a post's kind.
Event
What only an event has, on the actor it is.
addressEventAddressWhere it is held, when it is somewhere. Sent to the same people as the address to join online, and for the same reason: it may be somebody's home. HasAddress says there is one all the same.cancelled_attimeSet when it was called off.capacityintegeralwaysHow many may be going. 0 for no limit. At least 0.ends_attimealwaysWhen it ends, in UTC.going_countintegeralwaysHow many are going. At least 0.has_addressbooleanalwaysWhether it has an address, said to everybody.has_online_urlbooleanalwaysWhether it has an address to join online, said to everybody.hostActorBriefThe group hosting it, when there is one the viewer may see.is_fullbooleanalwaysEvery place is taken. Maybe is still open.maybe_countintegeralwaysHow many may go. At least 0.online_urlstringWhere to join online. Sent only to whoever is going and whoever looks after the event; HasOnlineURL says there is one all the same.open_to_host_followersbooleanWhether everybody who follows the host may see that it is on and answer it.starts_attimealwaysWhen it begins, in UTC.statestringalwaysupcoming, happening, past or cancelled, as of when it was sent.timezone_namestringalwaysThe zone the times were given in, as IANA names it. The times themselves are UTC.viewer_rsvpstringWhat the viewer has answered: going, maybe, or left out.
EventAddress
Where an event is held, as it was typed: the node's own address fields. It is not a place on the site's map. Nobody else can find it, tag it or search for it.
citystringcountrystringlatitudenumberWhere that is on a map, when whoever made the event asked for one and the address was found. Left out otherwise.longitudenumberpostal_codestringstate_provincestringstreetstring
export.ExportItem
An export as its owner is told of it.
created_attimealwaysWhen it was asked for.download_urlstringWhere the archive is fetched from, while it is ready: an address good for a few minutes, made afresh each time this is read.errorstringWhy it failed, when it did.expires_attimeWhen the archive will be deleted.idstringalwaysIts id: a UUID.ready_attimeWhen it was ready.size_bytesintegerHow big the archive is, once it is ready.statusstringalwayspending,building,ready,failed,cancelledorexpired.
export.ExportList
The viewer's exports, and when they may ask again.
- The latest first.
every_daysintegeralwaysHow many days must pass between two exports. 0 for no wait.keep_daysintegeralwaysHow many days an archive is kept once it is ready.next_attimeWhen they may next ask, while they must wait.
export.TooSoon
TooSoon refuses an export asked for before it is time, and says when.
errorstringalwaysAlwaystoo_soon.next_attimealwaysWhen they may ask.
feed.CustomFeedAuthorized
copybooleanalwaysdeletebooleanalwaysWhether the viewer may delete it.editbooleanalwaysWhether the viewer may change it.pinbooleanalwaysKeep it on the home page, and make a copy to change.
feed.CustomFeedPage
A page of a custom feed's posts.
- Its posts, the latest first.
- Where the page is.
feed.CustomFeedPagination
A feed is paged by what came before, and has no total: counting it would be reading all of it.
has_morebooleanalwaysWhether there is a next page.limitintegeralwaysThe most a page holds. At least 0.next_cursorstringalwaysWhat to ask for ascursorfor the next page.
feed.CustomFeedResponse
A feed as it is sent.
accessstringalwaysWho may see it.- What the viewer may do with it.
bodystringalwaysWhat it is for, in its owner's words.created_attimealwaysWhen it was made.definitionanythingalwaysWhat it shows (feeds.md).iconstringalwaysThe name of its picture.idintegeralwaysIts id.is_pinnedbooleanalwaysWhether the viewer keeps it on their home page.namestringalwaysWhat it is called.ownerNodeItemWhose it is.referenceslist of NodeItemThe profiles and places its definition names, the ones the viewer may see, for the editor to show by name. Sent with a single feed.typestringalwaysAlways a custom feed's type.updated_attimealwaysWhen it last changed.
feed.DiscoverPage
A page of the feeds people have shared.
- The feeds.
- Where the page is.
feed.DiscoverPagination
Where a page of shared feeds is: by how many came before it, and with no total.
has_morebooleanalwaysWhether there is a next page.limitintegeralwaysThe most a page holds. At least 0.next_startintegeralwaysWhat to ask for asstartfor the next page. At least 0.startintegeralwaysHow many came before this page. At least 0.
FeedBrief
What a custom feed is beyond its name and its owner, for where one is listed among other things, as in search results: its picture and what it shows.
definitionanythingalwaysWhat it shows, as its owner set it (feeds.md).iconstringalwaysThe name of the icon its owner chose for it.
hashtag.HashtagNodeItem
A hashtag.
aliasstringWhat it is found by:/hashtags/<alias>.followedbooleanIn the following and all lists: the viewer follows it.idintegeralwaysIts id.namestringThe hashtag as it is shown, without its #.profilesintegerIn a trending list: how many profiles used it in the window, each once: the writers of posts carrying it, and the profiles tagged with it. At least 0.typestringalwaysAlwaysnode.tag.hashtag-service.hashtag.v1.usesintegerIn the following and all lists: how many posts it is on that anybody may see, and the viewer's own. At least 0.
hashtag.Suggestion
A hashtag in use, offered.
aliasstringalwaysIn lower case: what it is found by, and what to write after the #.followedbooleanalwaysIn one of the viewer's custom feeds.idintegeralwaysnamestringalwaysAs it is shown.usesintegeralwaysHow many posts it is on that anybody may see, and the viewer's own.
hashtag.SuggestResponse
The hashtags offered, the best first.
Image
One size of a picture.
- How big it is.
urlstringalwaysWhere it is read from.
ImageSize
How big an image is.
heightintegeralwaysIn pixels.widthintegeralwaysIn pixels.
LimitedActor
What somebody is shown of a profile they may not see, when that profile lets people ask to follow it: enough to know whose it is and to ask.
aliasstringallow_follow_requestbooleanalwaysWhether it lets people ask to follow it. False for one shown only because the viewer was invited.avatar_urlsmap of ImagebodystringAnd what it is, for the same reason. Only with Event.eventEventOn an event the viewer was invited to: when it is, so they can decide. Never where to join it online.idintegeralwaysis_follow_requested_by_viewerbooleanalwaysWhether the viewer has asked already and is waiting.is_invitedbooleanWhether the viewer has been invited to follow it and is yet to answer.namestringrestrictedbooleanalwaysAlways true. What tells a client this is not the profile itself.typestringalwaysverifiedbooleanvia_hostbooleanAn event that lets in the followers of the group hosting it, shown to one of them. They can answer it as it stands, going or maybe.
LinkPreview
The card a note carries for a link in it: what the page was called and was about when the note was written.
descriptionstringWhat the page says of itself.imagestringWhere its picture is read from, on this installation: a path under the API. Never the other site's own address for it.site_namestringThe site it is on, as it calls itself.titlestringalwaysWhat the page is called.urlstringalwaysThe link.
linkpreview.PreviewResponse
A preview as it is sent: what the page says of itself.
descriptionstringWhat the page says of itself.imagestringWhere the picture is read from, on this installation.site_namestringThe site it is on, as it calls itself.titlestringalwaysWhat the page is called.urlstringalwaysThe link, as it was made plain before it was read.
location.LocationNodeItem
A place posts can be tied to.
addressstringIts street address.aliasstringIts short name.authorizedNodeAuthorizedWhat the viewer may do with it.citystringIts city.countrystringIts country.idintegeralwaysIts id.latitudenumberWhere it is: latitude, found from its address.longitudenumberWhere it is: longitude.namestringWhat it is called.postal_codestringIts postal or zip code.profilesintegerIn a trending list: how many profiles used it in the window, each once: the writers of posts tied to it, and the profiles tagged with it. At least 0.state_provincestringIts state or province.typestringalwaysAlways a place's type.
MediaRemoved
What a post from another server says of pictures that are no longer stored here: how many there were, what each showed, and whether they can still be had from where they came from.
altslist of string or nullalwaysWhat each showed, as its author said; "" where nothing was said.countintegeralwaysHow many pictures there were.gonebooleanThey are not where they came from any more either: the post was taken away there, or its server is gone.
MediumNode
A post or a reply, read on its own or answered with after a change.
accessstringaliasstringIts short name, where it has one.allow_downloadbooleanWhether whoever can see it may download what it holds. Sent on a post that holds a file, for whoever may change it.authorAuthorRelated EntitiesauthorizedNodeAuthorizedAuthorization Informationcitation_countintegeralwaysHow many people cite it, each once, never its author.comment_countintegeralwaysHow many replies are under it.comment_statusbooleanalwaysWhether it takes replies at all.contentstringIts words, as Markdown.cover_urlsmap of ImageMedia URLscreated_attimeWhen it was written.deletedbooleanOn a reply: removed, and kept as an empty placeholder because other replies hang from it. It carries no text and no author.draftbooleanThat it is a draft, an article or a topic still being written, seen by its author alone.editorEditorWho changed it last.enabledbooleanalwaysWhether it is shown: false when it has been disabled.fileslist of PhotoFileThe images of a photo post, in order. The first is the one portrait_urls shows.hiddenbooleanOn a reply: hidden from its thread. Sent only to somebody who may show it again.idintegeralwaysIts id.is_liked_by_viewerbooleanalwaysWhether the viewer likes it.is_reposted_by_viewerbooleanalwaysWhether the viewer has reposted it.is_saved_by_viewerbooleanWhether the viewer has saved it. Sent to them alone, like the rest of what is said here about the viewer.is_subscribed_by_viewerbooleanWhether the viewer asked to be told of its replies (Get notifications, docs/notifications.md).languagestringThe language it is written in, as its author said (en,fa).library_onlybooleanThat it is in its author's media library only: put up to be shown in an article, and listed nowhere else.likes_countintegeralwaysHow many like it.link_previewLinkPreviewOn a note that carries one: the preview of a link in it.link_previewslist of LinkPreviewThe cards of the pages it shows within its text, an article's or a topic's: an address on a line of its own each.media_removedMediaRemovedOn a photo post from another server whose pictures are no longer stored here.mimetypestringThe kind of file it holds, where it holds one.origin_domainstringThe server it came from, when it came from another.ownerOwnerThe profile it is on.parent_idintegerAs on MediumNodeItem.pinnedbooleanalwaysWhether it is pinned to the profile it is on, which it then leads.portrait_urlsmap of ImageA photo post's first picture, in each size there is:square,small,medium,large,original.quoteQuoteEmbedOn a note that quotes a post: that post, or why it is not shown.quote_countintegeralwaysHow many notes quote it.quote_idintegerThe id of the post it quotes, whether or not it is shown.quote_policystringWho may quote this post, when its author has said: "anyone", "followers" or "nobody". Left out when they have not, and their own setting applies.reply_accessstringWho may reply, as the author set it: "anyone", "nobody", or any of "followers", "following" and "mentioned" joined by commas. Not on a reply, which follows the post at the top of its thread.repost_countintegeralwaysHow many have reposted it.rootParentOn a reply read on its own: the post at the top of its thread.root_idintegerOn a reply: the post at the top of its thread.titlestringIts title, where it has one.typestringalwaysWhat kind of post it is:node.medium.text-service.note.v1for a note, and so on.updated_attimeWhen it was last changed.uristringWhat it is called on the server it came from, and that server, when it came from another. Left out of everything made here.videoVideoWhat a video post plays.view_countintegeralwaysHow many times it has been read.
MediumNodeItem
A post or a reply in a list.
accessstringaliasstringIts short name, where it has one.authorAuthorRelated EntitiesauthorizedNodeAuthorizedWhat the viewer may do with it, as on the post's own page: reply, like, quote and the rest. Left out where a list does not say.comment_countintegeralwaysHow many replies are under it.contentstringIts words, as Markdown.cover_urlsmap of ImageMedia URLscreated_attimeWhen it was written.deletedbooleanOn a reply: removed, and kept as an empty placeholder because other replies hang from it. It carries no text and no author.fileslist of PhotoFileThe images of a photo post, in order. The first is the one portrait_urls shows.hiddenbooleanOn a reply: hidden from its thread. Sent only to somebody who may show it again.idintegeralwaysIts id.is_liked_by_viewerbooleanalwaysWhether the viewer likes it.is_reposted_by_viewerbooleanalwaysWhether the viewer has reposted it.is_saved_by_viewerbooleanWhether the viewer has saved it. Sent to them alone, like the rest of what is said here about the viewer.is_subscribed_by_viewerbooleanWhether the viewer asked to be told of its replies (Get notifications, docs/notifications.md).languagestringThe language the author said it is written in. Left out when they did not say.likes_countintegeralwaysHow many like it.link_previewLinkPreviewOn a note that carries one: the preview of a link in it.link_previewslist of LinkPreviewThe cards of the pages it shows within its text, an article's or a topic's: an address on a line of its own each.media_removedMediaRemovedOn a photo post from another server whose pictures are no longer stored here.mimetypestringThe kind of file it holds, where it holds one.origin_domainstringThe server it came from, when it came from another.ownerOwnerThe profile it is on.parent_idintegerOn a reply: the post or reply it answers, and the post at the top of its thread. Left out on anything that is not a reply.portrait_urlsmap of ImageA photo post's first picture, in each size there is:square,small,medium,large,original.quoteQuoteEmbedOn a note that quotes a post: that post, or why it is not shown.quote_countintegeralwaysHow many notes quote it.quote_idintegerThe id of the post it quotes, whether or not it is shown.repost_countintegeralwaysHow many have reposted it.root_idintegerOn a reply: the post at the top of its thread.titlestringIts title, where it has one.typestringalwaysWhat kind of post it is:node.medium.text-service.note.v1for a note, and so on.uristringWhat it is called on the server it came from, and that server, when it came from another. Left out of everything made here.videoVideoWhat a video post plays.
NodeAddPermission
accessstringalwaysentitystringalways
NodeAuthorized
What the viewer may do with what it is sent with, as the server's own rules answer. edit, delete and administration are always there. The rest are left out when not worked out for this answer, so that a client can tell "no" from "not answered here" (see entities.AnahitaNodeAuthorized); composers is left out when empty too, since every person and group answer works it out.
add_followerbooleanOn a profile: whether the viewer may add a follower to it.administrationbooleanalwaysWhether the viewer may look after it: on a profile, its settings.audienceslist of stringOn a person or group: who a new post there may be shown to. On a post: who it may be changed to be shown to, for somebody who may edit it. Widest first; left out otherwise.block_from_ownerbooleanOn a post or a reply in a group or an event: whether the viewer may block its writer from there, as the group.commentbooleanWhether the viewer may reply to it.composerslist of stringOn a profile: the kinds of post the viewer may make on it.deletebooleanalwaysWhether the viewer may delete it.downloadbooleanOn a post that holds a file: whether the viewer may download it.editbooleanalwaysWhether the viewer may change it.hidebooleanOn a reply: whether the viewer may hide it from its thread.invitebooleanWhether the viewer may invite people to follow this actor.likebooleanWhether the viewer may like it.pinbooleanOn a post: whether the viewer may pin it to the profile it is on.quotebooleanOn a post: whether the viewer may quote it.
NodeFeature
composerslist of string or nullalwaysenabledbooleanalwaysnode_typeslist of string or nullalwaysoptionalbooleanalwaysorderingintegeralwaysservicestringalways
NodeItem
A post, a reply, a profile or anything else there is, as a list or a read sends it: what it is not is left out.
accessstringaliasstringA profile's handle (ana, orana@mastodon.socialfor somebody on another server), or a hashtag's name.authorAuthorRelated EntitiesauthorizedNodeAuthorizedWhat the viewer may do with the item. feed-service fills in comment and like, which the feed's buttons read; nothing else here computes it.avatar_urlsmap of ImageMedia URLsbodystringA profile's description, or a custom feed's. Left out on a post, whose words are its content.comment_countintegerHow many replies are under it. A post in a feed said nothing of this, so its interactions counted its replies as none.contentstringA post's words, as Markdown.cover_urlsmap of ImageA profile's cover picture, in each size there is:medium,large.created_attimeWhen it was made.editorEditorWho changed it last.eventEventOn an event: when it is and how many are going. Left out on anything else, and where whoever sent the node did not attach it.feedFeedBriefOn a custom feed: its picture and what it shows. Left out on anything else.fileslist of PhotoFileThe images of a photo post, in order. The first is the one portrait_urls shows.follower_countintegerHow many follow it, on a profile.idintegeralwaysIts id.is_admined_by_viewerbooleanOn a profile: whether the viewer is one of its administrators.is_blocked_by_viewerbooleanOn a profile: whether the viewer has blocked it.is_following_viewerbooleanOn a profile: whether it follows the viewer.is_leading_viewerbooleanOn a profile: whether the viewer follows it.is_liked_by_viewerbooleanWhether the viewer likes it.is_reposted_by_viewerbooleanWhether the viewer has reposted it.is_saved_by_viewerbooleanWhether the viewer has saved it. Sent to them alone, like the rest of what is said here about the viewer.is_subscribed_by_viewerbooleanSet by the subscribe and unsubscribe handlers, which answer with the node they acted on. The mapper had no field for it, so mapping their response would have silently dropped the one thing it reports.languagestringThe language it is written in, as its author said (en,fa).likes_countintegerHow many like it.link_previewLinkPreviewOn a note that carries one: the preview of a link in it.media_removedMediaRemovedOn a photo post from another server whose pictures are no longer stored here.mimetypestringThe kind of file it holds, where it holds one.namestringA profile's name, a custom feed's or a hashtag's. Left out on a post, which has a title instead.origin_domainstringThe server it came from, when it came from another.ownerOwnerThe profile it is on.parentParentWhat it answers, on a reply; what it reposts, on a repost.pinnedbooleanPinned to the profile it is on, which it then leads.portrait_urlsmap of ImageA photo post's first picture, in each size there is:square,small,medium,large,original.quoteQuoteEmbedOn a note that quotes a post: that post, or why it is not shown.quote_countintegerHow many notes quote it.quote_idintegerThe id of the post it quotes, on a note that quotes one.repost_countintegerHow many have reposted it.rootParentOn a reply: the post at the top of its thread, with the profile the thread is on.root_idintegerSet on a reply: the post at the top of its thread. Its parent, what it directly answers, is sent whole asparent.titlestringA post's title, where it has one.typestringalwaysWhat kind of thing it is:node.medium.text-service.note.v1for a note,node.actor.actor-service.person.v1for a person, and so on.uristringWhat it is called on the server it came from, and that server, when it came from another. Left out of everything made here.verifiedbooleanA mark kept from earlier versions of Anahita. Nothing sets it yet.videoVideoWhat a video post plays.
notification.MarkedRead
How many notifications Mark all read marked.
countintegeralwaysHow many were unread, and are read now.
notification.NotificationItem
Something the viewer is told of.
actionslist of stringWhat the viewer can do from it, now:answer_request(accept or decline a request to follow that is still waiting),follow(they do not follow whoever did it),reply. Left out when nothing.comment_idintegerThe reply or the repost that holds what was done, where it is not the object: the reply to answer, for a reply.created_attimealwaysWhen it was made.idintegeralwaysIts id.idslist of integerGrouped with it (likes of one post, reposts of one post, follows of one profile): every notification's id, this one's first. Reading or deleting it is reading or deleting them all.is_readbooleanalwaysWhether the viewer has read it.- What was done.
otherslist of notification.SubjectWhoever else did the same, newest first, at most two.others_countintegerHow many more did it than are named.servicestringalwaysThe service that told it.- Who did it.
- What it was done to.
typestringalwaysWhat it tells of, as the event that made it is named.updated_attimealwaysWhen it last changed: when it was read, for one.
notification.Object
What was done: a post, a reply, a like.
aliasstringIts handle, or its short name.bodystringA profile's description. Left out on a post, whose words are its content.contentstringA post's words, as Markdown.idintegeralwaysIts id.namestringA profile's name. Left out on a post, which has a title instead.portrait_urlsmap of ImageA photo post's first picture, in each size there is.servicestringThe service it belongs to.titlestringA post's title, where it has one.typestringalwaysWhat kind of thing it is.
notification.Settings
Settings are what a person is told about, every kind of thing in order.
notification.Subject
Who did what a notification tells of.
aliasstringIts handle, or its short name.avatar_urlsmap of ImageTheir picture, in each size there is.idintegeralwaysIts id.namestringIts name, or its title.typestringWhat kind of thing it is.
notification.Target
What it was done to: the viewer's post, or the viewer.
aliasstringIts handle, or its short name.idintegeralwaysIts id.namestringA profile's name. Left out on a post, which has a title instead.titlestringA post's title, where it has one.typestringWhat kind of thing it is.
notification.TopicChoice
Whether a person is told about one kind of thing.
onbooleanalwaysWhether they are told about it.topicstringalwaysThe kind of thing: likes, reposts, replies, mentions, follows, posts, events or invitations.
notification.UnreadCount
How many notifications the viewer has not read.
countintegeralwaysHow many. At least 0.newest_attimeWhen the newest of all their notifications, read or not, was told: changed, there is something new to fetch. Left out when they have none.
Owner
The profile something is on.
aliasstringA profile's handle (ana, orana@mastodon.socialfor somebody on another server), or a hashtag's name.avatar_urlsmap of ImageIts picture, in each size there is:small,medium,large,square.bodystringIts description.idintegeralwaysIts id.is_following_viewerbooleanWhether the owner follows the viewer.is_leading_viewerbooleanWhether the viewer follows the owner: with is_following_viewer, what the Follow item in a post's menu says (Unfollow, Follow, Follow back).namestringA profile's name, or a post's title where it has one.typestringalwaysWhat kind of thing it is:node.actor.<service>.person.v1,...group.v1,...event.v1, or a post's kind.
Pagination
Where a page is among everything there is to list.
limitintegeralwaysThe most a page holds: what was asked for aslimit. At least 0.offsetintegeralwaysHow many come before this page: what was asked for asstart. At least 0.totalintegeralwaysHow many there are in all. At least 0.
Parent
A post another one hangs from: what a reply answers, what a repost reposts, or the post at the top of a thread.
accessstringWho may see it. Said so that a repost can be shared as what it reposts.aliasstringA profile's handle (ana, orana@mastodon.socialfor somebody on another server), or a hashtag's name.authorAuthorWho wrote it.authorizedNodeAuthorizedWhat the viewer may do with it.bodystringA profile's description. Left out on a post, whose words are its content.contentstringA post's words, as Markdown.cover_urlsmap of ImageA profile's cover picture, in each size there is.created_attimeWhen it was written, so that a reposted post can be shown as itself.fileslist of PhotoFileThe pictures of a photo post, in order.idintegeralwaysIts id.is_liked_by_viewerbooleanWhether the viewer likes it.is_reposted_by_viewerbooleanWhether the viewer has reposted it.is_saved_by_viewerbooleanWhether the viewer has saved it. Sent to them alone, like the rest of what is said here about the viewer.link_previewLinkPreviewThe preview of a link in it.namestringA profile's name. Left out on a post, which has a title instead.ownerOwnerThe profile it is on.portrait_urlsmap of ImageA photo post's first picture, in each size there is.titlestringA post's title, where it has one.typestringalwaysWhat kind of thing it is:node.actor.<service>.person.v1,...group.v1,...event.v1, or a post's kind.videoVideoWhat a video post plays.
PersonEditAddPermission
accessstringalwaysWho may add it.entitystringalwaysWhat may be added: a kind of post.
PersonFeatureRequest
- Who may add what.
composerslist of string or nullalwaysThe composers it offers.enabledbooleanalwaysWhether it is on for this profile.node_typeslist of string or nullalwaysThe kinds of post it makes.optionalbooleanalwaysWhether it may be turned off.orderingintegeralwaysWhere it comes among the others.servicestringalwaysThe service it is.
photo.FileRef
FileRef names one image a post is to have: one it has already, by its id, or one that was uploaded for it, by the upload's id.
alt_textstringalwaysWhat it shows, for people who cannot see it.idstringalwaysAn image the post has already, by its id.upload_idintegeralwaysAn image uploaded for it, by the upload's id.
photo.FilesRefusal
FilesRefusal says why a post's images were refused, and how many a post may have.
errorstringalwaysWhy:files_required,too_many_files,file_not_found,file_repeated,upload_not_yours,alt_text_too_long,file_unreadable,file_unsupportedorfile_too_large.maxintegeralwaysHow many images a post may have.
photo.Uploaded
An image stored for a post that is not made yet.
heightintegeralwaysIn pixels.upload_idintegeralwaysWhat the post names it by, inuploads.- Each size made of it, as a post's pictures are sent.
widthintegeralwaysIn pixels.
PhotoFile
One image of a photo post.
alt_textstringalwaysWhat the image shows, for people who cannot see it. Always sent, empty when there is none, so a client can tell "none" from "not told".heightintegerOf the image as uploaded, in pixels.idstringalwaysWhat an edit names the image by. The stored name, which is already in every address below.positionintegeralwaysWhere it comes among the post's pictures, from 0.urlsmap of ImageEach stored size, as portrait_urls is for the first image.widthintegerOf the image as uploaded. Left out for an image stored before these were recorded.
PicturesRestored
PicturesRestored says the pictures of a post from another server are here again.
restoredintegeralwaysHow many were copied.
Preview
What was read off a page.
descriptionstringWhat the page says of itself.final_urlstringWhere the address led, after any redirects.image_keystringThe picture, as a key in this installation's own storage. Never the page's own address for it: nobody reading a note is sent to another site for a picture.site_namestringThe site it is on, as it calls itself.statusstringalwaysHow reading the page went:ok,failed, orblockedwhen the address may not be read.titlestringWhat the page is called.urlstringalwaysThe address as it was asked for, and where it led.
PurgeItem
How far one profile of a purge has got.
aliasstringalwaysWhat it was called.errorstringWhy it failed.idintegeralwaysThe profile's id.statusstringalwaysqueued,doneorfailed.
PurgeProgress
How far a purge request has got.
batch_idstringalwaysWhat it is asked about by.doneintegeralwaysHow many are purged.failedintegeralwaysHow many failed.- Each profile.
queuedintegeralwaysHow many are waiting.totalintegeralwaysHow many it names.
PurgeQueued
PurgeQueued says what a request to purge did.
batch_idstringalwaysWhat to ask about it by.queuedintegeralwaysHow many were queued.skippedintegeralwaysHow many were purged or queued already.
PurgeRefusal
Why one profile cannot be purged.
idintegeralwaysThe profile's id.reasonstringalwaysWhy not.
PurgeRefused
PurgeRefused refuses a purge: nothing was queued.
errorstringalwaysAlwayspurge_refused.- Each profile that cannot be purged, and why.
QuoteEmbed
What a note that quotes a post carries about it: the post, when this viewer may see it, or why it is not shown.
postParentThe quoted post, with its author, the profile it is on and its date.statestring"unavailable" when the viewer may not see the quoted post or it is gone; "detached" when its author took it out of this quote. Left out when the post is there.
recommendation.ActorsResponse
Who the viewer might follow, and why.
- The suggestions, best first.
- What the reasons name, for saying them in words: the people who follow somebody suggested, the hashtags shared. The ones the viewer may see.
recommendation.Interest
A hashtag offered to pick, and on how many public posts it was lately.
aliasstringalwaysWhat it is found by.countintegeralwaysHow many posts it was on, lately.idintegeralwaysThe hashtag's id.namestringalwaysThe hashtag, as it is shown.
recommendation.PreferencesResponse
Somebody's choices as they are sent: with the weights they are ranked by, each reason there, and the service's own to go back to.
active_within_choiceslist of integer or nullalwaysWhat active_within_days may be, nearest first, and what it is for somebody who has not chosen.active_within_daysintegeralwaysHow lately somebody must have been here to be suggested to them, in days. Nothing is no limit.active_within_defaultintegeralwaysWhat active_within_days is for somebody who has not chosen.default_weightsmap of number or nullalwaysThe service's own weights.discoverablebooleanalwaysThat they may be suggested to other people.max_weightnumberalwaysThe most a weight may be.reasonslist of string or nullalwaysThe reasons, in the order to list them.suggest_eventsbooleanalwaysTo be suggested events.suggest_groupsbooleanalwaysTo be suggested groups.suggest_peoplebooleanalwaysTo be suggested people, and groups.use_activitybooleanalwaysThat what they liked and wrote may be used to choose for them.weightsmap of number or nullalwaysWhat each reason counts for, for the viewer, by its name.
recommendation.Reason
Why a profile is suggested, as it is sent.
countintegeralwaysHow strongly.idslist of integerUp to three of what it was found through: the people or the hashtags, named in the answer'srelated.typestringalwaysWhich reason:follows_you,followed_by_leaders,cited_by_leaders,inviter,hosted_by_leader,shared_interest,you_engaged,cited,popularorfeatured(recommendations.md).
recommendation.SuggestionItem
One suggestion as it is sent: the profile, and why.
- The profile.
actor_idintegeralwaysThe profile's id.- Why, the one that counted most first.
scorenumberalwaysWhat it scored: higher is better.
Refusal
Why a request was refused, where the answer says: most refusals have no body, and some send this.
descriptionstringThe same in words, for whoever is building a client.errorstringalwaysWhy, as a code a client can tell apart:language_invalid,quote_not_allowedand so on. Each route lists its own.reasonstringWhat lies behind it, where one code has several causes: why a post may not be quoted, for one.
search.PreferencesResponse
The viewer's own steps for search's Most relevant: how much each sign that something was found useful counts for them, as a step that multiplies the installation's own weight.
adjustablelist of string or nullalwaysWhat may be set:like,save,reply,follow,citeandfollowing(what the viewer follows coming first).optionslist of number or nullalwaysWhat each may be set to: 0 (off), 0.5, 1 (as is), 1.5 and 2.stepsmap of number or nullalwaysBy name, what they have set; what is not here is 1, as the installation has it.
socialgraph.InviteItem
One invitation as it is sent: who, to what, by whom, and until when.
- What they are invited to follow.
created_attimealwaysWhen.ends_attimealwaysWhen it lapses, unanswered.- Who invited them.
- Who is invited.
socialgraph.InviteResult
What became of one person invited.
person_idintegeralwaysWho.resultstringalwaysinvited; or why not:already_follower,not_follower,blocked,cooldown,pending,requested,unavailable,fullorclosed.
syndication.Checked
Checked says whether the token was found.
methodstringdnsorfile: where it was found.provedbooleanalways
syndication.Connection
A website being connected: its feed, and the token with both places it may be put.
domainstringalwaysThe domain to prove, and the host the file is read from.feed_descriptionstringfeed_titlestringfeed_urlstringalwaysfile_urlstringalwaysOr a file at this address, holding the token.hoststringalwaysidintegeralwaysThe connection's id, for checking the proof and making the website.record_namestringalwaysA TXT record of this name, holding the token.site_urlstringalwaysThe site and its feed, as found.suggested_aliasstringalwayssuggested_namestringalwaysA name and a handle to begin with: the feed's title, and the domain's first word.tokenstringalwaysWhat to put in either place.
syndication.Made
The website as it was made: where to go to see it.
aliasstringalwaysidintegeralways
text.HiddenAnswer
HiddenAnswer says whether a reply is hidden now.
hiddenbooleanalwaysWhether it is hidden.idintegeralwaysThe reply's id.
text.NotARoot
NotARoot refuses a thread asked for by a reply, and says the post at the top of the one it is in.
errorstringalwaysAlwaysnot_a_root.root_idintegeralwaysThe post whose thread it is in.
text.SavedAnswer
SavedAnswer says whether a post is among the viewer's saved now.
idintegeralwaysThe post's id.is_saved_by_viewerbooleanalwaysWhether the viewer has it saved.
text.Thread
Everything said under a post: the replies, and what the viewer may do there.
can_replybooleanalwaysWhether the viewer may reply here at all, for a thread with nothing in it yet.- The replies, each saying what it answers. Hidden ones are sent only to whoever may show them again, marked
hidden. hidden_countintegeralwaysFor whoever looks after the thread: how many of the replies sent are hidden from everybody else.reply_accessstringalwaysWho the post's author lets reply, for saying why not:anyone,nobody, or any offollowers,followingandmentioned.truncatedbooleanalwaysWhether the thread is longer than is sent at once: 500 replies.
text.ThreadAdded
A thread as it was made: its notes, first to last.
text.ThreadPart
One note of a thread: what it says, in what language, and the link in it to show a card for, as on a note.
contentstringalwayslanguagestringalwayslink_preview_urlstringalways
Video
What a video post plays: its sizes, largest first, and the still shown before it does.
durationnumberalwaysHow long it plays, in seconds.- Each size it can be played in, the largest first.
heightintegeralwaysIn pixels.loopbooleanA GIF or an animated PNG: played silently, on a loop.posterstringThe picture shown before it plays: a path under the API.widthintegeralwaysIn pixels: its shape, which a player can be laid out by before it loads.
video.UploadPart
Where one part of an upload is sent.
numberintegeralwaysWhich part, from 1.urlstringalwaysWhere it is sent, with PUT: good for an hour.
video.UploadResponse
An upload as its uploader is told of it.
created_attimealwaysWhen it was begun.errorstringWhy it failed.idstringalwaysIts id.node_idintegerThe post, once it is one.owner_idintegeralwaysThe profile the post will be on.parent_idintegerWhat it answers, when it is a reply.part_countintegerHow many parts to send it in.part_sizeintegerHow large each part is, in bytes, while it is being sent.sizeintegerHow large it said it is, in bytes.statusstringalwaysuploading,processing,ready,failedorcancelled.titlestringalwaysThe post's title.
video.UploadTooLarge
UploadTooLarge refuses a video, a GIF or an animated PNG larger than the installation takes, and says how large it may be.
errorstringalwaysAlwaystoo_large.max_bytesintegeralwaysThe most it may be, in bytes.
VideoFile
One size of a video.
heightintegeralwaysIn pixels.typestringalwaysThe kind of file:video/mp4.urlstringalwaysWhere it is read from: a path under the API, the same for as long as the post is there, answered for whoever may see the post.widthintegeralwaysIn pixels.
Written by Claude, reviewed by Rastin Mehr · About this
socialgraph.InviteAnswer
The viewer's answer to an invitation.
acceptedbooleanalways