Local registry of all activity in the form of reactions performed by the node.
Get the list of all reactions performed by the node, filtered by some criteria.
ActivityReactionFilter
ActivityReactionInfo[]
Asynchronous operations pending or just finished on the node.
Get the status of the asynchronous operation that performs verification of a remote posting signature.
String
id
– asynchronous operation ID
RemotePostingVerificationInfo
Code | Description |
---|---|
async-operation.not-found |
async operation with the given ID is not found |
Get the status of the asynchronous operation that performs verification of the signature of a reaction to a remote posting.
String
id
– asynchronous operation ID
RemoteReactionVerificationInfo
Code | Description |
---|---|
async-operation.not-found |
async operation with the given ID is not found |
Avatars of the node's owner. The list of avatars is ordered using ordinals that every avatar has.
Every avatar has a shape. It is stored and returned solely for client's interpretation. The shape has no meaning for the node and does not affect the avatar image stored at the node.
Get the list of avatars in the ascending order of their ordinals.
AvatarInfo[]
Create a new avatar from a public media file that exists on the node. A new public media file is created for the avatar. If the avatar's ordinal is not provided in the input, the avatar is assigned an ordinal that is greater than ordinals of all existing avatars.
AvatarAttributes
AvatarInfo
Code | Description |
---|---|
media.storage-error |
media file cannot be stored |
avatar.media-unsupported |
the type of the source media file is not supported for avatars |
Get an individual avatar.
String
id
– avatar ID
AvatarInfo
Code | Description |
---|---|
avatar.not-found |
avatar is not found |
Delete an avatar.
String
id
– avatar ID
Result
Code | Description |
---|---|
avatar.not-found |
avatar is not found |
Reorder avatars. Every avatar mentioned in the input is assigned an ordinal in ascending order as they appear in the input. Ordinals of avatars not mentioned in the input are not touched.
AvatarsOrdered
AvatarOrdinal[]
Code | Description |
---|---|
avatar.not-found |
avatar is not found |
It is possible to block creation of some types of stories in the instants feed.
Blocks creation of instants of the given story type, related to the given entry, optionally unblocking at the given time in the future.
BlockedInstantAttributes
BlockedInstantInfo
Code | Description |
---|---|
entry.not-found |
entry is not found |
Get details about the given blocked instant.
String
id
– ID of the blocked instant
BlockedInstantInfo
Code | Description |
---|---|
blocked-instant.not-found |
blocked instant is not found |
Unblock the given instant.
String
id
– ID of the blocked instant
Result
Code | Description |
---|---|
blocked-instant.not-found |
blocked instant is not found |
Search blocked instants by the given criteria.
BlockedInstantFilter
BlockedInstantInfo[]
It is possible to block particular nodes from performing some operations on this node, even if they are otherwise permitted to do so. It is also possible to mark some nodes to be invisible (in discussions, for example), the client should fetch the list of invisible nodes to perform filtering on the client side.
Blocks the given node from performing the given operations, in a particular posting or globally, optionally unblocking at the given time in the future.
BlockedUserAttributes
BlockedUserInfo
Code | Description |
---|---|
entry.not-found |
entry is not found |
Get details about the given blocked user.
String
id
– ID of the blocked user
BlockedUserInfo
Code | Description |
---|---|
blocked-user.not-found |
blocked user is not found |
Unblock the given user.
String
id
– ID of the blocked user
Result
Code | Description |
---|---|
blocked-user.not-found |
blocked user is not found |
Search blocked users by the given criteria.
BlockedUserFilter
BlockedUserInfo[]
Get checksums of the information about the blocked users. This request may be used to quickly detect the changes in the blocked users list to update the cache on the client side.
BlockedUsersChecksums
The node receives notifications from nodes that blocked it. This information is stored on the node and can be requested.
Get details about the given node that blocked this node.
String
id
– ID of the blocked-by user
BlockedByUserInfo
Code | Description |
---|---|
blocked-by-user.not-found |
blocked-by user is not found |
Search nodes that blocked this node, by the given criteria.
BlockedByUserFilter
BlockedByUserInfo[]
Cartes - cryptographic tokens used to authenticate on any node.
Create a set of cartes with the given attributes. Cartes in the sequence correspond to successive periods of time.
CarteAttributes
CarteSet
Verify if the given carte may be used for authentication on this node. Additionally, if clientName
is provided, it is compared to the carte owner's name.
ClientCarte
CarteVerificationInfo
Code | Description |
---|---|
carte.wrong-client |
carte authenticates a different node name |
Comments to a posting.
Get a slice of the list of comments, delimited by before
or after
moments (but not both) and the given limit
. If neither before
nor after
are provided, the latest comments are returned. The node may decide to return fewer comments than the given limit
. The stories are always sorted by moment, ascending.
String
postingId
– ID of the posting
int
after
– (optional) filter comments posted strongly after this moment
int
before
– (optional) filter comments posted at or before this moment
int
limit
– (optional) maximum number of comments returned
CommentsSliceInfo
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
comments.before-after-exclusive |
before and after parameters are not allowed together |
limit.invalid |
limit parameter has an invalid value |
Create a comment from the given text and add it to the given posting. The comment owner must authenticate in some way. If the comment is not signed, it will be kept for a limited period of time and then erased. If authenticated as admin, the node signs the comment.
String
postingId
– ID of the posting
CommentText
CommentCreated
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
posting.not-signed |
the posting is not signed, so it is impossible to add comments to it |
Get an individual comment.
String
postingId
– ID of the posting
String
commentId
– ID of the comment
String
include
– (optional)
Comma-separated list of additional blocks of information that are needed.source
– source text of the comment
CommentInfo
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
comment.not-found |
there is no comment with the given ID |
comment.wrong-posting |
the comment is not related to the given posting |
Update operation overrides for all comments in the posting.
String
postingId
– ID of the posting
CommentMassAttributes
Result
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
Update the comment, creating a new revision of it. The text is processed just like in the POST
request.
String
postingId
– ID of the posting
String
commentId
– ID of the comment
CommentText
CommentInfo
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
comment.not-found |
there is no comment with the given ID |
comment.wrong-posting |
the comment is not related to the given posting |
Delete the comment. The comment may not be purged from the database immediately, but preserved for some period of time to give a chance to restore it.
String
postingId
– ID of the posting
String
commentId
– ID of the comment
CommentTotalInfo
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
comment.not-found |
there is no comment with the given ID |
comment.wrong-posting |
the comment is not related to the given posting |
Get all postings linked to media attached to the given comment.
String
postingId
– ID of the posting
String
commentId
– ID of the comment
PostingInfo[]
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
comment.not-found |
there is no comment with the given ID |
comment.wrong-posting |
the comment is not related to the given posting |
All revisions of the comment.
Get all revisions of the comment.
String
postingId
– ID of the posting
String
commentId
– ID of the comment
CommentRevisionInfo[]
Code | Description |
---|---|
comment.not-found |
there is no comment with the given ID |
comment.wrong-posting |
the comment is not related to the given posting |
Get an individual revision of the comment.
String
postingId
– ID of the posting
String
commentId
– ID of the comment
String
id
– ID of the revision
CommentRevisionInfo
Code | Description |
---|---|
comment.not-found |
there is no comment with the given ID |
comment.wrong-posting |
the comment is not related to the given posting |
comment-revision.not-found |
there is no revision with the given ID |
Reactions ("Likes") - simple textless answers to a comment.
Add a reaction to the given comment. The reaction owner must authenticate in some way. Only one reaction is allowed from each owner to a particular comment. If a reaction from the same owner to this comment already exists, it is overwritten. If the reaction is not signed, the reaction will be kept for a limited period of time and then erased (the previous reaction of the same owner will be restored, if any).
String
postingId
– ID of the posting
String
commentId
– ID of the comment
ReactionDescription
ReactionCreated
Code | Description |
---|---|
comment.not-found |
there is no comment with the given ID |
comment.wrong-posting |
the comment is not related to the given posting |
comment.not-signed |
cannot add a reaction to an unsigned comment |
reaction.not-accepted |
the reaction is not acceptable |
Update the reaction's operations or set operations' overrides.
String
postingId
– ID of the posting
String
commentId
– ID of the comment
String
ownerName
– reaction owner node name
ReactionOverride
ReactionInfo
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
comment.not-found |
there is no comment with the given ID |
comment.wrong-posting |
the comment is not related to the given posting |
Get a slice of the list of reactions to the given comment, optionally filtered by reaction type, delimited by before
moment and the given limit
. If before
is not provided, the latest reactions are returned. The node may decide to return fewer reactions than the given limit
. The reactions are always sorted by moment, descending.
String
postingId
– ID of the posting
String
commentId
– ID of the comment
boolean
negative
– (optional) true
, to filter negative reactions, false
, to filter positive ones
int
emoji
– (optional) filter by reaction code, usually interpreted by clients as emoji code point
int
before
– (optional) filter reactions created at or before this moment
int
limit
– (optional) maximum number of reactions returned
ReactionsSliceInfo
Code | Description |
---|---|
comment.not-found |
there is no comment with the given ID |
comment.wrong-posting |
the comment is not related to the given posting |
limit.invalid |
limit parameter has an invalid value |
Get the detailed information about the reaction of the given owner to the given comment. If no reaction with such an owner exists, an empty structure with just commentId
is returned.
String
postingId
– ID of the posting
String
commentId
– ID of the comment
String
ownerName
– reaction owner node name
ReactionInfo
Code | Description |
---|---|
comment.not-found |
there is no comment with the given ID |
comment.wrong-posting |
the comment is not related to the given posting |
Delete all reactions to the given comment.
String
postingId
– ID of the posting
String
commentId
– ID of the comment
Result
Code | Description |
---|---|
comment.not-found |
there is no comment with the given ID |
comment.wrong-posting |
the comment is not related to the given posting |
Delete the reaction of the given owner to the given comment.
String
postingId
– ID of the posting
String
commentId
– ID of the comment
String
ownerName
– reaction owner node name
ReactionTotalsInfo
Code | Description |
---|---|
comment.not-found |
there is no comment with the given ID |
comment.wrong-posting |
the comment is not related to the given posting |
Summary of reactions to a comment.
Get a summary of reactions to the comment given.
String
postingId
– ID of the posting
String
commentId
– ID of the comment
ReactionTotalsInfo
Code | Description |
---|---|
comment.not-found |
there is no comment with the given ID |
comment.wrong-posting |
the comment is not related to the given posting |
Information about all nodes having a relationship with the node.
Search for contacts matching the search query
. Every space-delimited word in the query must match case-insensitively a beginning of the contact's node name or a beginning of any space-delimited word in the contact's full name. The order of words is not significant.
The node may decide to return fewer contacts than the given limit
.
The contacts are sorted by their closeness to the node, which is calculated from the number of reactions and comments and their age.
String
query
– (optional) the search query
int
limit
– (optional) maximum number of contacts returned
ContactInfo[]
Code | Description |
---|---|
limit.invalid |
limit parameter has an invalid value |
Credentials used to authenticate the administrator of the node.
Check whether the credentials are initialized already.
CredentialsCreated
Initialize credentials if they are not set yet. Note that this operation can be executed without authentication, so this should be done as soon as possible after the node installation. Sign in is not allowed until the credentials are set.
Credentials
Result
Code | Description |
---|---|
credentials.already-created |
credentials are already created |
Update credentials. Either old password or credentials reset token should be set in the input for the operation to succeed. Credentials reset token is not related to the authentication token and usually is sent to the user by E-mail.
CredentialsChange
Result
Code | Description |
---|---|
credentials.login-incorrect |
login incorrect (the old password is wrong) |
credentials.wrong-reset-token |
credentials reset token is wrong |
credentials.reset-token-expired |
credentials reset token is expired |
Delete credentials.
The node generates credentials reset token that is sent to the node admin by E-mail or using any other way that is defined for recovery of credentials. This token then may be used to change the credentials without knowing the password.
EmailHint
Code | Description |
---|---|
credentials.email-not-set |
E-mail address is not set for the node |
All deleted postings, that are not purged from the database yet.
Get the list of deleted postings, page by page. The node may decide to use a smaller page size than the given limit
. The postings are always sorted by the deletion timestamp, descending.
int
page
– (optional) page number, 0 by default
int
limit
– (optional) page size (maximum number of postings returned), the default is defined by the node
PostingInfo[]
Code | Description |
---|---|
page.invalid |
page parameter has an invalid value |
limit.invalid |
limit parameter has an invalid value |
Get an individual deleted posting.
String
id
– ID of the posting
PostingInfo
Code | Description |
---|---|
posting.not-found |
there is no deleted posting with the given ID |
Restore a posting. A new revision is created with the same content as in the latest revision.
String
id
– ID of the posting
PostingInfo
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
All revisions of the deleted posting.
Get all revisions of the deleted posting, but not more than limit
. The node may decide to return fewer revisions than the given limit
.
String
postingId
– ID of the posting
int
limit
– (optional) maximum number of revisions returned
PostingRevisionInfo[]
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
Get an individual revision of the deleted posting.
String
postingId
– ID of the posting
String
id
– ID of the revision
PostingRevisionInfo
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
posting-revision.not-found |
there is no revision with the given ID |
Restore a posting at a particular revision. A new revision is created with the same content as in the given revision.
String
postingId
– ID of the posting
String
id
– ID of the revision
PostingRevisionInfo
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
posting-revision.not-found |
there is no revision with the given ID |
posting-revision.already-current |
the given revision is already the current one |
One instance of Moera node software can serve several virtual nodes. These virtual nodes are called domains and distinguished by the hostname passed in the HTTP request. Each virtual node has node ID, it is used in the database to designate the data that belongs to a particular node. The hostname is mapped to the node ID when the request is processed, using the list of registered domains. If there is no domain with such a name, the special _default_
domain is used.
Get the list of registered domains.
DomainInfo[]
Get information about the domain with the given hostname. If domain registration for this server is public, this request does not require authentication.
String
name
– domain name
DomainInfo
Code | Description |
---|---|
domain.not-found |
there is no domain with the given hostname |
Create a new domain with the given hostname. If nodeId
is not passed, it is generated automatically. If domain registration for this server is public, this request does not require authentication.
DomainAttributes
DomainInfo
Code | Description |
---|---|
domain.already-exists |
a domain with the given hostname already exists |
domain.node-id-used |
a domain with the given node ID already exists |
Update the domain with the given hostname. If the new hostname is not passed, the old hostname is preserved. (Note that you cannot pass a new name for the default hostname, because it cannot be renamed and _default_
is not a valid hostname. Skip this field if you want to update the default hostname.) If nodeId
is not passed, it is generated automatically.
String
name
– domain's hostname
DomainAttributes
DomainInfo
Code | Description |
---|---|
domain.not-found |
there is no domain with the given hostname |
domain.cannot-rename-default |
cannot change the name of the default domain |
Delete the domain with the given hostname. This operation deletes the domain record only, the user's data related to the domain is preserved.
String
name
– domain name
Result
Code | Description |
---|---|
domain.not-found |
there is no domain with the given hostname |
domain.cannot-delete-default |
cannot delete the default domain |
Get an available domain name recommended for the given node name. The domain name is usually chosen to be close to the node name in English transcription. If domain registration for this server is not public, this request is not accessible.
String
nodeName
– node name
DomainAvailable
All drafts. This is an universal interface for managing all types for drafts to all types of entries. Drafts of entries located on remote nodes are all stored on the home node.
Get the list of drafts, page by page, filtered by the given criteria. The node may decide to use a smaller page size than the given limit
. The drafts are always sorted by the creation timestamp, descending.
String
draftType
– type of the drafts
(see DraftType
for the list of
possible values)
String
nodeName
– name of the node the drafts are related to
String
postingId
– (optional) ID of the posting, mandatory for all types, except new-posting
String
commentId
– (optional) ID of the comment, mandatory for comment-update
type
int
page
– (optional) page number, 0 by default
int
limit
– (optional) page size (maximum number of postings returned), the default is defined by the node
DraftInfo[]
Code | Description |
---|---|
page.invalid |
page parameter has an invalid value |
limit.invalid |
limit parameter has an invalid value |
Create a new draft from the text given.
Get an individual draft.
String
id
– ID of the draft
DraftInfo
Code | Description |
---|---|
draft.not-found |
there is no draft with the given ID |
Update the draft.
String
id
– ID of the draft
DraftText
DraftInfo
Code | Description |
---|---|
draft.not-found |
there is no draft with the given ID |
Delete the draft.
String
id
– ID of the draft
Result
Code | Description |
---|---|
draft.not-found |
there is no draft with the given ID |
Information about features supported by the node.
Get information about features supported by the node.
Feed is a set of stories collected for some purpose. The stories are sorted by moment, descending.
These are the standard feeds that have special meaning:
timeline
- the main feed of publications;instant
- the feed of instant notifications;news
- the main feed of publications gathered from other nodes.Get general information about all feeds accessible by client.
FeedInfo[]
Get general information about the feed.
String
feedName
– name of the feed
FeedInfo
Code | Description |
---|---|
feed.not-found |
there is no accessible feed with this name |
Get information about the total number and number of non-read and non-viewed stories in the feed.
String
feedName
– name of the feed
FeedStatus
Code | Description |
---|---|
feed.not-found |
there is no accessible feed with this name |
Update information about non-read and non-viewed stories in the feed.
String
feedName
– name of the feed
FeedStatusChange
FeedStatus
Code | Description |
---|---|
feed.not-found |
there is no accessible feed with this name |
Get a slice of the feed, delimited by before
or after
moments (but not both) and the given limit
. If neither before
nor after
are provided, the latest stories are returned. The node may decide to return fewer stories than the given limit
. The stories are always sorted by moment, descending.
String
feedName
– name of the feed
int
after
– (optional) filter stories posted strongly after this moment
int
before
– (optional) filter stories posted at or before this moment
int
limit
– (optional) maximum number of stories returned
FeedSliceInfo
Code | Description |
---|---|
feed.not-found |
there is no accessible feed with this name |
feed.before-after-exclusive |
before and after parameters are not allowed together |
limit.invalid |
limit parameter has an invalid value |
A friend may be member of one or more groups of friends. Each group as an ID and title. The group with a title t:friends
is a standard group "Friends" that is created automatically for every node.
Get the list of all groups of friends that exist on the node.
FriendGroupInfo[]
Get the information about the group of friends.
String
id
– ID of the group of friends
FriendGroupInfo
Code | Description |
---|---|
friend-group.not-found |
the group of friends is not found |
Create a group of friends.
FriendGroupDescription
FriendGroupInfo
Update the details of the group of friends.
String
id
– ID of the group of friends
FriendGroupDescription
FriendGroupInfo
Code | Description |
---|---|
friend-group.not-found |
the group of friends is not found |
Delete the group of friends.
String
id
– ID of the group of friends
Result
Code | Description |
---|---|
friend-group.not-found |
the group of friends is not found |
Friends are nodes that may have special permissions on this node. It is possible to write "friends only" posts or to enable commenting to friends or to a group of friends only etc.
Get the list of all friends of the node or friends belonging to a particular group.
String
groupId
– (optional) ID of a group of friends
FriendInfo[]
Code | Description |
---|---|
friend-group.not-found |
the group of friends is not found |
Get the friendship information for the node given.
String
name
– name of the node
FriendInfo
Update the friendship status of the nodes passed in the input. If some node passed in the input is not a member of some of the groups of friends listed for it, the node is added to them. If it is a member of some groups of friends that are not listed for it, the node is removed from them.
FriendDescription[]
FriendInfo[]
The node receives notifications from nodes that added it to their friends. This information is stored on the node and can be requested.
Get the list of all nodes that added this node to their friends.
FriendOfInfo[]
Get the information for the node given, whether it has added this node to its friends.
String
name
– name of the node
FriendOfInfo
The node may grant administrative permissions (of a limited scope) on itself to other nodes.
Get the list of all nodes having administrative permissions on this node.
GrantInfo[]
Get information about the administrative permissions granted to the node.
String
nodeName
– name of the node
GrantInfo
Grant a set of administrative permissions to the node or revoke them.
String
nodeName
– name of the node
GrantChange
GrantInfo
Code | Description |
---|---|
grant.name-not-registered |
node name is not registered yet |
Revoke all administrative permissions granted to the node.
String
nodeName
– name of the node
Result
Media files that are bound to a particular uploader and may be inaccessible to other clients. Private media files cannot be retrieved by their hash, only by their ID. The ID is unique to the client that uploaded the file and the node the file was uploaded to. A private media file may have a linked posting - it is used to store the media file description, reactions and comments. The linked posting is accessed as any other posting.
Upload a new media file owned by the node admin. Content of the file is passed in the request body.
blob
PrivateMediaFileInfo
Code | Description |
---|---|
media.image-invalid |
media file is not a readable image |
media.wrong-size |
media file is too large |
media.storage-error |
media file cannot be stored |
Upload a new media file owned by the given node. Content of the file is passed in the request body.
String
clientName
– name of the node owning the media file
blob
PrivateMediaFileInfo
Code | Description |
---|---|
media.image-invalid |
media file is not a readable image |
media.wrong-size |
media file is too large |
media.storage-error |
media file cannot be stored |
Get media file content (returned in the response body).
String
id
– media file ID
int
width
– (optional) preferred width of the media in pixels; if present, the node will try to return the smallest in size, but the best in quality variant of the media, according to the width provided
boolean
download
– (optional) if true
, the node will add Content-Disposition: attachment
header to the output
blob
Code | Description |
---|---|
media.not-found |
media file is not found |
Get media file details.
String
id
– media file ID
PrivateMediaFileInfo
Code | Description |
---|---|
media.not-found |
media file is not found |
Get the list of all postings and comments the media file is attached to.
String
id
– media file ID
EntryInfo[]
Media files that should be accessible to any client. ID of a public media file is SHA-1 hash of its content.
Upload a new media file. The content of the file is passed in the request body
blob
PublicMediaFileInfo
Code | Description |
---|---|
media.image-invalid |
media file is not a readable image |
media.wrong-size |
media file is too large |
media.storage-error |
media file cannot be stored |
Get media file content (returned in the response body).
String
id
– media file ID
int
width
– (optional) preferred width of the media in pixels; if present, the node will try to return the smallest in size, but the best in quality variant of the media, according to the width provided
boolean
download
– (optional) if true
, the node will add Content-Disposition: attachment
header to the output
blob
Code | Description |
---|---|
media.not-found |
media file is not found |
Get media file details.
String
id
– media file ID
PublicMediaFileInfo
Code | Description |
---|---|
media.not-found |
media file is not found |
The name of the node. Read more about it in the Architecture Overview section. Operations with the node name are performed asynchronously - need to poll the node periodically to get the current status of the operation. Only one operation with the node name may be performed by the node at any moment.
Get the name of the node. Admin user receives the current status of the latest operation with the node name.
NodeNameInfo
Register a new name for the node. The corresponding signing key is generated automatically and stored at the node. The updating key is generated and returned in the encoded form and in the form of mnemonic (a sequence of English words). The words need to be written down and stored securely to be able to perform further operations with the name.
NameToRegister
RegisteredNameSecret
Code | Description |
---|---|
naming.operation-pending |
another operation with the node name is pending currently |
Update the name of the node. May be used to assign an already-registered name to the node (the corresponding signing key is generated automatically and stored at the node), or to prolong the name. The secret or mnemonic of the updating key must be provided for this operation.
RegisteredNameSecret
Result
Code | Description |
---|---|
naming.operation-pending |
another operation with the node name is pending currently |
registeredNameSecret.empty |
the registered name secret or mnemonic are not provided |
node-name.name-absent |
the node name is not provided and not known by the node |
node-name. |
various errors returned by naming server (see the list) |
Delete all the information related to the node name (including the signing key) from the node. The name record on the naming server is not touched.
Result
Code | Description |
---|---|
naming.operation-pending |
another operation with the node name is pending currently |
Get the updating key mnemonic stored on the node.
KeyMnemonic
Code | Description |
---|---|
not-found |
the mnemonic is not stored |
Store the updating key mnemonic on the node.
KeyMnemonic
Result
Delete the updating key mnemonic stored on the node.
Receiver of notifications from other nodes.
Accept a notification packet from another node. Notification packets older than 10 minutes are ignored. The sending node should update the packet timestamp and the signature and send the packet again. This mechanism prevents attackers from recording and resending old signed packets.
NotificationPacket
Result
Code | Description |
---|---|
frozen |
not an error; the notification was accepted, but will not be processed immediately, because the node is frozen due to inactivity |
ask.too-many |
the node cannot accept so many ASKED notifications from the same node |
ask.too-often |
the node cannot accept so many ASKED notifications over a short period of time |
Information related to other nodes.
Get general information about other nodes.
PeopleGeneralInfo
Plugins are web applications that integrate closely with the node or with the server as whole. Authenticating as root admin or node admin, they may perform operations, receive internal events, extend node API with new requests and add their own settings to the list of node settings. Every plugin registers its URL with the node, and the node uses this URL to call it when necessary.
Register the plugin. If the plugin authenticates as root admin, the plugin is registered at the server level. If the plugin authenticates as node admin, the plugin is registered at the node level.
PluginDescription
PluginInfo
Code | Description |
---|---|
plugin.already-exists |
plugin with this name is already registered |
Get information about all plugins registered for the node and server.
PluginInfo[]
Get information about the plugin.
String
pluginName
– name of the plugin
PluginInfo
Code | Description |
---|---|
plugin.unknown |
unknown plugin |
Invoke API provided by the plugin. The request is passed through to the plugin with the original method to the URL <plugin URL>/<request location>
. All headers, except Host
and Authorization
are also passed through and two more headers are added: X-Moera-Auth
and X-Moera-Origin
. Read more about them. The response from the plugin is passed to the client as is.
String
pluginName
– name of the plugin
Code | Description |
---|---|
plugin.unknown |
unknown plugin |
plugin.invocation-error |
the request cannot be passed to the plugin |
Get SSE stream of internal events from the node. The stream is filtered as defined in PluginDescription.acceptedEvents
. If the plugin is registered on the node level, it can receive only events related to the node. A plugin registered on the server level can receive any event related to any node in the server.
The events are not documented here, they correspond to liberin objects in the source code of the node. For example, PostingUpdatedLiberin
corresponds to posting-updated
event.
Each SSE event has ID that is equal to the moment of the event, and content that is a serialized JSON object with the following fields:
Type | Field | Comment |
---|---|---|
String |
type |
type of the event |
String |
nodeId |
ID of the node in the server |
PluginContext |
context |
request context, if the event was emitted as a result of an API call |
... | ... | other event-specific fields |
String
pluginName
– name of the plugin
int
after
– (optional) moment of the latest event that has been seen by the plugin; may be passed in Last-Event-ID
header instead
Code | Description |
---|---|
plugin.unknown |
unknown plugin |
Unregister the plugin.
String
pluginName
– name of the plugin
Result
Code | Description |
---|---|
plugin.unknown |
unknown plugin |
All postings. Each posting may contain one or more revisions, a new revision is created every time the posting is updated. The latest revision is the current one, the previous ones are marked as deleted.
Create a new posting from the text given and publish it in the given feeds (if any). The heading and the preview of the posting are created automatically, if needed. The posting owner must authenticate in some way. If the posting is not signed, it will be kept for a limited period of time and then erased. If authenticated as admin, the node signs the posting.
PostingText
PostingInfo
Update the posting, creating a new revision of it. The text is processed just like in the POST
request.
String
id
– ID of the posting
PostingText
PostingInfo
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
posting.not-original |
updating a non-original posting is not allowed |
Get an individual posting.
String
id
– ID of the posting
String
include
– (optional)
Comma-separated list of additional blocks of information that are needed.source
– source text of the posting
PostingInfo
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
Delete the posting. The posting may not be purged from the database immediately, but preserved for some period of time to give a chance to restore it.
String
id
– ID of the posting
Result
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
Get all postings linked to media attached to the given posting.
String
id
– ID of the posting
PostingInfo[]
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
All revisions of the posting.
Get all revisions of the posting, but not more than limit
. The node may decide to return fewer revisions than the given limit
.
String
postingId
– ID of the posting
int
limit
– (optional) maximum number of revisions returned
PostingRevisionInfo[]
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
Get an individual revision of the posting.
String
postingId
– ID of the posting
String
id
– ID of the revision
PostingRevisionInfo
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
posting-revision.not-found |
there is no revision with the given ID |
Restore a revision of the posting. A new revision is created with the same content as in the given revision.
String
postingId
– ID of the posting
String
id
– ID of the revision
PostingRevisionInfo
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
posting-revision.not-found |
there is no revision with the given ID |
posting-revision.already-current |
the given revision is already the current one |
Reactions ("Likes") - simple textless answers to a posting.
Add a reaction to the given posting. The reaction owner must authenticate in some way. Only one reaction is allowed from each owner to a particular posting. If a reaction from the same owner to this posting already exists, it is overwritten. If the reaction is not signed, the reaction will be kept for a limited period of time and then erased (the previous reaction of the same owner will be restored, if any).
String
postingId
– ID of the posting
ReactionDescription
ReactionCreated
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
posting.not-signed |
the posting is not signed, so it is impossible to add reactions to it |
reaction.not-accepted |
the reaction is not acceptable |
Get a slice of the list of reactions to the given posting, optionally filtered by reaction type, delimited by before
moment and the given limit
. If before
is not provided, the latest reactions are returned. The node may decide to return less reactions than the given limit
. The reactions are always sorted by moment, descending.
String
postingId
– ID of the posting
boolean
negative
– (optional) true
, to filter negative reactions, false
, to filter positive ones
int
emoji
– (optional) filter by reaction code, usually interpreted by clients as emoji code point
int
before
– (optional) filter reactions created at or before this moment
int
limit
– (optional) maximum number of reactions returned
ReactionsSliceInfo
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
limit.invalid |
limit parameter has an invalid value |
Update the reaction's operations or set operations' overrides.
String
postingId
– ID of the posting
String
ownerName
– reaction owner node name
ReactionOverride
ReactionInfo
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
Get the detailed information about the reaction of the given owner to the given posting. If no reaction with such an owner exists, an empty structure with just postingId
is returned.
String
postingId
– ID of the posting
String
ownerName
– reaction owner node name
ReactionInfo
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
Delete all reactions to the given posting.
String
postingId
– ID of the posting
Result
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
Delete the reaction of the given owner to the given posting.
String
postingId
– ID of the posting
String
ownerName
– reaction owner node name
ReactionTotalsInfo
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
Search reactions by criteria provided. Both reaction owner and at least one posting ID should be provided to search, otherwise an empty list is returned.
ReactionsFilter
ReactionInfo[]
Summary of reactions to a posting.
Get a summary of reactions to the posting given.
String
postingId
– ID of the posting
ReactionTotalsInfo
Code | Description |
---|---|
posting.not-found |
there is no posting with the given ID |
Search summaries of reactions by criteria provided. At least one posting ID should be provided to search, otherwise an empty list is returned.
ReactionTotalsFilter
ReactionTotalsInfo[]
The profile - the detailed information about the node's owner, node's purpose etc.
Get the profile.
String
include
– (optional)
Comma-separated list of additional blocks of information that are needed.source
– source text of the bio
ProfileInfo
Update the profile. Fields that are not set in the request body are left intact. Fields that are set to an empty value are reset to their defaults.
ProfileAttributes
ProfileInfo
Communication with the provider (owner of the server).
Get the current status of the request to delete the node.
DeleteNodeStatus
Send a request to the provider to delete the node.
DeleteNodeText
DeleteNodeStatus
Cancel the request to delete the node.
DeleteNodeStatus
Proxy, that may be used by web clients to workaround CORS restrictions of browsers
Open the URL passed in the parameters and pass to the client the media file returned by the server.
String
url
blob
Code | Description |
---|---|
proxy.request-failed |
HTTP request failed |
proxy.resource-not-found |
resource is not found |
proxy.resource-not-media |
resource is not a media file |
proxy.error-status |
HTTP request returned an error status |
proxy.url.invalid |
the URL is not valid |
Parse the page located at the URL and return the title, the description and the picture that may be used to build a preview of the page.
String
url
LinkPreviewInfo
Code | Description |
---|---|
proxy.resource-not-found |
resource is not found |
SSE channels for delivering push notifications from the home node. When a client opens an SSE connection for the first time, an individual push notifications channel for this client is created (every client must generate a unique random identifier for its channel). After that, push notifications are stacked for this channel and the client should poll the channel periodically (or keep it open constantly) to receive them. If the client does not poll the channel for a long time, the channel is deleted.
Open the push notifications channel for the connected client or create a new one, if it does not exist. This request returns a live SSE stream, where events are notifications in a form of JSON-encoded PushContent
structures and event IDs are the moments, when these notifications were generated. When the channel is opened, the node discards all notifications up to after
(if provided) and delivers the rest of notifications till the current moment. After that, the notifications are delivered in real time until the channel is closed. If a client with the same clientId
opens a channel from another device, this channel is automatically closed by the node.
String
clientId
– ID of the client
int
after
– (optional) moment of the last notification already received by the client (Last-Event-ID
header may be used instead of this parameter)
PushContent[]
Code | Description |
---|---|
push.clientId.blank |
client ID is not set |
push.clientId.wrong-size |
client ID is too long |
push.too-many-clients |
too many push clients |
Delete the channel with all notifications in it.
String
clientId
– ID of the client
Result
Code | Description |
---|---|
push.not-found |
push client is not found |
Moera network uses dedicated Push Relay servers that accept push messages from nodes and route them to their clients. Read more in the Push Relay API chapter.
Register a client at the push relay server to receive messages from this node. The operation is synchronous.
PushRelayClientAttributes
Result
Code | Description |
---|---|
push-relay.error |
push relay service returned an error |
The node may send requests to other nodes asking to subscribe to it, to add it to friends etc.
Send a request to the remote node.
String
nodeName
– name of the remote node
AskDescription
Result
Comments to postings located on other nodes.
Add a comment to the posting on the remote node and register it in the registry at the local node.
String
nodeName
– name of the remote node
String
postingId
– ID of the posting on the remote node
CommentSourceText
Result
Update a comment to the posting on the remote node.
String
nodeName
– name of the remote node
String
postingId
– ID of the posting on the remote node
String
commentId
– ID of the comment on the remote node
CommentSourceText
Result
Delete a comment from the registry of all comments at the local node.
String
nodeName
– name of the remote node
String
postingId
– ID of the posting on the remote node
String
commentId
– ID of the comment on the remote node
Result
Verify the signature of the given comment to the posting on the remote node.
String
nodeName
– name of the remote node
String
postingId
– ID of the posting on the remote node
String
commentId
– ID of the comment on the remote node
AsyncOperationCreated
Reactions to comments located on other nodes.
Add a reaction to the comment on the remote node and register it in the registry at the local node.
String
nodeName
– name of the remote node
String
postingId
– ID of the posting on the remote node
String
commentId
– ID of the comment on the remote node
ReactionAttributes
Result
Delete a reaction from the registry of all reactions at the local node.
String
nodeName
– name of the remote node
String
postingId
– ID of the posting on the remote node
String
commentId
– ID of the comment on the remote node
Result
Verify the signature of the reaction of the given owner to the comment on the remote node.
String
nodeName
– name of the remote node
String
postingId
– ID of the posting on the remote node
String
commentId
– ID of the comment on the remote node
String
ownerName
– reaction owner node name
AsyncOperationCreated
Postings located on other nodes.
Add a posting to the remote node and register it in the registry at the local node.
String
nodeName
– name of the remote node
PostingSourceText
Result
Update a posting on the remote node.
String
nodeName
– name of the remote node
String
postingId
– ID of the posting on the remote node
PostingSourceText
Result
Delete a posting from the registry of all remote postings at the local node.
String
nodeName
– name of the remote node
String
postingId
– ID of the posting on the remote node
Result
Verify the signature of the given posting.
String
nodeName
– name of the remote node
String
id
– ID of the posting on the remote node
AsyncOperationCreated
Verify the signature of the given revision of a posting.
String
nodeName
– name of the remote node
String
id
– ID of the posting on the remote node
String
revisionId
– ID of the posting revision
AsyncOperationCreated
Reactions to postings located on other nodes.
Add a reaction to the posting on the remote node and register it in the registry at the local node.
String
nodeName
– name of the remote node
String
postingId
– ID of the posting on the remote node
ReactionAttributes
Result
Delete a reaction from the registry of all reactions at the local node.
String
nodeName
– name of the remote node
String
postingId
– ID of the posting on the remote node
Result
Verify the signature of the reaction of the given owner to the posting on the remote node.
String
nodeName
– name of the remote node
String
postingId
– ID of the posting on the remote node
String
ownerName
– reaction owner node name
AsyncOperationCreated
Sheriff API to send orders to remote nodes. Add orders are stored on the sheriff's node and may be requested by anybody.
Sign and send the order to the remote node and store it in the registry at the local node.
String
nodeName
– name of the remote node
SheriffOrderAttributes
Result
Get the details of the given sheriff's order
String
nodeName
– name of the remote node
String
id
– ID of the order
SheriffOrderInfo
Code | Description |
---|---|
sheriff-order.not-found |
sheriff's order is not found |
sheriff-order.wrong-node |
the sheriff's order is related to a different node |
Settings - the node and client settings. The node settings affect the node behavior. Only those settings are accepted that are known by the node, and their values are validated before saving. The node settings metadata can be obtained by request. The client settings are saved without validation and their metadata is built into the client. All client settings must have names starting with client.
to distinguish them from the node ones. By convention, the client name is added to the prefix (client.<client name>.
) to be able to store settings of several different clients at the same time.
Update the given settings. If the input contains node settings, they are validated and the first validation error is returned, if any. The update is always performed as a whole - if there is an error saving any one of the settings in the input, none of them are updated.
If one of the settings to be updated is privileged, root secret authentication is required. If one of the settings to be updated is non-privileged, admin authentication is required.
SettingInfo[]
Result
Code | Description |
---|---|
setting.deserialization-failed |
setting value deserialization failed |
setting.cannot-convert |
cannot convert value to the setting type |
setting.invalid-value |
invalid value for the setting |
setting.internal |
cannot set value of an internal setting |
setting.unknown |
unknown setting |
Get all client settings, sorted by name.
String
prefix
– (optional) filter settings whose names start with the given prefix, case-sensitive (client.
prefix must be included)
SettingInfo[]
Get all node settings, sorted by name. If a setting has not changed its value from the default, it is omitted.
String
prefix
– (optional) filter settings whose names start with the given prefix, case-sensitive
SettingInfo[]
Get all node settings metadata, sorted by name.
String
prefix
– (optional) filter settings whose names start with the given prefix, case-sensitive
SettingMetaInfo[]
Update node settings metadata, overriding built-in defaults.
SettingMetaAttributes[]
Result
Code | Description |
---|---|
setting.deserialization-failed |
setting value deserialization failed |
setting.cannot-convert |
cannot convert value to the setting type |
setting.invalid-value |
invalid value for the setting |
setting.internal |
cannot set value of an internal setting |
setting.unknown |
unknown setting |
setting.plugin |
plugin setting metadata cannot be modified |
Similar complaints sent to the sheriff are grouped together and the sheriff makes decisions on a group as whole. Read more about sheriff supervision in the Architecture Overview section.
Get a slice of the list of groups of complaints, optionally filtered by status, delimited by the before
or after
moment and the given limit
. If neither before
nor after
are provided, the latest groups are returned. The node may decide to return less groups than the given limit
. The groups are always sorted by moment, descending.
int
after
– (optional) filter groups created strongly after this moment
int
before
– (optional) filter groups created at or before this moment
int
limit
– (optional) maximum number of groups returned
String
status
– (optional) filter groups by status
(see SheriffComplaintStatus
for the list of
possible values)
SheriffComplaintGroupsSliceInfo
Code | Description |
---|---|
sheriff-complaint-groups.before-after-exclusive |
before and after parameters are mutually exclusive |
Get details of the given group of complaints.
String
id
– ID of the group of complaints
SheriffComplaintGroupInfo
Code | Description |
---|---|
sheriff-complaint-group.not-found |
Get complaints included in the given group of complaints.
String
id
– ID of the group of complaints
SheriffComplaintInfo[]
Code | Description |
---|---|
sheriff-complaint-group.not-found |
Make a decision on the given group of complaints.
String
id
– ID of the group of complaints
SheriffComplaintDecisionText
SheriffComplaintGroupInfo
Code | Description |
---|---|
sheriff-complaint-group.not-found |
Complaints are sent to the sheriff via sheriff's node. Read more about sheriff supervision in the Architecture Overview section.
Send a complaint to the sheriff.
SheriffComplaintText
SheriffComplaintInfo
Orders sent by a sheriff to the node. The node must obey the orders if it accepted supervision by the sheriff. Read more about sheriff supervision in the Architecture Overview section.
Receive and execute the sheriff's order.
SheriffOrderDetails
Result
Code | Description |
---|---|
sheriff-order.wrong-feed |
the posting is not included into the designated feed |
posting.not-found |
posting is not found |
posting.not-signed |
posting is not signed |
comment.not-found |
comment is not found |
comment.wrong-posting |
comment is located under a different posting |
All stories. Each story describes something happening in Moera, stories are building blocks for feeds. All stories have the same structure, but the meaning of fields depends on the story type. A story may reference a posting, a remote object, etc. Some feeds may not allow some types of stories.
Get an individual story.
String
id
– ID of the story
StoryInfo
Code | Description |
---|---|
story.not-found |
there is no story with the given ID |
Update the story.
String
id
– ID of the story
StoryAttributes
StoryInfo
Code | Description |
---|---|
story.not-found |
there is no story with the given ID |
Delete the story.
String
id
– ID of the story
Result
Code | Description |
---|---|
story.not-found |
there is no story with the given ID |
All nodes that have subscribed to notifications from this node.
Get the list of all subscribers, optionally filtered by some criteria.
String
nodeName
– (optional) filter by subscribed node name
String
type
– (optional) filter by subscription type
(see SubscriptionType
for the list of
possible values)
String
feedName
– (optional) filter by name of the feed subscribed to
String
entryId
– (optional) filter by ID of the entry subscribed to
SubscriberInfo[]
Subscribe to a particular group of notifications.
SubscriberDescription
SubscriberInfo
Get an individual subscriber.
String
id
– ID of the subscriber
SubscriberInfo
Code | Description |
---|---|
subscriber.not-found |
there is no subscriber with the given ID |
Update the subscriber's operations or set operations' overrides.
String
id
– ID of the subscriber
SubscriberOverride
SubscriberInfo
Code | Description |
---|---|
subscriber.not-found |
there is no subscriber with the given ID |
Delete the subscriber and return the updated information about the node that was subscribed.
String
id
– ID of the subscriber
ContactInfo
Code | Description |
---|---|
subscriber.not-found |
there is no subscriber with the given ID |
All nodes that send notifications to this node.
Get the list of all subscriptions, optionally filtered by some criteria.
String
nodeName
– (optional) filter by node name
String
type
– (optional) filter by subscription type
(see SubscriptionType
for the list of
possible values)
SubscriptionInfo[]
Register a subscription to notifications from a particular node.
SubscriptionDescription
SubscriptionInfo
Code | Description |
---|---|
subscription.already-exists |
an identical subscription already exists |
Update the subscription's operations or set operations' overrides.
String
id
– ID of the subscription
SubscriptionOverride
SubscriptionInfo
Code | Description |
---|---|
subscription.not-found |
there is no subscription with the given ID |
Delete the subscription and return the updated information about the node that was subscribed to.
String
id
– ID of the subscription
ContactInfo
Code | Description |
---|---|
subscription.not-found |
there is no subscription with the given parameters. |
Search for subscriptions by the given criteria.
SubscriptionFilter
SubscriptionInfo[]
Code | Description |
---|---|
subscription.filter.incomplete |
the filter should contain at least one feed or posting |
The authentication token. Read more about token-based authentication.
Get the list of all existing tokens.
TokenInfo[]
Sign in and create a token.
TokenAttributes
TokenInfo
Code | Description |
---|---|
credentials.not-created |
credentials are not created yet |
credentials.login-incorrect |
login or password is incorrect |
Get information about the token.
Update the name or permissions of the token. It is not possible to grant token additional permissions with this request, but the granted permissions can be revoked.
String
id
– ID of the token
TokenUpdate
TokenInfo
Delete the token.
Any node may keep lists of users, and all other nodes can read these lists, search in them and subscribe to them to receive notifications about changes. The lists may be used, for example, to fight spam or to create decentralized communities. The sheriff uses such a list to inform all nodes that some specific user violates the rules too often, and because of that all his comments should be marked by the sheriff's mark automatically.
Get the general information about the user list given.
String
name
– the name of the list
UserListInfo
Get a slice of the user list, delimited by the before
or after
moment and the given limit
. If neither before
nor after
are provided, the latest items are returned. The node may decide to return fewer items than the given limit
. The items are always sorted by moment, descending.
String
name
– the name of the list
int
after
– (optional) filter items created strongly after this moment
int
before
– (optional) filter items created at or before this moment
int
limit
– (optional) maximum number of items returned
UserListSliceInfo
Code | Description |
---|---|
user-list-items.before-after-exclusive |
before and after parameters are mutually exclusive |
Get the information from the user list about the node given.
String
name
– the name of the list
String
nodeName
– the node name to get information about
UserListItemInfo
Code | Description |
---|---|
user-list-item.not-found |
user list item is not found |
Add a node to the user list.
String
name
– the name of the list
UserListItemAttributes
UserListItemInfo
Code | Description |
---|---|
user-list-item.already-exists |
node is in the user list already |
Delete a node from the user list
String
name
– the name of the list
String
nodeName
– the node name to delete
Result
Code | Description |
---|---|
user-list-item.not-found |
user list item is not found |
Brief information about the node.
Get brief information about the node.
Type | Name | Description |
---|---|---|
String
|
positive |
comma-separated list of codes of the positive reactions that are accepted; a code may be prefixed by 0x to designate hexadecimal number and + to designate a recommended reaction
|
String
|
negative |
comma-separated list of codes of the negative reactions that are accepted (the format is the same as above) |
Type | Name | Description |
---|---|---|
RemotePosting[]
|
postings |
(optional) include only reactions to remote postings from this list |
Type | Name | Description |
---|---|---|
String
|
remoteNodeName |
name of the remote node |
String
|
remoteFullName |
(optional) full name of the remote node |
AvatarImage
|
remoteAvatar |
(optional) avatar of the remote node |
String
|
remotePostingId |
ID of the posting on the remote node |
boolean
|
negative |
true , if the reaction is negative, false , if positive
|
int
|
emoji |
reaction code, usually interpreted by clients as emoji code point |
timestamp
|
createdAt |
reaction creation timestamp - the real time when the reaction was created |
Type | Name | Description |
---|---|---|
String
|
subject |
request subject
(see AskSubject for the list of
possible values)
|
String
|
friendGroupId |
(optional) if the request is to add this node to friends, this field contains ID of the corresponding group of friends on the remote node |
String
|
message |
(optional) message to the node admin |
Code | Description |
---|---|
askDescription.friendGroupId.blank |
friend group ID is empty |
askDescription.friendGroupId.wrong-size |
friend group ID is too long |
askDescription.message.wrong-size |
message is too long |
Type | Name | Description |
---|---|---|
String
|
id |
ID of the asynchronous operation that was created |
Type | Name | Description |
---|---|---|
String
|
mediaId |
ID of the public media file used as a source image |
int
|
clipX |
x coordinate of the top-left corner of the clipping square |
int
|
clipY |
y coordinate of the top-left corner of the clipping square |
int
|
clipSize |
size of the clipping square |
int
|
avatarSize |
size of the avatar to be created |
float
|
rotate |
rotation angle of the source image |
String
|
shape |
(optional) shape of the avatar |
int
|
ordinal |
(optional) ordinal of the avatar |
Code | Description |
---|---|
avatarAttributes.mediaId.blank |
media ID is not set |
avatarAttributes.mediaId.not-found |
the source media is not found |
avatarAttributes.clipX.out-of-range |
clipping area left side is out of the image bounds |
avatarAttributes.clipY.out-of-range |
clipping area top side is out of the image bounds |
avatarAttributes.clipSize.out-of-range |
clipping area size is out of range (usually too small) |
avatarAttributes.avatarSize.out-of-range |
avatar size is out of range (usually too small) |
Type | Name | Description |
---|---|---|
String
|
mediaId |
ID of the public media file used as an avatar image |
String
|
shape |
shape of the avatar |
boolean
|
optional |
(optional)
if set to true , the node will ignore the absence of the media file referenced in mediaId field (empty avatar will be used in this case); if set to false or absent, the node will return an error, if the media file referenced in mediaId field is absent
|
Type | Name | Description |
---|---|---|
String
|
mediaId |
ID of the media file |
String
|
path |
virtual location of the media file, relative to the /media virtual page
|
int
|
width |
(optional)
width of the media in pixels (null , if the media file is not an image/video)
|
int
|
height |
(optional)
height of the media in pixels (null , if the media file is not an image/video)
|
String
|
shape |
(optional) shape of the avatar |
Type | Name | Description |
---|---|---|
String
|
id |
ID of the avatar |
String
|
mediaId |
ID of the media file |
String
|
path |
virtual location of the media file, relative to the /media virtual page
|
int
|
width |
(optional)
width of the media in pixels (null , if the media file is not an image/video)
|
int
|
height |
(optional)
height of the media in pixels (null , if the media file is not an image/video)
|
String
|
shape |
(optional) shape of the avatar |
int
|
ordinal |
ordinal of the avatar |
Type | Name | Description |
---|---|---|
String
|
id |
ID of the avatar |
int
|
ordinal |
ordinal of the avatar |
Type | Name | Description |
---|---|---|
String[]
|
ids |
IDs of avatars |
Type | Name | Description |
---|---|---|
String[]
|
blockedOperations |
(optional)
operations that are blocked
(see BlockedOperation for the list of
possible values)
|
RemotePostingOrNode[]
|
postings |
(optional) the postings or whole nodes, where the node is blocked |
boolean
|
strict |
(optional)
if set to true , only the blockings that strictly fit the criteria are returned; otherwise global blockings are returned even if the search is limited to a particular posting
|
Type | Name | Description |
---|---|---|
String
|
id |
|
String
|
blockedOperation |
operation that is blocked
(see BlockedOperation for the list of
possible values)
|
ContactInfo
|
contact |
(optional) information known about the blocking node |
String
|
nodeName |
name of the blocking node |
String
|
postingId |
(optional)
ID of the posting, where the node is blocked; null or absent, if the node is blocked globally
|
timestamp
|
createdAt |
blocking timestamp - the real time when the node was blocked |
timestamp
|
deadline |
(optional)
unblocking timestamp - the real time when the node will be unblocked; null or absent, if the node is blocked permanently
|
String
|
reason |
(optional) reason of blocking |
Type | Name | Description |
---|---|---|
String
|
storyType |
type of the story
(see StoryType for the list of
possible values)
|
String
|
entryId |
(optional) ID of the local entry the blocked story should be related to |
String
|
remoteNodeName |
(optional) node name of the remote posting the blocked story should be related to |
String
|
remotePostingId |
(optional) ID of the remote posting the blocked story should be related to |
String
|
remoteOwnerName |
(optional) owner name of the remote object the blocked story should be related to |
timestamp
|
deadline |
(optional)
unblocking timestamp - the real time when the story will be unblocked; null or absent, if the story is blocked permanently
|
Code | Description |
---|---|
blockedInstantAttributes.storyType.blank |
story type is not set |
Type | Name | Description |
---|---|---|
String
|
storyType |
type of the story
(see StoryType for the list of
possible values)
|
String
|
entryId |
(optional) ID of the local entry the blocked story should be related to |
String
|
remoteNodeName |
(optional) node name of the remote posting the blocked story should be related to |
String
|
remotePostingId |
(optional) ID of the remote posting the blocked story should be related to |
String
|
remoteOwnerName |
(optional) owner name of the remote object the blocked story should be related to |
Type | Name | Description |
---|---|---|
String
|
id |
|
String
|
storyType |
type of the story
(see StoryType for the list of
possible values)
|
String
|
entryId |
(optional) ID of the local entry the blocked story should be related to |
String
|
remoteNodeName |
(optional) node name of the remote posting the blocked story should be related to |
String
|
remotePostingId |
(optional) ID of the remote posting the blocked story should be related to |
String
|
remoteOwnerName |
(optional) owner name of the remote object the blocked story should be related to |
timestamp
|
createdAt |
blocking timestamp - the real time when the story was blocked |
timestamp
|
deadline |
(optional)
unblocking timestamp - the real time when the story will be unblocked; null or absent, if the story is blocked permanently
|
Type | Name | Description |
---|---|---|
String
|
id |
|
String
|
storyType |
type of the story
(see StoryType for the list of
possible values)
|
String
|
remoteOwnerName |
(optional) owner name of the remote object the blocked story should be related to |
timestamp
|
deadline |
(optional)
unblocking timestamp - the real time when the story will be unblocked; null or absent, if the story is blocked permanently
|
Type | Name | Description |
---|---|---|
String
|
blockedOperation |
operation that is to be blocked
(see BlockedOperation for the list of
possible values)
|
String
|
nodeName |
name of the blocked node |
String
|
entryId |
(optional)
ID of the local entry, where the node is blocked; null or absent, if the node is blocked globally
|
String
|
entryNodeName |
(optional)
node name of the remote posting, where the node is blocked; null or absent, if the node is blocked globally
|
String
|
entryPostingId |
(optional)
ID of the remote posting, where the node is blocked; null or absent, if the node is blocked globally
|
timestamp
|
deadline |
(optional)
unblocking timestamp - the real time when the node will be unblocked; null or absent, if the node is blocked permanently
|
String
|
reasonSrc |
(optional) source text of the reason of blocking |
String
|
reasonSrcFormat |
(optional)
format of the source text of the reason of blocking, the list of available formats is returned in PostingFeatures
(see SourceFormat for the list of
possible values)
|
Code | Description |
---|---|
blockedUserAttributes.blockedOperation.blank |
blocked operation is not set |
blockedUserAttributes.reasonSrc.wrong-size |
reason is too long |
Type | Name | Description |
---|---|---|
String[]
|
blockedOperations |
(optional)
operations that are blocked
(see BlockedOperation for the list of
possible values)
|
String
|
nodeName |
(optional) name of the blocked node |
String
|
entryId |
(optional)
ID of the local entry, where the node is blocked; null or absent, if the node is blocked globally
|
String
|
entryNodeName |
(optional)
node name of the remote posting, where the node is blocked; null or absent, if the node is blocked globally
|
String
|
entryPostingId |
(optional)
ID of the remote posting, where the node is blocked; null or absent, if the node is blocked globally
|
boolean
|
strict |
(optional)
if set to true , only the blockings that strictly fit the criteria are returned; otherwise global blockings are returned even if the search is limited to a particular posting
|
Type | Name | Description |
---|---|---|
String
|
id |
|
String
|
blockedOperation |
operation that is blocked
(see BlockedOperation for the list of
possible values)
|
String
|
nodeName |
name of the blocked node |
ContactInfo
|
contact |
(optional) information known about the blocked node |
String
|
entryId |
(optional)
ID of the local entry, where the node is blocked; null or absent, if the node is blocked globally
|
String
|
entryNodeName |
(optional)
node name of the remote posting, where the node is blocked; null or absent, if the node is blocked globally
|
String
|
entryPostingId |
(optional)
ID of the remote posting, where the node is blocked; null or absent, if the node is blocked globally
|
timestamp
|
createdAt |
blocking timestamp - the real time when the node was blocked |
timestamp
|
deadline |
(optional)
unblocking timestamp - the real time when the node will be unblocked; null or absent, if the node is blocked permanently
|
String
|
reasonSrc |
(optional) source text of the reason of blocking |
String
|
reasonSrcFormat |
(optional)
format of the source text of the reason of blocking, the list of available formats is returned in PostingFeatures
(see SourceFormat for the list of
possible values)
|
String
|
reason |
(optional) reason of blocking |
Type | Name | Description |
---|---|---|
int
|
visibility |
checksum of the list of users that are hidden |
Type | Name | Description |
---|---|---|
String
|
subject |
(optional) the subject (plain text) |
String
|
text |
(optional) the text (HTML) |
LinkPreview[]
|
linkPreviews |
(optional) link previews |
Type | Name | Description |
---|---|---|
String[]
|
clientScope |
(optional)
permissions to be granted to the carte; if not set, all permissions of the carte's owner are granted
(see Scope for the list of
possible values)
|
String[]
|
adminScope |
(optional)
additional administrative permissions (of those granted to the carte's owner by the target node) to be granted to the carte
(see Scope for the list of
possible values)
|
String
|
nodeName |
(optional) if set, the carte is valid for authentication on the specified node only |
int
|
limit |
(optional) maximum number of sequential cartes to be returned; the node may decide to return fewer cartes than the given limit |
Type | Name | Description |
---|---|---|
String
|
carte |
|
timestamp
|
beginning |
timestamp of the beginning of the carte's life |
timestamp
|
deadline |
timestamp of the end of the carte's life |
String
|
nodeName |
(optional) if set, the carte is valid for authentication on the specified node only |
String[]
|
clientScope |
(optional)
the list of permissions granted to the carte
(see Scope for the list of
possible values)
|
String[]
|
adminScope |
(optional)
the list of additional administrative permissions (of those granted to the carte's owner by the target node) granted to the carte
(see Scope for the list of
possible values)
|
Type | Name | Description |
---|---|---|
String
|
cartesIp |
(optional) the client IP address the cartes are bound to |
CarteInfo[]
|
cartes |
the cartes |
timestamp
|
createdAt |
cartes creation timestamp |
Type | Name | Description |
---|---|---|
boolean
|
valid |
true , if the carte can be accepted for authentication, false otherwise
|
String
|
clientName |
(optional) name of the node the carte authenticates |
String[]
|
clientScope |
(optional)
the list of permissions granted to the carte
(see Scope for the list of
possible values)
|
String[]
|
adminScope |
(optional)
the list of additional administrative permissions (of those granted to the carte's owner by the target node) granted to the carte
(see Scope for the list of
possible values)
|
String
|
errorCode |
(optional) error code |
String
|
errorMessage |
(optional) human-readable error message |
Type | Name | Description |
---|---|---|
String
|
clientName |
(optional) the node name the client (carte owner) wants to authenticate under |
String
|
carte |
the carte to verify |
Code | Description |
---|---|
clientCarte.carte.blank |
carte is empty |
Type | Name | Description |
---|---|---|
boolean
|
negative |
true , if the reaction is negative, false , if positive
|
int
|
emoji |
reaction code, usually interpreted by clients as emoji code point |
timestamp
|
createdAt |
reaction creation timestamp - the real time when the reaction was created |
timestamp
|
deadline |
(optional) if present, the reaction will be erased at this time |
Type | Name | Description |
---|---|---|
CommentInfo
|
comment |
details of the comment created |
int
|
total |
total number of comments in the posting after the creation |
Type | Name | Description |
---|---|---|
String
|
id |
|
String
|
ownerName |
node name of the comment's owner |
String
|
ownerFullName |
(optional) full name of the comment's owner |
String
|
ownerGender |
(optional) gender of the comment's owner |
AvatarImage
|
ownerAvatar |
(optional) avatar of the comment's owner |
String
|
postingId |
ID of the parent posting of the comment |
String
|
postingRevisionId |
ID of the revision of parent posting that was current when the comment was created |
String
|
revisionId |
ID of the current revision of the comment |
int
|
totalRevisions |
total number of revisions the comment has |
Body
(as String)
|
bodyPreview |
(optional) preview of the comment's body, a string representation of a JSON structure |
Body
(as String)
|
bodySrc |
(optional) the source text of the comment, a string representation of a JSON structure, may be absent if not requested |
byte[]
|
bodySrcHash |
hash of the source text of the comment |
String
|
bodySrcFormat |
(optional)
format of the source text of the comment, the list of available formats is returned in PostingFeatures
(see SourceFormat for the list of
possible values)
|
Body
(as String)
|
body |
body of the comment, a string representation of a JSON structure |
String
|
bodyFormat |
(optional)
format of the body of the comment, may have any value meaningful for the client
(see BodyFormat for the list of
possible values)
|
MediaAttachment[]
|
media |
(optional) list of the media attached to the comment |
String
|
heading |
heading of the comment |
RepliedTo
|
repliedTo |
(optional) information about the comment this comment is replying to |
int
|
moment |
|
timestamp
|
createdAt |
comment creation timestamp - the real time when the comment was created |
timestamp
|
editedAt |
(optional) comment editing timestamp - the last time the comment was updated |
timestamp
|
deletedAt |
(optional) comment deletion timestamp - the time when the comment was deleted |
timestamp
|
revisionCreatedAt |
creation timestamp of the current revision of the comment |
timestamp
|
deadline |
(optional) comment purging timestamp - the time when the deleted comment will be purged from the database |
byte[]
|
digest |
(optional)
cryptographic digest of the comment (use Comment fingerprint)
|
byte[]
|
signature |
(optional)
the comment's owner signature (use Comment fingerprint)
|
int
|
signatureVersion |
(optional) signature version (i.e. fingerprint version) |
CommentOperations
|
operations |
(optional) the supported operations and the corresponding principals |
ReactionOperations
|
reactionOperations |
(optional) the operations and the corresponding principals that are overridden in reactions to the comment |
CommentOperations
|
ownerOperations |
(optional) the supported operations and the corresponding principals as defined by the comment's owner |
CommentOperations
|
seniorOperations |
(optional) the operations and the corresponding principals that are overridden by the posting's owner ("senior") |
String[]
|
blockedOperations |
(optional)
operations on the comment that are blocked for the client
(see BlockedEntryOperation for the list of
possible values)
|
SheriffMark[]
|
sheriffMarks |
(optional) list of sheriff marks on the comment |
AcceptedReactions
|
acceptedReactions |
(optional) types of reactions that the comment accepts |
ClientReactionInfo
|
clientReaction |
(optional) details of the existing reaction (if any) of the client's owner |
ClientReactionInfo
|
seniorReaction |
(optional) details of the existing reaction (if any) of the posting's owner ("senior") to the comment |
ReactionTotalsInfo
|
reactions |
(optional) summary of reactions to the comment |
Type | Name | Description |
---|---|---|
CommentOperations
|
seniorOperations |
(optional) the operations and the corresponding principals that are overridden by the comment's owner ("senior") |
Code | Description |
---|---|
commentMassAttributes.seniorOperations.wrong-principal |
principal for one of senior operations is invalid |
Type | Name | Description |
---|---|---|
String
|
id |
|
String
|
postingRevisionId |
ID of the posting revision that was actual at the moment of creation of this comment revision |
Body
(as String)
|
bodyPreview |
(optional) preview of the revision's body, a string representation of a JSON structure |
byte[]
|
bodySrcHash |
hash of the source text of the revision |
String
|
bodySrcFormat |
(optional)
format of the source text of the revision, the list of available formats is returned in PostingFeatures
(see SourceFormat for the list of
possible values)
|
Body
(as String)
|
body |
body of the revision, a string representation of a JSON structure |
String
|
bodyFormat |
(optional)
format of the body of the revision, may have any value meaningful for the client
(see BodyFormat for the list of
possible values)
|
String
|
heading |
heading of the revision |
timestamp
|
createdAt |
revision creation timestamp - the real time when the revision was created |
timestamp
|
deletedAt |
(optional) revision deletion timestamp - the time when the revision was deleted |
timestamp
|
deadline |
(optional) revision deletion timestamp - the time when the revision will be deleted and the previous revision will take its place |
byte[]
|
digest |
(optional)
cryptographic digest of the revision (use Comment fingerprint)
|
byte[]
|
signature |
(optional)
the comment's owner signature (use Comment fingerprint)
|
int
|
signatureVersion |
(optional) signature version (i.e. fingerprint version) |
ClientReactionInfo
|
clientReaction |
(optional) details of the existing reaction (if any) of the client's owner |
ReactionTotalsInfo
|
reactions |
(optional) summary of reactions to the revision |
Type | Name | Description |
---|---|---|
int
|
before |
the slice contains all comments before this moment, inclusive. May be the far future. |
int
|
after |
the slice contains all comments after this moment, exclusive. May be the far past. |
CommentInfo[]
|
comments |
the comments |
int
|
total |
total number of comments |
int
|
totalInPast |
number of comments before this slice till the far past |
int
|
totalInFuture |
number of comments after this slice till the far future |
Type | Name | Description |
---|---|---|
AvatarDescription
|
ownerAvatar |
(optional) avatar of the comment's owner |
Body
(as String)
|
bodySrc |
(optional) the source text of the comment, a string representation of a JSON structure |
String
|
bodySrcFormat |
(optional)
format of the source text of the comment, plain-text by default; the list of available formats is returned in PostingFeatures
(see SourceFormat for the list of
possible values)
|
MediaWithDigest[]
|
media |
(optional) array of IDs and digests of private media to be attached to the comment |
AcceptedReactions
|
acceptedReactions |
(optional) types of reactions that the comment accepts |
String
|
repliedToId |
(optional) ID of the comment this comment is replying to |
CommentOperations
|
operations |
(optional) the operations and the corresponding principals |
CommentOperations
|
seniorOperations |
(optional) the operations and the corresponding principals that are overridden by the posting's owner ("senior"); only the senior may set this |
Code | Description |
---|---|
commentText.bodySrc.blank |
body text is empty |
commentText.bodySrc.wrong-size |
body text is too long |
commentText.bodySrc.wrong-encoding |
body text is formatted incorrectly |
commentText.acceptedReactions.positive.wrong-size |
list of accepted positive reactions is too long |
commentText.acceptedReactions.positive.wrong-pattern |
list of accepted positive reactions has wrong format |
commentText.acceptedReactions.negative.wrong-size |
list of accepted negative reactions is too long |
commentText.acceptedReactions.negative.wrong-pattern |
list of accepted negative reactions has wrong format |
Type | Name | Description |
---|---|---|
String
|
ownerName |
(optional) node name of the comment's owner |
String
|
ownerFullName |
(optional) full name of the comment's owner |
String
|
ownerGender |
(optional) gender of the comment's owner |
AvatarDescription
|
ownerAvatar |
(optional) avatar of the comment's owner |
Body
(as String)
|
bodyPreview |
(optional) preview of the comment's body, a string representation of a JSON structure |
Body
(as String)
|
bodySrc |
(optional) the source text of the comment, a string representation of a JSON structure |
String
|
bodySrcFormat |
(optional)
format of the source text of the comment, plain-text by default; the list of available formats is returned in PostingFeatures
(see SourceFormat for the list of
possible values)
|
Body
(as String)
|
body |
(optional) body of the comment, a string representation of a JSON structure |
String
|
bodyFormat |
(optional)
format of the body of the comment, may have any value meaningful for the client
(see BodyFormat for the list of
possible values)
|
String[]
|
media |
(optional) array of IDs of private media to be attached to the comment |
timestamp
|
createdAt |
(optional) comment creation timestamp - the real time when the comment was created |
AcceptedReactions
|
acceptedReactions |
(optional) types of reactions that the comment accepts |
String
|
repliedToId |
(optional) ID of the comment this comment is replying to |
byte[]
|
signature |
(optional)
the comment's owner signature (use Comment fingerprint)
|
int
|
signatureVersion |
(optional) signature version (i.e. fingerprint version) |
CommentOperations
|
operations |
(optional) the operations and the corresponding principals |
ReactionOperations
|
reactionOperations |
(optional) the operations and the corresponding principals that are overridden in reactions to the comment |
CommentOperations
|
seniorOperations |
(optional) the operations and the corresponding principals that are overridden by the posting's owner ("senior"); only the senior may set this |
Code | Description |
---|---|
commentText.ownerAvatar.mediaId.not-found |
owner's avatar is not found |
commentText.bodySrc.blank |
body text is empty |
commentText.bodySrc.wrong-size |
body text is too long |
commentText.bodySrc.wrong-encoding |
body text is formatted incorrectly |
commentText.bodySrcFormat.unknown |
unknown body text format |
commentText.body.blank |
body is empty |
commentText.body.wrong-size |
body is too long |
commentText.body.wrong-encoding |
body encoding is incorrect |
commentText.bodyPreview.wrong-encoding |
body preview encoding is incorrect |
commentText.bodyFormat.blank |
body format is not set |
commentText.bodyFormat.wrong-size |
body format is too long |
commentText.media.not-found |
media attachment is not found |
commentText.media.not-compressed |
media attachment is not compressed as the node requires, the parameters of the desired compression are returned in PostingFeatures
|
commentText.createdAt.blank |
body creation timestamp is not set |
commentText.createdAt.out-of-range |
body creation timestamp is too far from the current timestamp |
commentText.acceptedReactions.positive.wrong-size |
list of accepted positive reactions is too long |
commentText.acceptedReactions.positive.wrong-pattern |
list of accepted positive reactions has wrong format |
commentText.acceptedReactions.negative.wrong-size |
list of accepted negative reactions is too long |
commentText.acceptedReactions.negative.wrong-pattern |
list of accepted negative reactions has wrong format |
commentText.repliedToId.not-found |
comment referred in `repliedToId` is not found |
commentText.operations.wrong-principal |
principal for one of operations is invalid |
commentText.reactionOperations.wrong-principal |
principal for one of reaction operations is invalid |
commentText.seniorOperations.wrong-principal |
principal for one of senior operations is invalid |
Type | Name | Description |
---|---|---|
int
|
total |
total number of comments in the posting after the operation |
Type | Name | Description |
---|---|---|
String
|
nodeName |
|
String
|
fullName |
(optional) |
String
|
gender |
(optional) |
AvatarImage
|
avatar |
(optional) |
float
|
closeness |
closeness of the contact to the node, which is calculated from the number of reactions and comments and their age |
boolean
|
hasFeedSubscriber |
(optional) the contact is subscribed to at least one of the node's feeds |
boolean
|
hasFeedSubscription |
(optional) the node is subscribed to at least one of the contact's feeds |
boolean
|
hasFriend |
(optional) the contact is a friend of the node |
boolean
|
hasFriendOf |
(optional) the node is a friend of the contact |
boolean
|
hasBlock |
(optional) the contact is blocked by the node |
boolean
|
hasBlockBy |
(optional) the node is blocked by the contact |
ContactOperations
|
operations |
(optional) the supported operations and the corresponding principals |
ContactOperations
|
ownerOperations |
(optional) the supported operations and the corresponding principals as defined by the contact's owner |
ContactOperations
|
adminOperations |
(optional) the operations and the corresponding principals that are overridden by the node administrator |
Type | Name | Description |
---|---|---|
String
|
login |
|
String
|
password |
Code | Description |
---|---|
credentials.login.blank |
the login is empty |
credentials.password.blank |
the password is empty |
Type | Name | Description |
---|---|---|
String
|
token |
(optional) credentials reset token |
String
|
oldPassword |
(optional) the current password |
String
|
login |
|
String
|
password |
Code | Description |
---|---|
credentials.login.blank |
the login is empty |
credentials.password.blank |
the password is empty |
Type | Name | Description |
---|---|---|
boolean
|
created |
true if the credentials are initialized already, false otherwise
|
Type | Name | Description |
---|---|---|
boolean
|
requested |
true if the request is sent, false otherwise
|
Type | Name | Description |
---|---|---|
String
|
message |
(optional) text message for the provider |
Code | Description |
---|---|
delete-node.no-email |
e-mail is required to be set in the profile to communicate with the provider |
deleteNodeText.message.wrong-size |
the message is too long |
Type | Name | Description |
---|---|---|
String
|
name |
(optional)
domain's hostname or _default_ for the default domain
|
UUID
|
nodeId |
(optional) domain's node ID |
Code | Description |
---|---|
domainAttributes.name.blank |
the domain name is empty |
domainAttributes.name.wrong-hostname |
the domain name is not a valid hostname |
domainAttributes.nodeId.wrong-uuid |
the node ID is not a valid UUID |
Type | Name | Description |
---|---|---|
String
|
name |
fully-qualified domain name |
Type | Name | Description |
---|---|---|
String
|
name |
domain's hostname or _default_ for the default domain
|
UUID
|
nodeId |
domain's node ID |
timestamp
|
createdAt |
domain creation timestamp |
Code | Description |
---|---|
domainInfo.name.blank |
the domain name is empty |
domainInfo.name.wrong-hostname |
the domain name is not a valid hostname |
domainInfo.nodeId.wrong-uuid |
the node ID is not a valid UUID |
Type | Name | Description |
---|---|---|
String
|
id |
|
String
|
draftType |
type of the draft
(see DraftType for the list of
possible values)
|
String
|
receiverName |
name of the node the draft is related to |
String
|
receiverPostingId |
(optional)
ID of the posting, set for all types, except new-posting
|
String
|
receiverCommentId |
(optional)
ID of the comment, set for comment-update type
|
String
|
repliedToId |
(optional) ID of the comment replied to, set for comment drafts, if needed |
timestamp
|
createdAt |
draft creation timestamp - the real time when the draft was created |
timestamp
|
editedAt |
(optional) draft editing timestamp - the last time the draft was updated |
timestamp
|
deadline |
(optional) draft purging timestamp - the time when the draft will be purged from the database, if not updated |
String
|
ownerFullName |
(optional) full name of the posting's/comment's owner |
AvatarImage
|
ownerAvatar |
(optional) avatar of the posting's/comment's owner |
AcceptedReactions
|
acceptedReactions |
(optional) types of reactions that the posting accepts |
Body
(as String)
|
bodySrc |
(optional) the source text of the draft, a string representation of a JSON structure |
String
|
bodySrcFormat |
(optional)
format of the source text of the draft, plain-text by default; the list of available formats is returned in PostingFeatures
(see SourceFormat for the list of
possible values)
|
Body
(as String)
|
body |
body of the draft, a string representation of a JSON structure |
String
|
bodyFormat |
(optional)
format of the body of the draft
(see BodyFormat for the list of
possible values)
|
MediaAttachment[]
|
media |
(optional) list of the media attached to the draft |
String
|
heading |
heading of the draft |
int
|
publishAt |
(optional) story publication timestamp - the time the story must be published under in the feed |
UpdateInfo
|
updateInfo |
(optional) description of the update |
PostingOperations
|
operations |
(optional) draft of the list of operations and the corresponding principals |
CommentOperations
|
commentOperations |
(optional) draft of the list of operations and the corresponding principals that are overridden in the posting's comments, set for posting drafts, if needed |
Type | Name | Description |
---|---|---|
String
|
draftType |
type of the draft
(see DraftType for the list of
possible values)
|
String
|
receiverName |
name of the node the draft is related to |
String
|
receiverPostingId |
(optional)
ID of the posting, mandatory for all types, except new-posting
|
String
|
receiverCommentId |
(optional)
ID of the comment, mandatory for comment-update type
|
String
|
repliedToId |
(optional) ID of the comment replied to |
String
|
ownerFullName |
(optional) full name of the posting's/comment's owner |
AvatarDescription
|
ownerAvatar |
(optional) avatar of the posting's/comment's owner |
AcceptedReactions
|
acceptedReactions |
(optional) types of reactions that the posting accepts |
Body
(as String)
|
bodySrc |
(optional) the source text of the draft, a string representation of a JSON structure |
String
|
bodySrcFormat |
(optional)
format of the source text of the draft, plain-text by default; the list of available formats is returned in PostingFeatures
(see SourceFormat for the list of
possible values)
|
RemoteMedia[]
|
media |
(optional) list of the media attached to the draft, the media may be located on another node |
int
|
publishAt |
(optional) story publication timestamp - the time the story must be published under in the feed |
UpdateInfo
|
updateInfo |
(optional) description of the update |
PostingOperations
|
operations |
(optional) draft of the list of operations and the corresponding principals |
CommentOperations
|
commentOperations |
(optional) draft of the list of operations and the corresponding principals that are overridden in the posting's comments |
Code | Description |
---|---|
draftText.postingId.blank |
posting ID is not set |
draftText.commentId.blank |
comment ID is not set |
draftText.ownerFullName.wrong-size |
owner's full name is too long |
draftText.ownerAvatar.mediaId.not-found |
owner's avatar is not found |
draftText.bodySrc.wrong-size |
body text is too long |
draftText.bodySrc.wrong-encoding |
body text encoding is incorrect |
draftText.bodySrcFormat.unknown |
unknown body text format |
draftText.acceptedReactions.positive.wrong-size |
list of accepted positive reactions is too long |
draftText.acceptedReactions.positive.wrong-pattern |
list of accepted positive reactions has wrong format |
draftText.acceptedReactions.negative.wrong-size |
list of accepted negative reactions is too long |
draftText.acceptedReactions.negative.wrong-pattern |
list of accepted negative reactions has wrong format |
Type | Name | Description |
---|---|---|
String
|
emailHint |
a masked E-mail address that should help user to understand which E-mail address was used without revealing it |
Type | Name | Description |
---|---|---|
PostingInfo
|
posting |
(optional) posting details, set if the entry is a posting |
CommentInfo
|
comment |
(optional) comment details, set if the entry is a comment |
Type | Name | Description |
---|---|---|
PostingFeatures
|
posting |
features of a posting |
String[]
|
plugins |
(optional) list of names of plugins enabled for the node |
int
|
feedWidth |
width of the feed in pixels |
FriendGroupsFeatures
|
friendGroups |
(optional) features of groups of friends |
String[]
|
ask |
(optional)
list of requests to the node owner that are accepted by the node
(see AskSubject for the list of
possible values)
|
boolean
|
subscribed |
(optional)
true , if the node is subscribed to the client, false otherwise
|
Type | Name | Description |
---|---|---|
String
|
feedName |
name of the feed |
String
|
title |
(optional) title of the feed |
int
|
total |
total number of stories in the feed |
timestamp
|
firstCreatedAt |
(optional) creation timestamp of the earliest story in the feed |
timestamp
|
lastCreatedAt |
(optional) creation timestamp of the latest story in the feed |
FeedOperations
|
operations |
(optional) the supported operations and the corresponding principals |
String[]
|
sheriffs |
(optional) list of sheriffs supervising the feed |
SheriffMark[]
|
sheriffMarks |
(optional) list of sheriff marks on the feed |
Type | Name | Description |
---|---|---|
String
|
feedName |
name of the feed |
timestamp
|
publishedAt |
story publication timestamp - the time the story is published under in the feed |
boolean
|
pinned |
(optional)
true , if the story is pinned (should appear before any non-pinned story in the feed), false otherwise
|
int
|
moment |
|
String
|
storyId |
ID of the story |
StoryOperations
|
operations |
(optional) the supported operations and the corresponding principals for the story in the feed |
Type | Name | Description |
---|---|---|
int
|
before |
the slice contains all stories before this moment, inclusive. May be the far future. |
int
|
after |
the slice contains all stories after this moment, exclusive. May be the far past. |
StoryInfo[]
|
stories |
the stories |
int
|
totalInPast |
total number of stories in the feed before this slice |
int
|
totalInFuture |
total number of stories in the feed after this slice |
Type | Name | Description |
---|---|---|
int
|
total |
total number of stories |
int
|
totalPinned |
total number of pinned stories |
int
|
lastMoment |
(optional) moment of the most recent story |
int
|
notViewed |
(optional) number of stories that have not been viewed yet, admin only |
int
|
notRead |
(optional) number of stories that have not been read yet, admin only |
int
|
notViewedMoment |
(optional) moment of the oldest non-viewed story, admin only |
int
|
notReadMoment |
(optional) moment of the oldest non-read story, admin only |
Type | Name | Description |
---|---|---|
boolean
|
viewed |
(optional)
new value of the viewed flag (null , if the flag is not changed)
|
boolean
|
read |
(optional)
new value of the read flag (null , if the flag is not changed)
|
int
|
before |
change flags for all stories before this moment, inclusive |
Type | Name | Description |
---|---|---|
String
|
feedName |
name of the feed |
int
|
notViewed |
number of stories in the feed that have not been viewed yet |
int
|
notRead |
number of stories in the feed that have not been read yet |
Type | Name | Description |
---|---|---|
String
|
nodeName |
name of the node |
FriendGroupAssignment[]
|
groups |
(optional) groups of friends the node is to be included into |
Code | Description |
---|---|
friendDescription.nodeName.blank |
friend's node name is empty |
friendDescription.nodeName.wrong-size |
friend's node name is too long |
friendDescription.groups.wrong-principal |
principal for one of operations is invalid |
Type | Name | Description |
---|---|---|
String
|
id |
ID of the group of friends |
FriendOperations
|
operations |
(optional) the operations and the corresponding principals |
Type | Name | Description |
---|---|---|
String
|
title |
title of the group of friends |
FriendGroupOperations
|
operations |
(optional) the operations and the corresponding principals |
Code | Description |
---|---|
friendGroupDescription.title.blank |
title of group of friends is empty |
friendGroupDescription.title.wrong-size |
title of group of friends is too long |
friendGroupDescription.operations.wrong-principal |
principal for one of operations is invalid |
Type | Name | Description |
---|---|---|
String
|
id |
ID of the group of friends |
String
|
title |
(optional) title of the group of friends |
timestamp
|
addedAt |
the friendship timestamp - the real time when the node was added to the group of friends |
FriendOperations
|
operations |
(optional) list of the supported operations and the corresponding principals |
Type | Name | Description |
---|---|---|
String
|
id |
|
String
|
title |
(optional) title of the group of friends |
timestamp
|
createdAt |
the group creation timestamp - the real time when the group of friends was created |
FriendGroupOperations
|
operations |
(optional) list of the supported operations and the corresponding principals |
Type | Name | Description |
---|---|---|
FriendGroupInfo[]
|
available |
list of groups of friends existing on the node |
FriendGroupDetails[]
|
memberOf |
(optional) list of groups of friends the client is member of |
Type | Name | Description |
---|---|---|
String
|
nodeName |
name of the node |
ContactInfo
|
contact |
(optional) information about the node |
FriendGroupDetails[]
|
groups |
(optional) groups of friends the node belongs to |
Type | Name | Description |
---|---|---|
String
|
remoteNodeName |
name of the remote node |
ContactInfo
|
contact |
(optional) information about the remote node |
FriendGroupDetails[]
|
groups |
(optional) groups of friends on the remote node this node was added to |
Type | Name | Description |
---|---|---|
String
|
title |
fundraiser title |
String
|
qrCode |
(optional) text or URI to be encoded and displayed as QR-code |
String
|
text |
(optional) arbitrary text to be displayed |
String
|
href |
(optional) link to the fundraiser |
any
|
any |
any other fields understood by Moera clients |
Type | Name | Description |
---|---|---|
String[]
|
scope |
a set of permissions to be granted or revoked
(see Scope for the list of
possible values)
|
boolean
|
revoke |
true if the permissions must be revoked, false if the permissions must be granted
|
Type | Name | Description |
---|---|---|
String
|
nodeName |
name of the node the permissions are granted to |
String[]
|
scope |
the set of administrative permissions granted to the node
(see Scope for the list of
possible values)
|
Type | Name | Description |
---|---|---|
String[]
|
mnemonic |
the words |
Type | Name | Description |
---|---|---|
String
|
siteName |
(optional) name of the site |
String
|
url |
(optional) canonical URL of the page |
String
|
title |
(optional) title of the page |
String
|
description |
(optional) description of the page |
String
|
imageHash |
(optional) hash of the image presenting the page |
Type | Name | Description |
---|---|---|
String
|
siteName |
(optional) name of the site |
String
|
url |
(optional) canonical URL of the page |
String
|
title |
(optional) title of the page |
String
|
description |
(optional) description of the page |
String
|
imageUrl |
(optional) URL of the image presenting the page |
Type | Name | Description |
---|---|---|
PrivateMediaFileInfo
|
media |
(optional) details of the attached media, may be absent if the media is not located on the node |
RemoteMediaInfo
|
remoteMedia |
(optional) details of the media, if it is located on another node |
boolean
|
embedded |
true if the media is used in the body of the posting/comment, false otherwise
|
Type | Name | Description |
---|---|---|
int
|
targetWidth |
the width the preview was prepared for viewing at |
String
|
directPath |
(optional)
location of the media file, relative to the /media ; points to a static image served directly from a filesystem; static images do not accept any query parameters including authentication parameters
|
int
|
width |
actual width of the preview in pixels |
int
|
height |
actual height of the preview in pixels |
boolean
|
original |
(optional)
true if the preview is identical to the original media, false otherwise
|
Type | Name | Description |
---|---|---|
String
|
id |
ID of the media file |
String
|
digest |
(optional) cryptographic digest of the media file |
Type | Name | Description |
---|---|---|
String
|
name |
Code | Description |
---|---|
nameToRegister.name.blank |
the name is empty |
nameToRegister.name.invalid |
the name is reserved, too long or contains invalid characters |
Type | Name | Description |
---|---|---|
String
|
id |
ID of the notification packet on the sending node (used to filter out duplicates) |
String
|
nodeName |
name of the sending node |
String
|
fullName |
(optional) full name of the sending node |
String
|
gender |
(optional) gender of the sending node |
AvatarImage
|
avatar |
(optional) avatar of the sending node |
timestamp
|
createdAt |
notification packet creation timestamp |
String
|
type |
notification type |
String
|
notification |
the notification, a string representation of a JSON structure (see Notifications page for details) |
byte[]
|
signature |
the notification packet sender signature (use NotificationPacket fingerprint)
|
int
|
signatureVersion |
signature version (i.e. fingerprint version) |
Type | Name | Description |
---|---|---|
String
|
name |
(optional) |
String
|
operationStatus |
(optional)
status of the latest operation with the node name
(see OperationStatus for the list of
possible values)
|
timestamp
|
operationStatusUpdated |
(optional) the last time the operation status was updated |
String
|
operationErrorCode |
(optional) if the operation with the node name was failed, the code of the failure |
String
|
operationErrorMessage |
(optional) if the operation with the node name was failed, the human-readable description of the failure |
boolean
|
storedMnemonic |
(optional)
true , if updating key mnemonic is being stored on the node, false otherwise
|
NodeNameOperations
|
operations |
(optional) the supported operations and the corresponding principals |
Type | Name | Description |
---|---|---|
int
|
feedSubscribersTotal |
(optional) total number of subscribers of the node |
int
|
feedSubscriptionsTotal |
(optional) total number of subscriptions of the node |
String -> int
|
friendsTotal |
(optional) total number of friends in every group |
int
|
friendOfsTotal |
(optional) total number of nodes that added this node to their friends |
int
|
blockedTotal |
(optional) total number of blocked nodes |
int
|
blockedByTotal |
(optional) total number of nodes that blocked this node |
PeopleOperations
|
operations |
(optional) the supported operations and the corresponding principals |
Type | Name | Description |
---|---|---|
boolean
|
rootAdmin |
true , if the client has authenticated as root admin, false otherwise
|
boolean
|
admin |
true , if the client has authenticated as node admin, false otherwise
|
String[]
|
authCategories |
the list of permissions granted to the client, if it has authenticated as node admin; see TokenInfo.permissions for the list of possible values
|
String
|
clientName |
node name of the client |
String
|
remoteAddress |
IP address of the client |
String
|
userAgent |
user agent (browser) used by the client |
String
|
userAgentOs |
operating system used by the client |
String
|
nodeId |
ID of the current node |
String
|
nodeName |
node name of the current node |
String
|
domainName |
domain name of the current node |
String
|
originUrl |
full URL of the request |
Type | Name | Description |
---|---|---|
String
|
name |
a unique plugin name; can contain only small latin letters, digits or hyphen |
String
|
title |
(optional) user-readable title of the plugin |
String
|
description |
(optional) user-readable description of the purpose of the plugin |
String
|
location |
(optional) URL of the plugin; used by the node to call the plugin API |
String[]
|
acceptedEvents |
(optional) list of types of internal events the plugin wants to receive; Read more about internal events. |
SettingDescriptor[]
|
options |
(optional)
plugin settings to be added to the list of node settings, the settings appear in the list with a prefix plugin.<plugin name>.
|
Code | Description |
---|---|
pluginDescription.name.blank |
plugin name is empty |
pluginDescription.name.wrong-size |
plugin name is too long |
pluginDescription.name.wrong-pattern |
plugin name format is incorrect |
pluginDescription.title.wrong-size |
plugin title is too long |
pluginDescription.description.wrong-size |
plugin description is too long |
pluginDescription.options.unknown-type |
option has an unknown type |
Type | Name | Description |
---|---|---|
String
|
nodeId |
ID of the node this plugin is connected to |
boolean
|
local |
true if the plugin is enabled for a particular node only, false , if it is enabled for the whole server
|
String
|
name |
a unique plugin name |
String
|
title |
(optional) user-readable title of the plugin |
String
|
description |
(optional) user-readable description of the purpose of the plugin |
String
|
location |
(optional) URL of the plugin; used by the node to call the plugin API |
String[]
|
acceptedEvents |
(optional) list of types of internal events the plugin wants to receive; Read more about internal events. |
SettingMetaInfo[]
|
settings |
(optional) plugin settings to be added to the list of node settings |
String
|
tokenId |
(optional) ID of the token used to authenticate the plugin |
Type | Name | Description |
---|---|---|
boolean
|
post |
(optional)
true if the client is allowed to create postings, false otherwise
|
boolean
|
subjectPresent |
true if new postings are recommended to have a subject, false otherwise
|
String[]
|
sourceFormats |
list of source text formats the node understands
(see SourceFormat for the list of
possible values)
|
int
|
mediaMaxSize |
maximal size of a media attachment in a post |
int
|
imageRecommendedSize |
maximal size of a compressed image in a post |
int
|
imageRecommendedPixels |
maximal resolution of a compressed image in a post (in pixels) |
String[]
|
imageFormats |
list of image formats (in MIME type form) the node understands |
Type | Name | Description |
---|---|---|
String
|
id |
|
String
|
revisionId |
ID of the current revision of the posting |
String
|
receiverRevisionId |
(optional) ID of the current revision of the original posting (for cached copies of remote postings only) |
int
|
totalRevisions |
total number of revisions the posting has |
String
|
receiverName |
(optional) name of the node where the posting was published (for cached copies of remote postings only) |
String
|
receiverFullName |
(optional) full name of the node where the posting was published (for cached copies of remote postings only) |
String
|
receiverGender |
(optional) gender of the node where the posting was published (for cached copies of remote postings only) |
AvatarImage
|
receiverAvatar |
(optional) avatar of the node where the posting was published (for cached copies of remote postings only) |
String
|
receiverPostingId |
(optional) ID of the original posting (for cached copies of remote postings only) |
String
|
parentMediaId |
(optional) ID of the media the posting is linked to, if any |
String
|
ownerName |
node name of the posting's owner |
String
|
ownerFullName |
(optional) full name of the posting's owner |
String
|
ownerGender |
(optional) gender of the posting's owner |
AvatarImage
|
ownerAvatar |
(optional) avatar of the posting's owner |
Body
(as String)
|
bodyPreview |
(optional) preview of the posting's body, a string representation of a JSON structure |
Body
(as String)
|
bodySrc |
(optional) the source text of the posting, a string representation of a JSON structure, may be absent if not requested |
byte[]
|
bodySrcHash |
hash of the source text of the posting |
String
|
bodySrcFormat |
(optional)
format of the source text of the posting, the list of available formats is returned in PostingFeatures
(see SourceFormat for the list of
possible values)
|
Body
(as String)
|
body |
body of the posting, a string representation of a JSON structure |
String
|
bodyFormat |
(optional)
format of the body of the posting, may have any value meaningful for the client
(see BodyFormat for the list of
possible values)
|
MediaAttachment[]
|
media |
(optional) list of the media attached to the posting |
String
|
heading |
heading of the posting |
UpdateInfo
|
updateInfo |
(optional) description of the latest update |
timestamp
|
createdAt |
posting creation timestamp - the real time when the posting was created |
timestamp
|
editedAt |
(optional) posting editing timestamp - the last time the posting was updated |
timestamp
|
deletedAt |
(optional) posting deletion timestamp - the time when the posting was deleted |
timestamp
|
receiverCreatedAt |
(optional) original posting creation timestamp (for cached copies of remote postings only) |
timestamp
|
receiverEditedAt |
(optional) original posting editing timestamp (for cached copies of remote postings only) |
timestamp
|
receiverDeletedAt |
(optional) original posting deletion timestamp (for cached copies of remote postings only) |
timestamp
|
revisionCreatedAt |
creation timestamp of the current revision of the posting |
timestamp
|
receiverRevisionCreatedAt |
(optional) creation timestamp of the current revision of the original posting (for cached copies of remote postings only) |
timestamp
|
deadline |
(optional) posting purging timestamp - the time when the deleted posting will be purged from the database |
byte[]
|
digest |
(optional)
cryptographic digest of the posting (use Posting fingerprint)
|
byte[]
|
signature |
(optional)
the posting's owner signature (use Posting fingerprint)
|
int
|
signatureVersion |
(optional) signature version (i.e. fingerprint version) |
FeedReference[]
|
feedReferences |
(optional) array of references to the posting from stories in feeds |
BlockedPostingInstantInfo[]
|
blockedInstants |
(optional) instants related to the posting that are blocked (for admin only) |
PostingOperations
|
operations |
(optional) the supported operations and the corresponding principals |
PostingOperations
|
receiverOperations |
(optional) the supported operations for the original posting and the corresponding principals (for cached copies of remote postings only) |
CommentOperations
|
commentOperations |
(optional) the operations and the corresponding principals that are overridden in the posting's comments |
ReactionOperations
|
reactionOperations |
(optional) the operations and the corresponding principals that are overridden in reactions to the posting |
ReactionOperations
|
commentReactionOperations |
(optional) the operations and the corresponding principals that are overridden in reactions to the posting's comments |
String[]
|
blockedOperations |
(optional)
operations on the posting that are blocked for the client
(see BlockedEntryOperation for the list of
possible values)
|
String[]
|
blockedCommentOperations |
(optional)
operations on the posting's comments that are blocked for the client
(see BlockedEntryOperation for the list of
possible values)
|
String[]
|
sheriffs |
(optional) list of sheriffs supervising the posting |
SheriffMark[]
|
sheriffMarks |
(optional) list of sheriff marks on the posting |
AcceptedReactions
|
acceptedReactions |
(optional) types of reactions that the posting accepts |
ClientReactionInfo
|
clientReaction |
(optional) details of the existing reaction (if any) of the client's owner |
ReactionTotalsInfo
|
reactions |
(optional) reactions summary of the posting |
PostingSourceInfo[]
|
sources |
(optional) details of the sources the posting was received from (for cached copies of remote postings only) |
int
|
totalComments |
(optional) total number of comments to the posting |
Type | Name | Description |
---|---|---|
String
|
id |
|
String
|
receiverId |
(optional) ID of the original revision (for cached copies of remote postings only) |
Body
(as String)
|
bodyPreview |
(optional) preview of the revision's body, a string representation of a JSON structure |
byte[]
|
bodySrcHash |
hash of the source text of the revision |
String
|
bodySrcFormat |
(optional)
format of the source text of the revision, the list of available formats is returned in PostingFeatures
(see SourceFormat for the list of
possible values)
|
Body
(as String)
|
body |
body of the revision, a string representation of a JSON structure |
String
|
bodyFormat |
(optional)
format of the body of the revision
(see BodyFormat for the list of
possible values)
|
MediaAttachment[]
|
media |
(optional) list of the media attached to the revision |
String
|
heading |
heading of the revision |
UpdateInfo
|
updateInfo |
(optional) description of the latest update |
timestamp
|
createdAt |
revision creation timestamp - the real time when the revision was created |
timestamp
|
deletedAt |
(optional) revision deletion timestamp - the time when the revision was deleted |
timestamp
|
receiverCreatedAt |
(optional) original revision creation timestamp (for cached copies of remote postings only) |
timestamp
|
receiverDeletedAt |
(optional) original revision deletion timestamp (for cached copies of remote postings only) |
byte[]
|
digest |
(optional)
cryptographic digest of the revision (use Posting fingerprint)
|
byte[]
|
signature |
(optional)
the revision's owner signature (use Posting fingerprint)
|
int
|
signatureVersion |
(optional) signature version (i.e. fingerprint version) |
ClientReactionInfo
|
clientReaction |
(optional) details of the existing reaction (if any) of the client's owner |
ReactionTotalsInfo
|
reactions |
(optional) reactions summary of the posting revision |
Type | Name | Description |
---|---|---|
String
|
nodeName |
name of the remote node |
String
|
fullName |
(optional) full name of the remote node |
AvatarImage
|
avatar |
(optional) avatar of the remote node |
String
|
feedName |
name of the feed on the remote node |
String
|
postingId |
ID of the posting on the remote node |
timestamp
|
createdAt |
timestamp when the posting was received from this source |
Type | Name | Description |
---|---|---|
AvatarDescription
|
ownerAvatar |
(optional) avatar of the posting's owner |
Body
(as String)
|
bodySrc |
(optional) the source text of the posting, a string representation of a JSON structure |
String
|
bodySrcFormat |
(optional)
format of the source text of the posting, plain-text by default; the list of available formats is returned in PostingFeatures
(see SourceFormat for the list of
possible values)
|
MediaWithDigest[]
|
media |
(optional) array of IDs and digests of private media to be attached to the posting |
AcceptedReactions
|
acceptedReactions |
(optional) types of reactions that the posting accepts |
PostingOperations
|
operations |
(optional) the operations and the corresponding principals |
CommentOperations
|
commentOperations |
(optional) the operations and the corresponding principals that are overridden in the posting's comments |
Type | Name | Description |
---|---|---|
String
|
ownerName |
(optional) node name of the posting's owner |
String
|
ownerFullName |
(optional) full name of the posting's owner |
String
|
ownerGender |
(optional) gender of the posting's owner |
AvatarDescription
|
ownerAvatar |
(optional) avatar of the posting's owner |
Body
(as String)
|
bodyPreview |
(optional) preview of the posting's body, a string representation of a JSON structure |
Body
(as String)
|
bodySrc |
(optional) the source text of the posting, a string representation of a JSON structure |
String
|
bodySrcFormat |
(optional)
format of the source text of the posting, plain-text by default; the list of available formats is returned in PostingFeatures
(see SourceFormat for the list of
possible values)
|
Body
(as String)
|
body |
(optional) body of the posting, a string representation of a JSON structure |
String
|
bodyFormat |
(optional)
format of the body of the posting, may have any value meaningful for the client
(see BodyFormat for the list of
possible values)
|
String[]
|
media |
(optional) array of IDs of private media to be attached to the posting |
timestamp
|
createdAt |
(optional) posting creation timestamp - the real time when the posting was created |
AcceptedReactions
|
acceptedReactions |
(optional) types of reactions that the posting accepts |
StoryAttributes[]
|
publications |
(optional) list of publications in feeds that must be made after creating the posting (for new postings only) |
UpdateInfo
|
updateInfo |
(optional) description of the update |
byte[]
|
signature |
(optional)
the posting's owner signature (use Posting fingerprint)
|
int
|
signatureVersion |
(optional) signature version (i.e. fingerprint version) |
PostingOperations
|
operations |
(optional) the operations and the corresponding principals |
CommentOperations
|
commentOperations |
(optional) the operations and the corresponding principals that are overridden in the posting's comments |
ReactionOperations
|
reactionOperations |
(optional) the operations and the corresponding principals that are overridden in reactions to the posting |
ReactionOperations
|
commentReactionOperations |
(optional) the operations and the corresponding principals that are overridden in reactions to the posting's comments |
Code | Description |
---|---|
postingText.ownerAvatar.mediaId.not-found |
owner's avatar is not found |
postingText.bodySrc.blank |
body source text is empty |
postingText.bodySrc.wrong-size |
body source text is too long |
postingText.bodySrc.wrong-encoding |
body source text is formatted incorrectly |
postingText.bodySrcFormat.unknown |
unknown body source text format |
postingText.body.blank |
body text is empty |
postingText.body.wrong-size |
body text is too long |
postingText.bodyPreview.wrong-encoding |
body preview encoding is incorrect |
postingText.bodyFormat.blank |
body format is not set |
postingText.bodyFormat.wrong-size |
body format is too long |
postingText.media.not-found |
media attachment is not found |
postingText.media.not-compressed |
media attachment is not compressed as the node requires, the parameters of the desired compression are returned in PostingFeatures
|
postingText.createdAt.blank |
body creation timestamp is not set |
postingText.createdAt.out-of-range |
body creation timestamp is too far from the current timestamp |
postingText.acceptedReactions.positive.wrong-size |
list of accepted positive reactions is too long |
postingText.acceptedReactions.positive.wrong-pattern |
list of accepted positive reactions has wrong format |
postingText.acceptedReactions.negative.wrong-size |
list of accepted negative reactions is too long |
postingText.acceptedReactions.negative.wrong-pattern |
list of accepted negative reactions has wrong format |
postingText.publications.cannot-modify |
publications field is not allowed in posting modification query |
postingText.operations.wrong-principal |
principal for one of operations is invalid |
postingText.commentOperations.wrong-principal |
principal for one of comment operations is invalid |
postingText.reactionOperations.wrong-principal |
principal for one of reaction operations is invalid |
postingText.commentReactionOperations.wrong-principal |
principal for one of comment reaction operations is invalid |
Type | Name | Description |
---|---|---|
String
|
id |
ID of the media file |
String
|
hash |
SHA-1 hash of the media file |
String
|
path |
virtual location of the media file, relative to the /media virtual page
|
String
|
directPath |
(optional)
location of the media file, relative to the /media ; points to a static image served directly from a filesystem; static images do not accept any query parameters including authentication parameters
|
String
|
mimeType |
MIME type of the media |
int
|
width |
(optional)
width of the media in pixels (null , if the media file is not an image or video)
|
int
|
height |
(optional)
height of the media in pixels (null , if the media file is not an image or video)
|
int
|
orientation |
(optional)
media orientation, the value should be interpreted like the orientation value present in JPEG EXIF data (null , if the media file is not an image or video)
|
int
|
size |
size of the media file in bytes |
String
|
postingId |
(optional) ID of the posting linked to the media |
MediaFilePreviewInfo[]
|
previews |
(optional) list of media previews - downscaled versions of the media |
PrivateMediaFileOperations
|
operations |
(optional) the supported operations and the corresponding principals |
Type | Name | Description |
---|---|---|
String
|
fullName |
(optional) node owner's full name |
String
|
gender |
(optional) node owner's gender |
String
|
email |
(optional) node owner's E-mail address |
String
|
title |
(optional) node title |
String
|
bioSrc |
(optional) the source text of node owner's bio (arbitrary text) |
String
|
bioSrcFormat |
(optional)
format of the source text of node owner's bio, markdown by default; the list of available formats is returned in PostingFeatures
(see SourceFormat for the list of
possible values)
|
String
|
avatarId |
(optional) node owner's avatar ID |
FundraiserInfo[]
|
fundraisers |
(optional) list of fundraisers - methods of giving a donation to the node owner |
ProfileOperations
|
operations |
(optional) the operations and the corresponding principals |
Code | Description |
---|---|
profileAttributes.fullName.wrong-size |
the full name is too long |
profileAttributes.gender.wrong-size |
the gender string is too long |
profileAttributes.email.wrong-size |
the E-mail is too long |
profileAttributes.email.wrong-email |
the E-mail is not a well-formed E-mail address |
profileAttributes.title.wrong-size |
the title is too long |
profileAttributes.bioSrc.wrong-size |
the bio is too long |
profileAttributes.operations.wrong-principal |
principal for one of operations is invalid |
Type | Name | Description |
---|---|---|
String
|
fullName |
(optional) node owner's full name |
String
|
gender |
(optional) node owner's gender |
String
|
email |
(optional) node owner's E-mail address |
String
|
title |
(optional) node title |
String
|
bioSrc |
(optional) the source text of node owner's bio (arbitrary text), may be absent if not requested |
String
|
bioSrcFormat |
(optional)
format of the source text of node owner's bio, markdown by default, may be absent if not requested; the list of available formats is returned in PostingFeatures
(see SourceFormat for the list of
possible values)
|
String
|
bioHtml |
(optional) HTML representation of node owner's bio |
AvatarInfo
|
avatar |
(optional) node owner's avatar |
FundraiserInfo[]
|
fundraisers |
(optional) list of fundraisers - methods of giving a donation to the node owner |
ProfileOperations
|
operations |
(optional) the supported operations and the corresponding principals |
Type | Name | Description |
---|---|---|
String
|
id |
ID of the media file |
String
|
path |
virtual location of the media file, relative to the /media virtual page
|
int
|
width |
(optional)
width of the media in pixels (null , if the media file is not an image or video)
|
int
|
height |
(optional)
height of the media in pixels (null , if the media file is not an image or video)
|
int
|
orientation |
(optional)
media orientation, the value should be interpreted like the orientation value present in JPEG EXIF data (null , if the media file is not an image or video)
|
int
|
size |
size of the media file in bytes |
Type | Name | Description |
---|---|---|
String
|
type |
type of the notification
(see PushContentType for the list of
possible values)
|
String
|
id |
(optional)
ID of the story (story-deleted notifications only)
|
StoryInfo
|
story |
(optional)
the story (story-added notifications only)
|
FeedWithStatus
|
feedStatus |
(optional)
status of the feed (feed-updated notifications only)
|
Type | Name | Description |
---|---|---|
String
|
type |
type of the relay
(see PushRelayType for the list of
possible values)
|
String
|
clientId |
ID/token of the client |
String
|
lang |
(optional) language of the messages |
Code | Description |
---|---|
pushRelayClientAttributes.type.blank |
relay type is empty |
pushRelayClientAttributes.type.unknown |
relay type is unknown |
pushRelayClientAttributes.clientId.blank |
client ID is empty |
Type | Name | Description |
---|---|---|
boolean
|
negative |
true , if the reaction is negative, false , if positive
|
int
|
emoji |
reaction code, usually interpreted by clients as emoji code point |
ReactionOperations
|
operations |
(optional) the operations and the corresponding principals |
Type | Name | Description |
---|---|---|
ReactionInfo
|
reaction |
(optional) details of the reaction created |
ReactionTotalsInfo
|
totals |
summary of reactions after the creation |
Type | Name | Description |
---|---|---|
String
|
ownerName |
(optional) reaction owner's node name |
String
|
ownerFullName |
(optional) reaction owner's full name |
String
|
ownerGender |
(optional) reaction owner's gender |
AvatarDescription
|
ownerAvatar |
(optional) reaction owner's avatar |
boolean
|
negative |
true , if the reaction is negative, false , if positive
|
int
|
emoji |
reaction code, usually interpreted by clients as emoji code point |
byte[]
|
signature |
(optional)
the reaction owner signature (use Reaction fingerprint)
|
int
|
signatureVersion |
(optional) signature version (i.e. fingerprint version) |
ReactionOperations
|
operations |
(optional) the operations and the corresponding principals |
Code | Description |
---|---|
reactionDescription.ownerAvatar.mediaId.not-found |
owner's avatar is not found |
reactionDescription.operations.wrong-principal |
principal for one of operations is invalid |
Type | Name | Description |
---|---|---|
String
|
ownerName |
(optional) reaction owner's name |
String[]
|
postings |
(optional) list of IDs of postings |
Type | Name | Description |
---|---|---|
String
|
ownerName |
(optional) reaction owner's node name |
String
|
ownerFullName |
(optional) reaction owner's full name |
String
|
ownerGender |
(optional) reaction owner's gender |
AvatarImage
|
ownerAvatar |
(optional) reaction owner's avatar |
String
|
postingId |
(optional) ID of the posting |
String
|
postingRevisionId |
(optional) ID of the posting revision, if relevant |
String
|
commentId |
(optional) ID of the comment, if relevant |
String
|
commentRevisionId |
(optional) ID of the comment revision, if relevant |
boolean
|
negative |
(optional)
true , if the reaction is negative, false , if positive
|
int
|
emoji |
(optional) reaction code, usually interpreted by clients as emoji code point |
int
|
moment |
(optional) |
timestamp
|
createdAt |
(optional) reaction creation timestamp - the real time when the reaction was created |
timestamp
|
deadline |
(optional) if present, the reaction will be erased at this time |
byte[]
|
signature |
(optional)
the reaction owner signature (use Reaction fingerprint)
|
int
|
signatureVersion |
(optional) signature version (i.e. fingerprint version) |
ReactionOperations
|
operations |
(optional) the supported operations and the corresponding principals |
ReactionOperations
|
ownerOperations |
(optional) the supported operations and the corresponding principals as defined by the reaction's owner |
ReactionOperations
|
seniorOperations |
(optional) the operations and the corresponding principals that are overridden by the reaction's "senior": the posting's owner in the case of reaction to a posting or the comment's owner in the case of reaction to a comment |
ReactionOperations
|
majorOperations |
(optional) the operations and the corresponding principals that are overridden by the posting's owner ("major") in the case of reaction to a comment; not set in the case of reaction to a posting |
Type | Name | Description |
---|---|---|
int
|
before |
the slice contains all reactions before this moment, inclusive. May be the far future. |
int
|
after |
the slice contains all reactions after this moment, exclusive. May be the far past. |
int
|
total |
total number of reactions in the whole list |
ReactionInfo[]
|
reactions |
the reactions |
Type | Name | Description |
---|---|---|
int
|
emoji |
reaction code, usually interpreted by clients as emoji code point |
int
|
total |
(optional) total number of reactions with the given code |
float
|
share |
(optional)
share the reactions with the given code stand from the total number of reactions (may be absent, if total is present)
|
Type | Name | Description |
---|---|---|
String[]
|
postings |
list of IDs of postings |
Type | Name | Description |
---|---|---|
String
|
entryId |
ID of the entry |
ReactionTotalInfo[]
|
positive |
(optional) summary of positive reactions |
ReactionTotalInfo[]
|
negative |
(optional) summary of negative reactions |
Type | Name | Description |
---|---|---|
ReactionOperations
|
operations |
(optional) the supported operations and the corresponding principals |
ReactionOperations
|
seniorOperations |
(optional) the operations and the corresponding principals that are overridden by the reaction's "senior": the posting's owner in the case of reaction to a posting or the comment's owner in the case of reaction to a comment |
ReactionOperations
|
majorOperations |
(optional) the operations and the corresponding principals that are overridden by the posting's owner ("major") in the case of reaction to a comment; not set in the case of reaction to a posting |
Code | Description |
---|---|
reactionOverride.operations.wrong-principal |
principal for one of operations is invalid |
reactionOverride.seniorOperations.wrong-principal |
principal for one of senior operations is invalid |
reactionOverride.majorOperations.wrong-principal |
principal for one of major operations is invalid |
Type | Name | Description |
---|---|---|
String
|
name |
|
String[]
|
mnemonic |
(optional) human-friendly mnemonic of the updating key |
String
|
secret |
(optional) base64-encoded secret of the updating key |
Type | Name | Description |
---|---|---|
String
|
nodeName |
name of the node |
String
|
feedName |
name of the feed on the node |
Type | Name | Description |
---|---|---|
String
|
id |
ID of the media file |
String
|
hash |
(optional) SHA-1 hash of the media file |
String
|
digest |
(optional) cryptographic digest of the media file |
Type | Name | Description |
---|---|---|
String
|
id |
ID of the media file |
String
|
hash |
(optional) SHA-1 hash of the media file |
String
|
digest |
(optional) cryptographic digest of the media file |
Type | Name | Description |
---|---|---|
String
|
nodeName |
name of the node |
String
|
postingId |
ID of the posting on the node |
Type | Name | Description |
---|---|---|
String
|
nodeName |
name of the node |
String
|
postingId |
(optional) ID of the posting on the node |
Type | Name | Description |
---|---|---|
String
|
id |
asynchronous operation ID |
String
|
nodeName |
|
String
|
postingId |
|
String
|
revisionId |
(optional) |
String
|
status |
(optional)
status of the operation
(see VerificationStatus for the list of
possible values)
|
String
|
errorCode |
(optional) error code |
String
|
errorMessage |
(optional) human-readable error message |
Type | Name | Description |
---|---|---|
String
|
id |
asynchronous operation ID |
String
|
nodeName |
|
String
|
postingId |
|
String
|
reactionOwnerName |
node name of the reaction's owner |
String
|
status |
(optional)
status of the operation
(see VerificationStatus for the list of
possible values)
|
String
|
errorCode |
(optional) error code |
String
|
errorMessage |
(optional) human-readable error message |
Type | Name | Description |
---|---|---|
String
|
id |
ID of the comment |
String
|
revisionId |
(optional) ID of the comment revision |
String
|
name |
node name of the comment's owner |
String
|
fullName |
(optional) full name of the comment's owner |
String
|
gender |
(optional) gender of the comment's owner |
AvatarImage
|
avatar |
(optional) avatar of the comment's owner |
String
|
heading |
(optional) heading of the comment |
byte[]
|
digest |
cryptographic digest of the comment (use Comment fingerprint)
|
Type | Name | Description |
---|---|---|
String
|
errorCode |
error code |
String
|
message |
(optional) human-readable error message |
Type | Name | Description |
---|---|---|
String
|
sheriffName |
name of the sheriff that added the mark |
Type | Name | Description |
---|---|---|
String
|
name |
name of the setting |
String
|
value |
(optional) value of the setting |
Type | Name | Description |
---|---|---|
String
|
name |
name of the setting |
String
|
defaultValue |
(optional)
default value of the setting (if absent or null , the built-in default value will be used)
|
boolean
|
privileged |
(optional)
the setting should be privileged (if absent or null , the built-in value of the flag will be used)
|
Type | Name | Description |
---|---|---|
String
|
name |
name of the setting |
String
|
type |
type of the setting
(see SettingType for the list of
possible values)
|
String
|
defaultValue |
(optional) default value of the setting |
boolean
|
internal |
(optional) the setting is internal - not displayed to the user |
boolean
|
privileged |
(optional) the setting is privileged - may be changed by server owner only |
String
|
title |
(optional) human-friendly description of the setting |
SettingTypeModifiers
|
modifiers |
(optional) additional modifiers that may help to choose a proper UI component for the setting value and to validate the input; the meaning of the modifiers depends on the setting type |
Type | Name | Description |
---|---|---|
String
|
name |
name of the setting |
String
|
type |
type of the setting
(see SettingType for the list of
possible values)
|
String
|
defaultValue |
(optional) default value of the setting |
boolean
|
privileged |
(optional) the setting is privileged - may be changed by server owner only |
String
|
title |
human-friendly description of the setting |
SettingTypeModifiers
|
modifiers |
(optional) additional modifiers that may help to choose a proper UI component for the setting value and to validate the input; the meaning of the modifiers depends on the setting type |
Type | Name | Description |
---|---|---|
String
|
format |
(optional)
preferred format of displaying the value ( int )
|
String
|
min |
(optional)
(int , Duration ) minimal value
|
String
|
max |
(optional)
(int , Duration ) maximal value
|
boolean
|
multiline |
(optional)
(string ) true , if the value is a multiline text
|
boolean
|
never |
(optional)
(Duration ) true , if value never is allowed
|
boolean
|
always |
(optional)
(Duration ) true , if value always is allowed
|
String[]
|
principals |
(optional)
(Principal ) list of allowed principals
(see PrincipalFlag for the list of
possible values)
|
Type | Name | Description |
---|---|---|
boolean
|
reject |
true , if the complaints in the group are to be rejected, false otherwise
|
String
|
decisionCode |
(optional)
the decision
(see SheriffOrderReason for the list of
possible values)
|
String
|
decisionDetails |
(optional) detailed explanation of the decision in user-readable form |
boolean
|
anonymous |
(optional)
true , if the complaints' owners' names are not to be published, false otherwise
|
Code | Description |
---|---|
sheriffComplaintDecisionText.decisionCode.blank |
decision code is not set |
sheriffComplaintDecisionText.decisionDetails.wrong-size |
decision details are too long |
Type | Name | Description |
---|---|---|
String
|
id |
|
String
|
remoteNodeName |
name of the node the complaints are related to |
String
|
remoteNodeFullName |
(optional) full name of the node the complaints are related to |
String
|
remoteFeedName |
name of the feed the complaints are related to |
String
|
remotePostingId |
(optional) ID of the posting the complaints are related to |
String
|
remotePostingRevisionId |
(optional) ID of the posting's revision the complaints are related to |
String
|
remotePostingOwnerName |
(optional) posting owner's node name |
String
|
remotePostingOwnerFullName |
(optional) posting owner's full name |
String
|
remotePostingOwnerGender |
(optional) posting owner's gender |
String
|
remotePostingHeading |
(optional) heading of the posting |
String
|
remoteCommentId |
(optional) ID of the comment the complaints are related to |
String
|
remoteCommentRevisionId |
(optional) ID of the comment's revision the complaints are related to |
String
|
remoteCommentOwnerName |
(optional) comment owner's node name |
String
|
remoteCommentOwnerFullName |
(optional) comment owner's full name |
String
|
remoteCommentOwnerGender |
(optional) comment owner's gender |
String
|
remoteCommentHeading |
(optional) heading of the comment |
timestamp
|
createdAt |
the group of complaints creation timestamp - the real time when the group was created |
int
|
moment |
moment of the group of complaints |
String
|
status |
status of the group of complaints
(see SheriffComplaintStatus for the list of
possible values)
|
String
|
decisionCode |
(optional)
sheriff's decision
(see SheriffOrderReason for the list of
possible values)
|
String
|
decisionDetails |
(optional) detailed explanation of sheriff's decision in user-readable form |
timestamp
|
decidedAt |
(optional) sheriff's decision timestamp - the real time when the decision was made |
boolean
|
anonymous |
(optional)
true , if the complaints' owners' names are not published, false otherwise
|
Type | Name | Description |
---|---|---|
int
|
before |
the slice contains all groups before this moment, inclusive. May be the far future. |
int
|
after |
the slice contains all groups after this moment, exclusive. May be the far past. |
SheriffComplaintGroupInfo[]
|
groups |
the groups |
int
|
total |
total number of groups |
int
|
totalInPast |
number of groups before this slice till the far past |
int
|
totalInFuture |
number of groups after this slice till the far future |
Type | Name | Description |
---|---|---|
String
|
id |
|
String
|
ownerName |
complaint owner's node name |
String
|
ownerFullName |
(optional) complaint owner's full name |
String
|
ownerGender |
(optional) complaint owner's gender |
SheriffComplaintGroupInfo
|
group |
(optional) the group of complaints this complaint belongs to |
String
|
reasonCode |
reason of the complaint
(see SheriffOrderReason for the list of
possible values)
|
String
|
reasonDetails |
(optional) detailed explanation of reason of the complaint in user-readable form |
boolean
|
anonymousRequested |
(optional)
true , if the complaint's owner wants his name not to be published, false otherwise
|
timestamp
|
createdAt |
complaint creation timestamp - the real time when the order was created |
Type | Name | Description |
---|---|---|
String
|
ownerFullName |
(optional) complaint owner's full name |
String
|
ownerGender |
(optional) complaint owner's gender |
String
|
nodeName |
name of the node the complaint is related to |
String
|
fullName |
(optional) full name of the node the complaint is related to |
String
|
feedName |
name of the feed the complaint is related to |
String
|
postingId |
(optional) ID of the posting the complaint is related to |
String
|
postingOwnerName |
(optional) posting owner's node name |
String
|
postingOwnerFullName |
(optional) posting owner's full name |
String
|
postingOwnerGender |
(optional) posting owner's gender |
String
|
postingHeading |
(optional) heading of the posting |
String
|
commentId |
(optional) ID of the comment the complaint is related to |
String
|
commentOwnerName |
(optional) comment owner's node name |
String
|
commentOwnerFullName |
(optional) comment owner's full name |
String
|
commentOwnerGender |
(optional) comment owner's gender |
String
|
commentHeading |
(optional) heading of the comment |
String
|
reasonCode |
(optional)
reason of the complaint
(see SheriffOrderReason for the list of
possible values)
|
String
|
reasonDetails |
(optional) detailed explanation of reason of the complaint in user-readable form |
boolean
|
anonymous |
(optional)
true , if the complaint's owner wants his name not to be published, false otherwise
|
Code | Description |
---|---|
sheriffComplaintText.ownerFullName.wrong-size |
owner's full name is too long |
sheriffComplaintText.ownerGender.wrong-size |
owner's gender is too long |
sheriffComplaintText.nodeName.blank |
node name is empty |
sheriffComplaintText.nodeName.wrong-size |
node name is too long |
sheriffComplaintText.fullName.wrong-size |
node's full name is too long |
sheriffComplaintText.feedName.blank |
feed name is empty |
sheriffComplaintText.feedName.wrong-size |
feed name is too long |
sheriffComplaintText.postingOwnerName.wrong-size |
posting owner's name is too long |
sheriffComplaintText.postingOwnerFullName.wrong-size |
posting owner's full name is too long |
sheriffComplaintText.postingOwnerGender.wrong-size |
posting owner's gender is too long |
sheriffComplaintText.postingHeading.wrong-size |
posting heading is too long |
sheriffComplaintText.postingId.wrong-size |
posting ID is too long |
sheriffComplaintText.commentOwnerName.wrong-size |
comment owner's name is too long |
sheriffComplaintText.commentOwnerFullName.wrong-size |
comment owner's full name is too long |
sheriffComplaintText.commentOwnerGender.wrong-size |
comment owner's gender is too long |
sheriffComplaintText.commentHeading.wrong-size |
comment heading is too long |
sheriffComplaintText.commentId.wrong-size |
comment ID is too long |
sheriffComplaintText.reasonDetails.wrong-size |
reason details are too long |
Type | Name | Description |
---|---|---|
boolean
|
delete |
(optional)
true , if the order is to cancel the previous order of this type, false otherwise
|
String
|
feedName |
name of the feed the order is related to |
String
|
postingId |
(optional) ID of the posting the order is related to |
String
|
commentId |
(optional) ID of the comment the order is related to |
String
|
category |
category of the order
(see SheriffOrderCategory for the list of
possible values)
|
String
|
reasonCode |
(optional)
reason of the order
(see SheriffOrderReason for the list of
possible values)
|
String
|
reasonDetails |
(optional) detailed explanation of reason of the order in user-readable form |
Code | Description |
---|---|
sheriffOrderAttributes.feedName.blank |
feed name is empty |
sheriffOrderAttributes.feedName.wrong-size |
feed name is too long |
sheriffOrderAttributes.reasonDetails.wrong-size |
reason details are too long |
Type | Name | Description |
---|---|---|
String
|
id |
|
boolean
|
delete |
(optional)
true , if the order is to cancel the previous order of this type, false otherwise
|
String
|
sheriffName |
node name of the sheriff |
AvatarDescription
|
sheriffAvatar |
(optional) sheriff's avatar |
String
|
feedName |
name of the feed the order is related to |
String
|
postingId |
(optional) ID of the posting the order is related to |
String
|
commentId |
(optional) ID of the comment the order is related to |
String
|
category |
category of the order
(see SheriffOrderCategory for the list of
possible values)
|
String
|
reasonCode |
(optional)
reason of the order
(see SheriffOrderReason for the list of
possible values)
|
String
|
reasonDetails |
(optional) detailed explanation of reason of the order in user-readable form |
timestamp
|
createdAt |
order creation timestamp - the real time when the order was created |
byte[]
|
signature |
the sheriff's signature (use SheriffOrder fingerprint)
|
int
|
signatureVersion |
signature version (i.e. fingerprint version) |
Code | Description |
---|---|
sheriffOrderDetails.id.blank |
ID is empty |
sheriffOrderDetails.id.wrong-size |
ID is too long |
sheriffOrderDetails.sheriffName.blank |
sheriff name is empty |
sheriffOrderDetails.sheriffName.wrong-size |
sheriff name is too long |
sheriffOrderDetails.sheriffAvatar.mediaId.not-found |
sheriff's avatar is not found |
sheriffOrderDetails.feedName.blank |
feed name is empty |
sheriffOrderDetails.feedName.wrong-size |
feed name is too long |
sheriffOrderDetails.reasonDetails.wrong-size |
reason details are too long |
sheriffOrderDetails.createdAt.out-of-range |
order creation timestamp is too far from the current timestamp |
Type | Name | Description |
---|---|---|
String
|
id |
|
boolean
|
delete |
(optional)
true , if the order is to cancel the previous order of this type, false otherwise
|
String
|
sheriffName |
node name of the sheriff |
String
|
nodeName |
name of the node the order was sent to |
String
|
nodeFullName |
(optional) full name of the node the order was sent to |
String
|
feedName |
name of the feed the order is related to |
String
|
postingId |
(optional) ID of the posting the order is related to |
String
|
postingRevisionId |
(optional) ID of the posting's revision the order is related to |
String
|
postingOwnerName |
(optional) posting owner's node name |
String
|
postingOwnerFullName |
(optional) posting owner's full name |
String
|
postingOwnerGender |
(optional) posting owner's gender |
String
|
postingHeading |
(optional) heading of the posting |
String
|
commentId |
(optional) ID of the comment the order is related to |
String
|
commentRevisionId |
(optional) ID of the comment's revision the order is related to |
String
|
commentOwnerName |
(optional) comment owner's node name |
String
|
commentOwnerFullName |
(optional) comment owner's full name |
String
|
commentOwnerGender |
(optional) comment owner's gender |
String
|
commentHeading |
(optional) heading of the comment |
String
|
category |
category of the order
(see SheriffOrderCategory for the list of
possible values)
|
String
|
reasonCode |
(optional)
reason of the order
(see SheriffOrderReason for the list of
possible values)
|
String
|
reasonDetails |
(optional) detailed explanation of reason of the order in user-readable form |
timestamp
|
createdAt |
order creation timestamp - the real time when the order was created |
byte[]
|
signature |
the sheriff's signature (use SheriffOrder fingerprint)
|
int
|
signatureVersion |
signature version (i.e. fingerprint version) |
String
|
complaintGroupId |
(optional) ID of the groups of complaints that were the cause of the order |
Type | Name | Description |
---|---|---|
String
|
feedName |
(optional) name of the feed |
timestamp
|
publishAt |
(optional) story publication timestamp - the time the story must be published under in the feed |
boolean
|
pinned |
(optional)
true , if the story is pinned (should appear before any non-pinned story in the feed), false otherwise
|
boolean
|
viewed |
(optional)
value of the viewed flag (null , if the flag is not changed)
|
boolean
|
read |
(optional)
value of the read flag (null , if the flag is not changed)
|
boolean
|
satisfied |
(optional)
value of the satisfied flag (null , if the flag is not changed)
|
Type | Name | Description |
---|---|---|
String
|
id |
|
String
|
feedName |
name of the feed |
String
|
storyType |
type of the story
(see StoryType for the list of
possible values)
|
timestamp
|
createdAt |
story creation timestamp - the real time when the story was created |
timestamp
|
publishedAt |
story publication timestamp - the time the story is published under in the feed |
boolean
|
pinned |
(optional)
true , if the story is pinned (should appear before any non-pinned story in the feed), false otherwise
|
int
|
moment |
|
boolean
|
viewed |
(optional)
true , if the story has been viewed by node owner, false otherwise
|
boolean
|
read |
(optional)
true , if the story has been read by node owner, false otherwise
|
boolean
|
satisfied |
(optional)
if the story is associated with a user action (for example, it contains a form that should be submitted), this flag is set to true if the action is done already, and false otherwise
|
String
|
summaryNodeName |
(optional) name of the node related to the summary of the story |
String
|
summaryFullName |
(optional) full name of the node related to the summary of the story |
AvatarImage
|
summaryAvatar |
(optional) avatar of the summary of the story |
String
|
summary |
(optional)
user-readable summary of the story - this field is deprecated in favor of summaryData
|
StorySummaryData
|
summaryData |
(optional) details of the story; they are used by the client to build a user-readable summary of the story |
PostingInfo
|
posting |
(optional) the posting this story is about |
String
|
postingId |
(optional) ID of the posting this story is about, used if the whole posting is not returned |
CommentInfo
|
comment |
(optional) the comment this story is about |
String
|
commentId |
(optional) ID of the comment this story is about, used if the whole posting is not returned |
String
|
remoteNodeName |
(optional) name of the node this story is about |
String
|
remoteFullName |
(optional) full name of the node this story is about |
String
|
remotePostingId |
(optional) ID of the posting at remote node this story is about |
String
|
remoteCommentId |
(optional) ID of the comment at remote node this story is about |
String
|
remoteMediaId |
(optional) ID of the media at remote node this story is about |
StoryOperations
|
operations |
(optional) the supported operations and the corresponding principals |
Type | Name | Description |
---|---|---|
StorySummaryNode
|
node |
(optional) a node |
StorySummaryEntry
|
posting |
(optional) a posting |
StorySummaryEntry
|
comment |
(optional) a comment |
StorySummaryEntry[]
|
comments |
(optional) list of comments |
int
|
totalComments |
(optional) total number of comments |
StorySummaryEntry
|
repliedTo |
(optional) the comment replied to |
StorySummaryEntry
|
parentPosting |
(optional) the parent posting of the media |
StorySummaryReaction
|
reaction |
(optional) a reaction |
StorySummaryReaction[]
|
reactions |
(optional) list of reactions |
int
|
totalReactions |
(optional) total number of reactions |
String
|
feedName |
(optional) name of a feed |
String
|
subscriptionReason |
(optional)
subscription reason
(see SubscriptionReason for the list of
possible values)
|
StorySummaryFriendGroup
|
friendGroup |
(optional) a group of friends |
StorySummaryBlocked
|
blocked |
(optional) summary of blocking a user |
StorySummarySheriff
|
sheriff |
(optional) summary of an action of a sheriff |
String
|
description |
(optional) additional descriptive text |
StorySummaryPageClicks[]
|
clicks |
(optional) list of pages with number of clicks on each of them |
Type | Name | Description |
---|---|---|
String[]
|
operations |
list of the operations blocked
(see BlockedOperation for the list of
possible values)
|
int
|
period |
(optional) the period of blocking in seconds |
Type | Name | Description |
---|---|---|
String
|
id |
(optional) ID of the group of friends |
String
|
title |
(optional) title of the group of friends |
Type | Name | Description |
---|---|---|
String
|
ownerName |
(optional) entry owner's name |
String
|
ownerFullName |
(optional) entry owner's full name |
String
|
ownerGender |
(optional) entry owner's gender |
String
|
heading |
(optional) entry heading |
String[]
|
sheriffs |
(optional) list of sheriffs supervising the entry |
SheriffMark[]
|
sheriffMarks |
(optional) list of sheriff marks on the entry |
Type | Name | Description |
---|---|---|
String
|
ownerName |
(optional) node owner's name |
String
|
ownerFullName |
(optional) node owner's full name |
String
|
ownerGender |
(optional) node owner's gender |
Type | Name | Description |
---|---|---|
String
|
heading |
(optional)
page heading, null for the blog itself
|
String
|
href |
page URL |
int
|
clicks |
number of clicks on the page |
Type | Name | Description |
---|---|---|
String
|
ownerName |
(optional) reaction owner's name |
String
|
ownerFullName |
(optional) reaction owner's full name |
String
|
ownerGender |
(optional) reaction owner's gender |
int
|
emoji |
(optional) reaction code |
Type | Name | Description |
---|---|---|
String
|
sheriffName |
name of the sheriff |
String
|
orderId |
(optional) ID of the sheriff's order |
String
|
complaintId |
(optional) ID of the complaint, if any |
Type | Name | Description |
---|---|---|
String
|
type |
subscription type
(see SubscriptionType for the list of
possible values)
|
String
|
feedName |
(optional) feed name, if the subscription type requires one |
String
|
postingId |
(optional) posting ID, if the subscription type requires one |
timestamp
|
lastUpdatedAt |
(optional) timestamp of the latest known state of the object |
SubscriberOperations
|
operations |
(optional) the operations and the corresponding principals |
Code | Description |
---|---|
subscriberDescription.type.blank |
type is empty |
subscriberDescription.feedName.blank |
feed name is empty |
subscriberDescription.feedName.not-found |
feed is not found |
subscriberDescription.postingId.blank |
posting ID is empty |
subscriberDescription.postingId.not-found |
posting is not found |
subscriberDescription.ownerAvatar.mediaId.not-found |
subscriber's avatar is not found |
subscriberDescription.operations.wrong-principal |
principal for one of operations is invalid |
Type | Name | Description |
---|---|---|
String
|
id |
subscriber ID |
String
|
type |
subscription type
(see SubscriptionType for the list of
possible values)
|
String
|
feedName |
(optional) feed name, if the subscription type requires one |
String
|
postingId |
(optional) posting ID, if the subscription type requires one |
String
|
nodeName |
name of the subscribed node |
ContactInfo
|
contact |
(optional) information known about the subscribed node |
timestamp
|
createdAt |
subscription creation timestamp |
SubscriberOperations
|
operations |
(optional) the supported operations and the corresponding principals |
SubscriberOperations
|
ownerOperations |
(optional) the supported operations and the corresponding principals as defined by the subscriber |
SubscriberOperations
|
adminOperations |
(optional) the operations and the corresponding principals that are overridden by the node administrator |
Type | Name | Description |
---|---|---|
SubscriberOperations
|
operations |
(optional) the supported operations and the corresponding principals |
SubscriberOperations
|
adminOperations |
(optional) the operations and the corresponding principals that are overridden by the node administrator |
Code | Description |
---|---|
subscriberOverride.operations.wrong-principal |
principal for one of operations is invalid |
subscriberOverride.adminOperations.wrong-principal |
principal for one of admin operations is invalid |
Type | Name | Description |
---|---|---|
String
|
type |
subscription type
(see SubscriptionType for the list of
possible values)
|
String
|
feedName |
(optional) the name of the feed on this node that receives notifications |
String
|
remoteNodeName |
the name of the node this node is subscribed to |
String
|
remoteFeedName |
(optional) the name of the feed on the remote node, if the subscription type requires one |
String
|
remotePostingId |
(optional) posting ID on the remote node, if the subscription type requires one |
String
|
reason |
(optional)
subscription reason
(see SubscriptionReason for the list of
possible values)
|
SubscriptionOperations
|
operations |
(optional) the operations and the corresponding principals |
Code | Description |
---|---|
subscriptionDescription.type.blank |
type is empty |
subscriptionDescription.feedName.blank |
feed name is empty |
subscriptionDescription.feedName.not-found |
feed is not found |
subscriptionDescription.remoteSubscriberId.blank |
subscriber ID is empty |
subscriptionDescription.remoteSubscriberId.wrong-size |
subscriber ID is too long |
subscriptionDescription.remoteNodeName.blank |
node name is empty |
subscriptionDescription.remoteNodeName.wrong-size |
node name is too long |
subscriptionDescription.remoteAvatar.mediaId.not-found |
node avatar is not found |
subscriptionDescription.remoteFeedName.wrong-size |
remote feed name is too long |
subscriptionDescription.remotePostingId.wrong-size |
posting ID is too long |
subscriptionDescription.reason.blank |
subscription reason is empty |
subscriptionDescription.operations.wrong-principal |
principal for one of operations is invalid |
Type | Name | Description |
---|---|---|
String
|
type |
(optional)
subscription type
(see SubscriptionType for the list of
possible values)
|
RemoteFeed[]
|
feeds |
(optional) list of feeds |
RemotePosting[]
|
postings |
(optional) list of postings |
Type | Name | Description |
---|---|---|
String
|
id |
subscription ID |
String
|
type |
subscription type
(see SubscriptionType for the list of
possible values)
|
String
|
feedName |
(optional) feed name on this node that receives notifications |
String
|
remoteNodeName |
name of the node this node is subscribed to |
ContactInfo
|
contact |
(optional) information known about the remote node |
String
|
remoteFeedName |
(optional) feed name on the remote node, if the subscription type requires one |
String
|
remotePostingId |
(optional) posting ID on the remote node, if the subscription type requires one |
timestamp
|
createdAt |
subscription creation timestamp |
String
|
reason |
subscription reason
(see SubscriptionReason for the list of
possible values)
|
SubscriptionOperations
|
operations |
(optional) the supported operations and the corresponding principals |
Type | Name | Description |
---|---|---|
SubscriptionOperations
|
operations |
(optional) the supported operations and the corresponding principals |
Code | Description |
---|---|
subscriptionOverride.operations.wrong-principal |
principal for one of operations is invalid |
Type | Name | Description |
---|---|---|
String
|
login |
|
String
|
password |
|
String[]
|
permissions |
(optional)
a bit mask describing which permissions should be granted to the token; if not set, all permissions of the administrator are granted.
(see Scope for the list of
possible values)
|
String
|
name |
(optional) a user-readable name of the token |
Code | Description |
---|---|
tokenAttributes.login.blank |
the login is empty |
tokenAttributes.password.blank |
the password is empty |
Type | Name | Description |
---|---|---|
String
|
id |
token ID (this is not the token, just an ID) |
String
|
token |
the token |
String
|
name |
(optional) a user-readable name of the token |
String[]
|
permissions |
(optional)
the list of permissions granted to the token
(see Scope for the list of
possible values)
|
String
|
pluginName |
(optional) a plugin the token belongs to; if set, only this plugin may use the token |
timestamp
|
createdAt |
token creation timestamp |
timestamp
|
deadline |
(optional) timestamp of the end of the token's life |
timestamp
|
lastUsedAt |
(optional) timestamp of the last time the token was used |
String
|
lastUsedBrowser |
(optional) name of the browser used by the latest user of the token |
String
|
lastUsedIp |
(optional) IP address of the latest user of the token |
Type | Name | Description |
---|---|---|
String
|
name |
(optional) a user-readable name of the token |
String[]
|
permissions |
(optional)
a bit mask describing which permissions should be granted to the token; if not set, the token permissions are left untouched
(see Scope for the list of
possible values)
|
Type | Name | Description |
---|---|---|
boolean
|
important |
(optional)
true , if the update is important, false (the default) otherwise
|
String
|
description |
(optional) description of the update |
Type | Name | Description |
---|---|---|
String
|
name |
name of the user list |
int
|
total |
number of items in the user list |
Type | Name | Description |
---|---|---|
String
|
nodeName |
the name of the node |
Code | Description |
---|---|
userListItemAttributes.nodeName.blank |
node name is empty |
userListItemAttributes.nodeName.wrong-size |
node name is too long |
Type | Name | Description |
---|---|---|
String
|
nodeName |
the name of the node |
timestamp
|
createdAt |
the node addition timestamp - the real time when the node was added to the list |
int
|
moment |
moment of the node |
Type | Name | Description |
---|---|---|
String
|
listName |
the name of the list |
int
|
before |
the slice contains all items before this moment, inclusive. May be the far future. |
int
|
after |
the slice contains all items after this moment, exclusive. May be the far past. |
UserListItemInfo[]
|
items |
the items |
int
|
total |
total number of items |
int
|
totalInPast |
number of items before this slice till the far past |
int
|
totalInFuture |
number of items after this slice till the far future |
Type | Name | Description |
---|---|---|
String
|
nodeName |
(optional) |
boolean
|
nodeNameChanging |
(optional)
true if node name is about to be changed
|
String
|
fullName |
(optional) node owner's full name |
String
|
gender |
(optional) node owner's gender |
String
|
title |
(optional) node title |
AvatarImage
|
avatar |
(optional) node owner's avatar |
boolean
|
frozen |
(optional)
true if the node is frozen due to inactivity, false (the default) otherwise
|
Name | Default | Description |
---|---|---|
view |
public |
view the comment |
edit |
owner |
edit the comment |
delete |
private |
delete the comment |
viewReactions |
public |
view the comment's reactions |
viewNegativeReactions |
public |
view the comment's negative reactions |
viewReactionTotals |
public |
view the number of the comment's reactions |
viewNegativeReactionTotals |
public |
view the number of the comment's negative reactions |
viewReactionRatios |
public |
view the relative number of different types of the comment's reactions |
viewNegativeReactionRatios |
public |
view the relative number of different types of the comment's negative reactions |
addReaction |
signed |
add a reaction to the comment |
addNegativeReaction |
signed |
add a negative reaction to the comment |
Name | Default | Description |
---|---|---|
viewFeedSubscriber |
public |
see the subscriber information |
viewFeedSubscription |
public |
see the subscription information |
viewFriend |
public |
see the friend information |
viewFriendOf |
public |
see the friend-of information (this operation can be modified by admin only) |
viewBlock |
public |
see the blocking information (this operation can be modified by admin only) |
viewBlockBy |
public |
see the blocked-by information (this operation can be modified by admin only) |
Name | Default | Description |
---|---|---|
add |
|
add stories to the feed |
Name | Default | Description |
---|---|---|
view |
public |
view the membership of the node in the group of friends |
Name | Default | Description |
---|---|---|
view |
public |
view the group of friends |
Name | Default | Description |
---|---|---|
manage |
|
any modification of the node name, prolonging it etc. |
Name | Default | Description |
---|---|---|
viewSubscribers |
public |
view the list of subscribers |
viewSubscriptions |
public |
view the list of subscriptions |
viewFriends |
public |
view the list of friends |
viewFriendOfs |
public |
view the list of those who added this node to friends |
viewBlocked |
public |
view the list of blocked nodes |
viewBlockedBy |
admin |
view the list of those who blocked this node |
viewSubscribersTotal |
public |
view the number of subscribers |
viewSubscriptionsTotal |
public |
view the number of subscriptions |
viewFriendsTotal |
public |
view the number of friends |
viewFriendOfsTotal |
public |
view the number of those who added this node to friends |
Name | Default | Description |
---|---|---|
view |
public |
view the posting |
edit |
owner |
edit the posting |
delete |
private |
delete the posting |
viewComments |
public |
view the posting's comments |
addComment |
signed |
add a comment to the posting |
overrideComment |
owner |
override the permissions of the posting's comments |
viewReactions |
public |
view the posting's reactions |
viewNegativeReactions |
public |
view the posting's negative reactions |
viewReactionTotals |
public |
view the number of the posting's reactions |
viewNegativeReactionTotals |
public |
view the number of the posting's negative reactions |
viewReactionRatios |
public |
view the relative number of different types of the posting's reactions |
viewNegativeReactionRatios |
public |
view the relative number of different types of the posting's negative reactions |
addReaction |
signed |
add a reaction to the posting |
addNegativeReaction |
signed |
add a negative reaction to the posting |
overrideReaction |
owner |
override the permissions of the posting's reactions |
overrideCommentReaction |
owner |
override the permissions of the posting's comment's reactions |
Name | Default | Description |
---|---|---|
view |
public |
view the media file |
Name | Default | Description |
---|---|---|
edit |
|
change the profile |
viewEmail |
|
view the e-mail address in the profile |
Name | Default | Description |
---|---|---|
view |
public |
view the reaction |
delete |
private |
delete the reaction |
Name | Default | Description |
---|---|---|
edit |
admin |
update the story |
delete |
admin |
delete the story |
Name | Default | Description |
---|---|---|
view |
public |
see the subscriber |
delete |
private |
delete the subscriber (this operation cannot be modified or overridden) |
Name | Default | Description |
---|---|---|
view |
public |
see the subscription |
delete |
admin |
delete the subscription (this operation cannot be modified or overridden) |
Value | Description |
---|---|
subscribe |
"subscribe to me" - asking remote node to subscribe to this node |
friend |
"add me to your friends" - asking remote node to add this node to friends |
Value | Description |
---|---|
addComment |
add a comment |
addReaction |
add a reaction |
Value | Description |
---|---|
reaction |
add reactions to entries on the node |
comment |
add comments to postings on the node |
posting |
add postings to the node |
visibility |
be visible to the node |
instant |
be visible in stories added to the instants feed of the node |
Value | Description |
---|---|
message |
Body structure
|
application |
an application-specific structure |
Value | Description |
---|---|
new-posting |
draft of a new posting |
posting-update |
draft of an update to a posting |
new-comment |
draft of a new comment |
comment-update |
draft of an update to a comment |
Value | Description |
---|---|
waiting |
the operation is waiting to be sent to the naming server |
added |
the operation was accepted by the naming server |
started |
the naming server started to proceed the operation |
succeeded |
the operation completed successfully |
failed |
the operation failed |
unknown |
the operation status is unknown |
Value | Description |
---|---|
none |
|
private |
|
admin |
|
owner |
|
secret |
|
senior |
|
enigma |
|
major |
|
signed |
|
subscribed |
|
public |
|
friends |
|
unset |
Value | Description |
---|---|
story-added |
a story was added to a feed |
story-deleted |
a story was deleted from a feed |
feed-updated |
feed status was updated |
Value | Description |
---|---|
fcm |
Google Firebase Cloud Messaging (FCM) relay |
Value | Description |
---|---|
none |
0x00000000
no permissions
|
identify |
0x00000000
allow to identify under the corresponding node name
|
other |
0x00000001
other permissions
|
view-media |
0x00000002
view any media file
|
view-content |
0x00000004
view any content (posts, comments, reactions), except media files
|
add-post |
0x00000008
create posts owned by the node
|
update-post |
0x00000010
modify posts owned by the node
|
add-comment |
0x00000020
create comments owned by the node
|
update-comment |
0x00000040
modify comments owned by the node
|
react |
0x00000080
create and delete reactions owned by the node
|
delete-own-content |
0x00000100
delete any content owned by the node
|
delete-others-content |
0x00000200
delete any content not owned by the node, but stored on it
|
view-people |
0x00000400
view all contacts of the node
|
block |
0x00000800
block and unblock people
|
friend |
0x00001000
add and remove friends and friend groups
|
remote-identify |
0x00002000
create cartes for authentication on other nodes
|
drafts |
0x00004000
use drafts
|
view-feeds |
0x00008000
view all feeds and status of stories in them
|
update-feeds |
0x00010000
modify status of stories in feeds
|
name |
0x00020000
update the name of the node
|
plugins |
0x00040000
administrate plugins
|
view-profile |
0x00080000
view all fields of the profile
|
update-profile |
0x00100000
change the profile
|
sheriff |
0x00200000
use sheriff's powers
|
view-settings |
0x00400000
view the node settings
|
update-settings |
0x00800000
modify the node settings
|
subscribe |
0x01000000
subscribe and unsubscribe to feeds
|
tokens |
0x02000000
manage authentication tokens
|
user-lists |
0x04000000
modify lists of users
|
grant |
0x08000000
grant administrative permission on this node to other nodes
|
upload-public-media |
0x10000000
upload a public media file
|
upload-private-media |
0x20000000
upload a private media file
|
view-all |
0x00088406
all view-only permissions
|
all |
0x3fffffff
all permissions
|
Value | Description |
---|---|
google |
Value | Description |
---|---|
bool |
boolean, may have value true or false
|
int |
integer |
string |
string |
json |
string representation of a JSON structure |
Duration |
period of time, an non-negative integer followed by a single character designating a measurement unit:
|
PrivateKey |
a private cryptographic key |
PublicKey |
a public cryptographic key |
Timestamp |
timestamp |
UUID |
UUID |
Principal |
principal |
Value | Description |
---|---|
posted |
the group is just added |
prepared |
automatic preprocessing is done |
prepare-failed |
automatic preprocessing is failed |
not-found |
the entry the group is related to is not found |
invalid-target |
the entry the group is related to is specified incorrectly |
not-original |
the posting the group is related to is a copy of the original posting |
not-sheriff |
the entry the group is related to is not under supervision of the sheriff |
approved |
the group is approved by the sheriff |
rejected |
the group is rejected by the sheriff |
Value | Description |
---|---|
visibility |
hide the feed or the entry |
Value | Description |
---|---|
unlawful |
violation of a law |
defamatory |
defamatory content |
threat |
contains a threat against a person |
spam |
spam |
scam |
fraudulent content |
malware |
distribution of a malware |
copyright |
copyright infringement |
impersonating |
the author pretends to be someone else |
privacy |
violation of someone's privacy |
other |
any other reason |
Value | Description |
---|---|
plain-text |
plain text with newlines and paragraphs delimited by empty line |
html |
HTML-formatted text, the node may allow only limited set of tags |
markdown |
text in Markdown format |
application |
application-specific format |
Value | Description |
---|---|
asked-to-friend |
a remote node asked to add it to friends |
asked-to-subscribe |
a remote node asked to subscribe to it |
blocked-user |
a remote node has blocked the user globally |
blocked-user-in-posting |
a remote node has blocked the user in a posting |
comment-added |
a comment was added under the user's posting |
comment-media-reaction-added-negative |
a positive reaction was added to a media attached to a comment |
comment-media-reaction-added-positive |
a positive reaction was added to a media attached to a comment |
comment-media-reaction-failed |
a failed attempt to add a reaction to a media attached to a comment |
comment-post-task-failed |
a failed attempt to post a comment |
comment-reaction-added-negative |
a negative reaction was added to the user's comment |
comment-reaction-added-positive |
a positive reaction was added to the user's comment |
comment-reaction-task-failed |
a failed attempt to post a reaction to a comment |
comment-update-task-failed |
a failed attempt to update a comment |
defrosting |
the node's owner has connected to it after long inactivity and the node is leaving the frozen state |
friend-added |
a remote node has added the user to friends |
friend-deleted |
a remote node has removed the user from friends |
friend-group-deleted |
a remote group of friends, the user was a member of, has been deleted |
mention-comment |
the user was mentioned in a comment |
mention-posting |
the user was mentioned in a posting on another node |
posting-added |
a posting was added; **stories of this type are used for feeds containing postings** |
posting-media-reaction-added-negative |
a negative reaction was added to a media attached to a posting |
posting-media-reaction-added-positive |
a positive reaction was added to a media attached to a posting |
posting-media-reaction-failed |
a failed attempt to add a reaction to a media attached to a posting |
posting-post-task-failed |
a failed attempt to create a posting |
posting-reaction-task-failed |
a failed attempt to post a reaction to a posting |
posting-subscribe-task-failed |
a failed attempt to subscribe to a posting |
posting-update-task-failed |
a failed attempt to update a posting |
posting-updated |
a posting was updated |
reaction-added-negative |
a negative reaction was added to the user's posting |
reaction-added-positive |
a positive reaction was added to the user's posting |
reminder-avatar |
reminder for the user to set an avatar |
reminder-email |
reminder for the user to set an email |
reminder-full-name |
reminder for the user to set a full name |
reminder-sheriff-allow |
reminder for the user to allow access for Google Play sheriff |
remote-comment-added |
a comment was added under a posting the user is subscribed to |
reply-comment |
a reply was added to the user's comment |
search-report |
visits from search engines report |
sheriff-complaint-added |
a new complaint was received |
sheriff-complaint-decided |
a decision was made on the user's complaint |
sheriff-marked |
user's entry was marked by a sheriff |
sheriff-unmarked |
user's entry was unmarked by a sheriff |
subscriber-added |
another node subscribed to user's feed |
subscriber-deleted |
another node unsubscribed from user's feed |
unblocked-user |
a remote node has unblocked the user globally |
unblocked-user-in-posting |
a remote node has unblocked the user in a posting |
Value | Description |
---|---|
user |
node owner asked to subscribe |
mention |
node name was mentioned |
comment |
node owner commented the posting |
Value | Description |
---|---|
feed |
subscribe to new stories in the feed |
posting |
subscribe to updates to the posting |
posting-comments |
subscribe to new comments to the posting |
profile |
subscribe to updates to the node profile |
user-list |
subscribe to updates to the user list (its name is passed in feedName field)
|
Value | Description |
---|---|
running |
the verification is pending |
correct |
the signature is correct |
incorrect |
the signature is incorrect |
error |
the verification cannot be performed due to an error |
Code | Description |
---|---|
200 |
No error. |
201 |
Object created successfully. The object location is provided in Location: header. |
400 |
Validation of the request body failed. |
401 |
Invalid authentication token or root secret. |
403 |
Authentication required, but not provided. |
404 |
Unrecognized request or object not found. |
405 |
Method not allowed. |
409 |
Operation failed. |
500 |
The node configured incorrectly or a bug in the node software; naming service not available. |