ocelot.social GraphQL API
Reference documentation for the ocelot.social GraphQL API, generated from the backend schema. The endpoint and authentication depend on your deployment; the URL below is the local development default (configurable via GRAPHQL_URI).
API Endpoints
http://localhost:4000/
Authentication
Most operations require authentication. Send a token in the Authorization header as a Bearer token on every request:
Authorization: Bearer <token>
Two kinds of token are accepted, distinguished by prefix:
- JWT — obtained from the
loginmutation; used by the web app. - Personal API key (prefix
oak_) — for programmatic access, created withcreateApiKeywhen theapiKeysEnabledpolicy is on. The secret is shown only once, at creation.
Unauthenticated requests are allowed for public operations (e.g. Post, searchPosts, Category); everything else resolves the current user from the token.
Permissions & roles
Beyond being logged in, many operations require a specific permission. Each operation's description states what it needs — e.g. "Requires the content.moderate permission" or "Restricted to the author".
Permissions are granted through roles (dynamic, admin-managed). A caller's effective permissions can be read with myPermissions. Some rights are additionally gated by a runtime feature policy (e.g. apiKey.create only applies while apiKeysEnabled is on). Moderator- and owner-grade actions also respect an "act-on" hierarchy that prevents acting on higher-ranked users.
Errors
Responses follow the GraphQL convention: data carries the result and an errors array carries any problems, each with a message and a path. Authorization failures surface as a top-level error with the message Not Authorized!. A partial data payload alongside errors is normal when only some fields fail.
Real-time subscriptions
Live updates (new notifications, chat messages, room and policy changes) are delivered via GraphQL subscriptions over WebSocket using the graphql-ws protocol, on the same endpoint. Pass the same Authorization header in the connection parameters.
subscription {
notificationAdded {
id
reason
read
}
}
File uploads
File and image uploads use the GraphQL multipart request spec via the Upload scalar. Avatars and post images take an ImageInput (upload field), chat attachments take a FileInput. Non-multipart clients may instead reference already-hosted assets by URL.
Federation
The schema carries ActivityPub identifiers (actorId, activityId, objectId, publicKey) on users, posts and comments for federation with other instances. Most clients can ignore these fields.
Examples
A few representative operations. Send variables alongside each query and the Authorization header (except for login).
Log in and obtain a JWT
mutation (: String!, : String!) {
login(email: , password: )
}
The current user
query {
currentUser {
id
slug
name
avatar { url }
}
}
Create a post
mutation (: String!, : String!, : [ID]) {
CreatePost(title: , content: , categoryIds: ) {
id
slug
}
}
A page of the feed
query (: Int, : Int, : [_PostOrdering]) {
Post(first: , offset: , orderBy: ) {
id
title
createdAt
author { id name }
commentsCount
shoutedCount
}
}
Send a chat message
mutation (: ID, : String) {
CreateMessage(roomId: , content: ) {
id
content
createdAt
}
}
Queries
Badge
Description
List all available badges. Public.
Response
Returns [Badge]
Example
Query
query Badge {
Badge {
createdAt
description
icon
id
isDefault
rewarded {
...UserFragment
}
type
verifies {
...UserFragment
}
}
}
Response
{
"data": {
"Badge": [
{
"createdAt": "abc123",
"description": "abc123",
"icon": "xyz789",
"id": 4,
"isDefault": true,
"rewarded": [User],
"type": "trophy",
"verifies": [User]
}
]
}
}
Category
Description
List categories. Public.
Response
Returns [Category]
Arguments
| Name | Description |
|---|---|
createdAt - String
|
|
filter - _CategoryFilter
|
|
first - Int
|
|
icon - String
|
|
id - ID
|
|
name - String
|
|
offset - Int
|
|
orderBy - [_CategoryOrdering]
|
|
slug - String
|
|
updatedAt - String
|
Example
Query
query Category(
$createdAt: String,
$filter: _CategoryFilter,
$first: Int,
$icon: String,
$id: ID,
$name: String,
$offset: Int,
$orderBy: [_CategoryOrdering],
$slug: String,
$updatedAt: String
) {
Category(
createdAt: $createdAt,
filter: $filter,
first: $first,
icon: $icon,
id: $id,
name: $name,
offset: $offset,
orderBy: $orderBy,
slug: $slug,
updatedAt: $updatedAt
) {
_id
createdAt
icon
id
name
postCount
posts {
...PostFragment
}
slug
updatedAt
}
}
Variables
{
"createdAt": "xyz789",
"filter": _CategoryFilter,
"first": 123,
"icon": "xyz789",
"id": 4,
"name": "xyz789",
"offset": 987,
"orderBy": ["createdAt_asc"],
"slug": "abc123",
"updatedAt": "abc123"
}
Response
{
"data": {
"Category": [
{
"_id": "xyz789",
"createdAt": "abc123",
"icon": "xyz789",
"id": "4",
"name": "xyz789",
"postCount": 987,
"posts": [Post],
"slug": "abc123",
"updatedAt": "xyz789"
}
]
}
}
ChatMessageStatusPayload
Response
Returns [ChatMessageStatusPayload]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
filter - _ChatMessageStatusPayloadFilter
|
|
first - Int
|
|
messageIds - String
|
|
offset - Int
|
|
orderBy - [_ChatMessageStatusPayloadOrdering]
|
|
roomId - ID
|
|
status - String
|
Example
Query
query ChatMessageStatusPayload(
$_id: String,
$filter: _ChatMessageStatusPayloadFilter,
$first: Int,
$messageIds: String,
$offset: Int,
$orderBy: [_ChatMessageStatusPayloadOrdering],
$roomId: ID,
$status: String
) {
ChatMessageStatusPayload(
_id: $_id,
filter: $filter,
first: $first,
messageIds: $messageIds,
offset: $offset,
orderBy: $orderBy,
roomId: $roomId,
status: $status
) {
_id
messageIds
roomId
status
}
}
Variables
{
"_id": "abc123",
"filter": _ChatMessageStatusPayloadFilter,
"first": 987,
"messageIds": "abc123",
"offset": 123,
"orderBy": ["_id_asc"],
"roomId": "4",
"status": "xyz789"
}
Response
{
"data": {
"ChatMessageStatusPayload": [
{
"_id": "xyz789",
"messageIds": ["xyz789"],
"roomId": "4",
"status": "xyz789"
}
]
}
}
Comment
Description
List comments. Public.
Response
Returns [Comment]
Arguments
| Name | Description |
|---|---|
content - String
|
|
createdAt - String
|
|
filter - _CommentFilter
|
|
first - Int
|
|
id - ID
|
|
offset - Int
|
|
orderBy - [_CommentOrdering]
|
|
updatedAt - String
|
Example
Query
query Comment(
$content: String,
$createdAt: String,
$filter: _CommentFilter,
$first: Int,
$id: ID,
$offset: Int,
$orderBy: [_CommentOrdering],
$updatedAt: String
) {
Comment(
content: $content,
createdAt: $createdAt,
filter: $filter,
first: $first,
id: $id,
offset: $offset,
orderBy: $orderBy,
updatedAt: $updatedAt
) {
_id
activityId
author {
...UserFragment
}
content
createdAt
deleted
disabled
id
isPostObservedByMe
post {
...PostFragment
}
postObservingUsersCount
shoutedByCurrentUser
shoutedCount
updatedAt
}
}
Variables
{
"content": "abc123",
"createdAt": "abc123",
"filter": _CommentFilter,
"first": 987,
"id": "4",
"offset": 123,
"orderBy": ["content_asc"],
"updatedAt": "xyz789"
}
Response
{
"data": {
"Comment": [
{
"_id": "xyz789",
"activityId": "abc123",
"author": User,
"content": "abc123",
"createdAt": "abc123",
"deleted": true,
"disabled": true,
"id": 4,
"isPostObservedByMe": true,
"post": Post,
"postObservingUsersCount": 123,
"shoutedByCurrentUser": false,
"shoutedCount": 123,
"updatedAt": "abc123"
}
]
}
}
Donations
Description
The current donation campaign state. Requires authentication.
Response
Returns a Donations
Arguments
| Name | Description |
|---|---|
filter - _DonationsFilter
|
Example
Query
query Donations($filter: _DonationsFilter) {
Donations(filter: $filter) {
_id
createdAt
goal
id
progress
showDonations
updatedAt
}
}
Variables
{"filter": _DonationsFilter}
Response
{
"data": {
"Donations": {
"_id": "abc123",
"createdAt": "xyz789",
"goal": 123,
"id": 4,
"progress": 123,
"showDonations": false,
"updatedAt": "abc123"
}
}
}
EffectivePermission
Response
Returns [EffectivePermission]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
filter - _EffectivePermissionFilter
|
|
first - Int
|
|
group - String
|
|
key - String
|
|
offset - Int
|
|
orderBy - [_EffectivePermissionOrdering]
|
Example
Query
query EffectivePermission(
$_id: String,
$filter: _EffectivePermissionFilter,
$first: Int,
$group: String,
$key: String,
$offset: Int,
$orderBy: [_EffectivePermissionOrdering]
) {
EffectivePermission(
_id: $_id,
filter: $filter,
first: $first,
group: $group,
key: $key,
offset: $offset,
orderBy: $orderBy
) {
_id
group
key
}
}
Variables
{
"_id": "xyz789",
"filter": _EffectivePermissionFilter,
"first": 123,
"group": "abc123",
"key": "abc123",
"offset": 987,
"orderBy": ["_id_asc"]
}
Response
{
"data": {
"EffectivePermission": [
{
"_id": "abc123",
"group": "abc123",
"key": "abc123"
}
]
}
}
File
Response
Returns [File]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
duration - Float
|
|
extension - String
|
|
filter - _FileFilter
|
|
first - Int
|
|
name - String
|
|
offset - Int
|
|
orderBy - [_FileOrdering]
|
|
type - String
|
|
url - ID
|
Example
Query
query File(
$_id: String,
$duration: Float,
$extension: String,
$filter: _FileFilter,
$first: Int,
$name: String,
$offset: Int,
$orderBy: [_FileOrdering],
$type: String,
$url: ID
) {
File(
_id: $_id,
duration: $duration,
extension: $extension,
filter: $filter,
first: $first,
name: $name,
offset: $offset,
orderBy: $orderBy,
type: $type,
url: $url
) {
_id
duration
extension
name
type
url
}
}
Variables
{
"_id": "xyz789",
"duration": 123.45,
"extension": "xyz789",
"filter": _FileFilter,
"first": 123,
"name": "abc123",
"offset": 987,
"orderBy": ["_id_asc"],
"type": "abc123",
"url": 4
}
Response
{
"data": {
"File": [
{
"_id": "xyz789",
"duration": 123.45,
"extension": "xyz789",
"name": "abc123",
"type": "abc123",
"url": 4
}
]
}
}
FiledReport
Response
Returns [FiledReport]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
createdAt - String
|
|
filter - _FiledReportFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_FiledReportOrdering]
|
|
reasonCategory - ReasonCategory
|
|
reasonDescription - String
|
|
reportId - ID
|
Example
Query
query FiledReport(
$_id: String,
$createdAt: String,
$filter: _FiledReportFilter,
$first: Int,
$offset: Int,
$orderBy: [_FiledReportOrdering],
$reasonCategory: ReasonCategory,
$reasonDescription: String,
$reportId: ID
) {
FiledReport(
_id: $_id,
createdAt: $createdAt,
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy,
reasonCategory: $reasonCategory,
reasonDescription: $reasonDescription,
reportId: $reportId
) {
_id
createdAt
reasonCategory
reasonDescription
reportId
resource {
... on Comment {
...CommentFragment
}
... on Post {
...PostFragment
}
... on User {
...UserFragment
}
}
}
}
Variables
{
"_id": "abc123",
"createdAt": "xyz789",
"filter": _FiledReportFilter,
"first": 123,
"offset": 123,
"orderBy": ["_id_asc"],
"reasonCategory": "advert_products_services_commercial",
"reasonDescription": "xyz789",
"reportId": "4"
}
Response
{
"data": {
"FiledReport": [
{
"_id": "xyz789",
"createdAt": "abc123",
"reasonCategory": "advert_products_services_commercial",
"reasonDescription": "xyz789",
"reportId": 4,
"resource": Comment
}
]
}
}
Group
Description
List groups. Requires authentication. Filter to the current user's memberships with isMember, or to located groups with hasLocation.
Response
Returns [Group]
Example
Query
query Group(
$first: Int,
$hasLocation: Boolean,
$id: ID,
$isMember: Boolean,
$offset: Int,
$slug: String
) {
Group(
first: $first,
hasLocation: $hasLocation,
id: $id,
isMember: $isMember,
offset: $offset,
slug: $slug
) {
about
actionRadius
avatar {
...ImageFragment
}
categories {
...CategoryFragment
}
createdAt
currentlyPinnedPostsCount
deleted
description
descriptionExcerpt
disabled
groupType
id
inviteCodes {
...InviteCodeFragment
}
isMutedByMe
location {
...LocationFragment
}
locationName
membersCount
myRole
name
posts {
...PostFragment
}
slug
updatedAt
}
}
Variables
{
"first": 987,
"hasLocation": false,
"id": "4",
"isMember": true,
"offset": 123,
"slug": "xyz789"
}
Response
{
"data": {
"Group": [
{
"about": "abc123",
"actionRadius": "continental",
"avatar": Image,
"categories": [Category],
"createdAt": "xyz789",
"currentlyPinnedPostsCount": 987,
"deleted": false,
"description": "abc123",
"descriptionExcerpt": "abc123",
"disabled": true,
"groupType": "closed",
"id": 4,
"inviteCodes": [InviteCode],
"isMutedByMe": false,
"location": Location,
"locationName": "abc123",
"membersCount": 123,
"myRole": "admin",
"name": "abc123",
"posts": [Post],
"slug": "xyz789",
"updatedAt": "xyz789"
}
]
}
}
GroupCount
Description
Count groups, optionally restricted to the current user's memberships. Requires authentication.
GroupMember
Response
Returns [GroupMember]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
filter - _GroupMemberFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_GroupMemberOrdering]
|
Example
Query
query GroupMember(
$_id: String,
$filter: _GroupMemberFilter,
$first: Int,
$offset: Int,
$orderBy: [_GroupMemberOrdering]
) {
GroupMember(
_id: $_id,
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy
) {
_id
membership {
...MEMBER_OFFragment
}
user {
...UserFragment
}
}
}
Variables
{
"_id": "abc123",
"filter": _GroupMemberFilter,
"first": 123,
"offset": 123,
"orderBy": ["_id_asc"]
}
Response
{
"data": {
"GroupMember": [
{
"_id": "xyz789",
"membership": MEMBER_OF,
"user": User
}
]
}
}
GroupMembers
Description
List a group's members. Visibility depends on the viewer's relation to the group. Set includePending to also return unapproved join requests (for admins/owners).
Response
Returns [GroupMember]
Arguments
| Name | Description |
|---|---|
filter - _GroupMemberFilter
|
|
first - Int
|
|
id - ID!
|
|
includePending - Boolean
|
|
offset - Int
|
|
orderBy - [_GroupMemberOrdering]
|
Example
Query
query GroupMembers(
$filter: _GroupMemberFilter,
$first: Int,
$id: ID!,
$includePending: Boolean,
$offset: Int,
$orderBy: [_GroupMemberOrdering]
) {
GroupMembers(
filter: $filter,
first: $first,
id: $id,
includePending: $includePending,
offset: $offset,
orderBy: $orderBy
) {
_id
membership {
...MEMBER_OFFragment
}
user {
...UserFragment
}
}
}
Variables
{
"filter": _GroupMemberFilter,
"first": 987,
"id": "4",
"includePending": false,
"offset": 987,
"orderBy": ["_id_asc"]
}
Response
{
"data": {
"GroupMembers": [
{
"_id": "abc123",
"membership": MEMBER_OF,
"user": User
}
]
}
}
Image
Response
Returns [Image]
Example
Query
query Image(
$_id: String,
$alt: String,
$aspectRatio: Float,
$filter: _ImageFilter,
$first: Int,
$offset: Int,
$orderBy: [_ImageOrdering],
$sensitive: Boolean,
$transform: String,
$type: String,
$url: ID
) {
Image(
_id: $_id,
alt: $alt,
aspectRatio: $aspectRatio,
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy,
sensitive: $sensitive,
transform: $transform,
type: $type,
url: $url
) {
_id
alt
aspectRatio
sensitive
transform
type
url
}
}
Variables
{
"_id": "xyz789",
"alt": "xyz789",
"aspectRatio": 987.65,
"filter": _ImageFilter,
"first": 987,
"offset": 123,
"orderBy": ["_id_asc"],
"sensitive": false,
"transform": "xyz789",
"type": "xyz789",
"url": 4
}
Response
{
"data": {
"Image": [
{
"_id": "abc123",
"alt": "xyz789",
"aspectRatio": 123.45,
"sensitive": false,
"transform": "xyz789",
"type": "xyz789",
"url": 4
}
]
}
}
InviteCode
Response
Returns [InviteCode]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
code - ID
|
|
comment - String
|
|
createdAt - String
|
|
expiresAt - String
|
|
filter - _InviteCodeFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_InviteCodeOrdering]
|
|
redeemedByCount - Int
|
Example
Query
query InviteCode(
$_id: String,
$code: ID,
$comment: String,
$createdAt: String,
$expiresAt: String,
$filter: _InviteCodeFilter,
$first: Int,
$offset: Int,
$orderBy: [_InviteCodeOrdering],
$redeemedByCount: Int
) {
InviteCode(
_id: $_id,
code: $code,
comment: $comment,
createdAt: $createdAt,
expiresAt: $expiresAt,
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy,
redeemedByCount: $redeemedByCount
) {
_id
code
comment
createdAt
expiresAt
generatedBy {
...UserFragment
}
invitedTo {
...GroupFragment
}
isValid
redeemedBy {
...UserFragment
}
redeemedByCount
}
}
Variables
{
"_id": "abc123",
"code": "4",
"comment": "abc123",
"createdAt": "abc123",
"expiresAt": "xyz789",
"filter": _InviteCodeFilter,
"first": 123,
"offset": 987,
"orderBy": ["_id_asc"],
"redeemedByCount": 987
}
Response
{
"data": {
"InviteCode": [
{
"_id": "abc123",
"code": 4,
"comment": "xyz789",
"createdAt": "abc123",
"expiresAt": "abc123",
"generatedBy": User,
"invitedTo": Group,
"isValid": true,
"redeemedBy": [User],
"redeemedByCount": 987
}
]
}
}
LocationMapBox
Response
Returns [LocationMapBox]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
filter - _LocationMapBoxFilter
|
|
first - Int
|
|
id - ID
|
|
offset - Int
|
|
orderBy - [_LocationMapBoxOrdering]
|
|
place_name - String
|
Example
Query
query LocationMapBox(
$_id: String,
$filter: _LocationMapBoxFilter,
$first: Int,
$id: ID,
$offset: Int,
$orderBy: [_LocationMapBoxOrdering],
$place_name: String
) {
LocationMapBox(
_id: $_id,
filter: $filter,
first: $first,
id: $id,
offset: $offset,
orderBy: $orderBy,
place_name: $place_name
) {
_id
id
place_name
}
}
Variables
{
"_id": "abc123",
"filter": _LocationMapBoxFilter,
"first": 987,
"id": 4,
"offset": 123,
"orderBy": ["_id_asc"],
"place_name": "abc123"
}
Response
{
"data": {
"LocationMapBox": [
{
"_id": "xyz789",
"id": 4,
"place_name": "xyz789"
}
]
}
}
MEMBER_OF
Response
Returns [MEMBER_OF]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
createdAt - String
|
|
filter - _MEMBER_OFFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_MEMBER_OFOrdering]
|
|
role - GroupMemberRole
|
|
updatedAt - String
|
Example
Query
query MEMBER_OF(
$_id: String,
$createdAt: String,
$filter: _MEMBER_OFFilter,
$first: Int,
$offset: Int,
$orderBy: [_MEMBER_OFOrdering],
$role: GroupMemberRole,
$updatedAt: String
) {
MEMBER_OF(
_id: $_id,
createdAt: $createdAt,
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy,
role: $role,
updatedAt: $updatedAt
) {
_id
createdAt
role
updatedAt
}
}
Variables
{
"_id": "xyz789",
"createdAt": "abc123",
"filter": _MEMBER_OFFilter,
"first": 123,
"offset": 987,
"orderBy": ["_id_asc"],
"role": "admin",
"updatedAt": "abc123"
}
Response
{
"data": {
"MEMBER_OF": [
{
"_id": "abc123",
"createdAt": "abc123",
"role": "admin",
"updatedAt": "abc123"
}
]
}
}
Message
Description
List messages in a room, newest first, with index-based paging. Requires authentication.
Response
Returns [Message]
Arguments
| Name | Description |
|---|---|
beforeIndex - Int
|
|
filter - _MessageFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_MessageOrdering]
|
|
roomId - ID!
|
Example
Query
query Message(
$beforeIndex: Int,
$filter: _MessageFilter,
$first: Int,
$offset: Int,
$orderBy: [_MessageOrdering],
$roomId: ID!
) {
Message(
beforeIndex: $beforeIndex,
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy,
roomId: $roomId
) {
_id
author {
...UserFragment
}
avatar
content
createdAt
date
distributed
files {
...FileFragment
}
id
indexId
room {
...RoomFragment
}
saved
seen
senderId
updatedAt
username
}
}
Variables
{
"beforeIndex": 123,
"filter": _MessageFilter,
"first": 987,
"offset": 123,
"orderBy": ["indexId_desc"],
"roomId": 4
}
Response
{
"data": {
"Message": [
{
"_id": "abc123",
"author": User,
"avatar": "xyz789",
"content": "abc123",
"createdAt": "xyz789",
"date": "abc123",
"distributed": false,
"files": [File],
"id": 4,
"indexId": 123,
"room": Room,
"saved": false,
"seen": true,
"senderId": "xyz789",
"updatedAt": "xyz789",
"username": "xyz789"
}
]
}
}
Permission
Response
Returns [Permission]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
available - Boolean
|
|
description - String
|
|
filter - _PermissionFilter
|
|
first - Int
|
|
gatedBy - String
|
|
group - String
|
|
key - String
|
|
offset - Int
|
|
orderBy - [_PermissionOrdering]
|
Example
Query
query Permission(
$_id: String,
$available: Boolean,
$description: String,
$filter: _PermissionFilter,
$first: Int,
$gatedBy: String,
$group: String,
$key: String,
$offset: Int,
$orderBy: [_PermissionOrdering]
) {
Permission(
_id: $_id,
available: $available,
description: $description,
filter: $filter,
first: $first,
gatedBy: $gatedBy,
group: $group,
key: $key,
offset: $offset,
orderBy: $orderBy
) {
_id
available
description
gatedBy
group
key
}
}
Variables
{
"_id": "xyz789",
"available": false,
"description": "abc123",
"filter": _PermissionFilter,
"first": 987,
"gatedBy": "abc123",
"group": "abc123",
"key": "xyz789",
"offset": 123,
"orderBy": ["_id_asc"]
}
Response
{
"data": {
"Permission": [
{
"_id": "xyz789",
"available": true,
"description": "xyz789",
"gatedBy": "abc123",
"group": "xyz789",
"key": "abc123"
}
]
}
}
PermissionsChanged
Response
Returns [PermissionsChanged]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
filter - _PermissionsChangedFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_PermissionsChangedOrdering]
|
|
roleName - String
|
Example
Query
query PermissionsChanged(
$_id: String,
$filter: _PermissionsChangedFilter,
$first: Int,
$offset: Int,
$orderBy: [_PermissionsChangedOrdering],
$roleName: String
) {
PermissionsChanged(
_id: $_id,
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy,
roleName: $roleName
) {
_id
roleName
}
}
Variables
{
"_id": "xyz789",
"filter": _PermissionsChangedFilter,
"first": 987,
"offset": 987,
"orderBy": ["_id_asc"],
"roleName": "xyz789"
}
Response
{
"data": {
"PermissionsChanged": [
{
"_id": "abc123",
"roleName": "abc123"
}
]
}
}
PinnedPostCounts
Response
Returns [PinnedPostCounts]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
currentlyPinnedPosts - Int
|
|
filter - _PinnedPostCountsFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_PinnedPostCountsOrdering]
|
Example
Query
query PinnedPostCounts(
$_id: String,
$currentlyPinnedPosts: Int,
$filter: _PinnedPostCountsFilter,
$first: Int,
$offset: Int,
$orderBy: [_PinnedPostCountsOrdering]
) {
PinnedPostCounts(
_id: $_id,
currentlyPinnedPosts: $currentlyPinnedPosts,
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy
) {
_id
currentlyPinnedPosts
}
}
Variables
{
"_id": "xyz789",
"currentlyPinnedPosts": 123,
"filter": _PinnedPostCountsFilter,
"first": 987,
"offset": 987,
"orderBy": ["_id_asc"]
}
Response
{
"data": {
"PinnedPostCounts": [
{
"_id": "abc123",
"currentlyPinnedPosts": 987
}
]
}
}
Policy
Response
Returns [Policy]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
apiKeysEnabled - Boolean
|
|
apiKeysMaxPerUser - Int
|
|
askForRealName - Boolean
|
|
badgesEnabled - Boolean
|
|
categoriesActive - Boolean
|
|
filter - _PolicyFilter
|
|
first - Int
|
|
inviteCodesGroupPerUser - Int
|
|
inviteCodesPersonalPerUser - Int
|
|
inviteLinkLimit - Int
|
|
inviteRegistration - Boolean
|
|
maxGroupPinnedPosts - Int
|
|
maxPinnedPosts - Int
|
|
offset - Int
|
|
orderBy - [_PolicyOrdering]
|
|
publicRegistration - Boolean
|
|
requireLocation - Boolean
|
|
showContentFilterHeaderMenu - Boolean
|
|
showContentFilterMasonryGrid - Boolean
|
|
showGroupButtonInHeader - Boolean
|
Example
Query
query Policy(
$_id: String,
$apiKeysEnabled: Boolean,
$apiKeysMaxPerUser: Int,
$askForRealName: Boolean,
$badgesEnabled: Boolean,
$categoriesActive: Boolean,
$filter: _PolicyFilter,
$first: Int,
$inviteCodesGroupPerUser: Int,
$inviteCodesPersonalPerUser: Int,
$inviteLinkLimit: Int,
$inviteRegistration: Boolean,
$maxGroupPinnedPosts: Int,
$maxPinnedPosts: Int,
$offset: Int,
$orderBy: [_PolicyOrdering],
$publicRegistration: Boolean,
$requireLocation: Boolean,
$showContentFilterHeaderMenu: Boolean,
$showContentFilterMasonryGrid: Boolean,
$showGroupButtonInHeader: Boolean
) {
Policy(
_id: $_id,
apiKeysEnabled: $apiKeysEnabled,
apiKeysMaxPerUser: $apiKeysMaxPerUser,
askForRealName: $askForRealName,
badgesEnabled: $badgesEnabled,
categoriesActive: $categoriesActive,
filter: $filter,
first: $first,
inviteCodesGroupPerUser: $inviteCodesGroupPerUser,
inviteCodesPersonalPerUser: $inviteCodesPersonalPerUser,
inviteLinkLimit: $inviteLinkLimit,
inviteRegistration: $inviteRegistration,
maxGroupPinnedPosts: $maxGroupPinnedPosts,
maxPinnedPosts: $maxPinnedPosts,
offset: $offset,
orderBy: $orderBy,
publicRegistration: $publicRegistration,
requireLocation: $requireLocation,
showContentFilterHeaderMenu: $showContentFilterHeaderMenu,
showContentFilterMasonryGrid: $showContentFilterMasonryGrid,
showGroupButtonInHeader: $showGroupButtonInHeader
) {
_id
apiKeysEnabled
apiKeysMaxPerUser
askForRealName
badgesEnabled
categoriesActive
inviteCodesGroupPerUser
inviteCodesPersonalPerUser
inviteLinkLimit
inviteRegistration
maxGroupPinnedPosts
maxPinnedPosts
publicRegistration
requireLocation
showContentFilterHeaderMenu
showContentFilterMasonryGrid
showGroupButtonInHeader
}
}
Variables
{
"_id": "xyz789",
"apiKeysEnabled": true,
"apiKeysMaxPerUser": 123,
"askForRealName": false,
"badgesEnabled": false,
"categoriesActive": false,
"filter": _PolicyFilter,
"first": 987,
"inviteCodesGroupPerUser": 123,
"inviteCodesPersonalPerUser": 123,
"inviteLinkLimit": 123,
"inviteRegistration": false,
"maxGroupPinnedPosts": 987,
"maxPinnedPosts": 987,
"offset": 123,
"orderBy": ["_id_asc"],
"publicRegistration": false,
"requireLocation": true,
"showContentFilterHeaderMenu": true,
"showContentFilterMasonryGrid": true,
"showGroupButtonInHeader": false
}
Response
{
"data": {
"Policy": [
{
"_id": "xyz789",
"apiKeysEnabled": true,
"apiKeysMaxPerUser": 987,
"askForRealName": true,
"badgesEnabled": true,
"categoriesActive": false,
"inviteCodesGroupPerUser": 123,
"inviteCodesPersonalPerUser": 987,
"inviteLinkLimit": 123,
"inviteRegistration": false,
"maxGroupPinnedPosts": 123,
"maxPinnedPosts": 987,
"publicRegistration": false,
"requireLocation": true,
"showContentFilterHeaderMenu": true,
"showContentFilterMasonryGrid": true,
"showGroupButtonInHeader": true
}
]
}
}
PolicyChangeEvent
Response
Returns [PolicyChangeEvent]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
actor - String
|
|
filter - _PolicyChangeEventFilter
|
|
first - Int
|
|
key - PolicyKey
|
|
offset - Int
|
|
orderBy - [_PolicyChangeEventOrdering]
|
|
timestamp - String
|
|
value - String
|
Example
Query
query PolicyChangeEvent(
$_id: String,
$actor: String,
$filter: _PolicyChangeEventFilter,
$first: Int,
$key: PolicyKey,
$offset: Int,
$orderBy: [_PolicyChangeEventOrdering],
$timestamp: String,
$value: String
) {
PolicyChangeEvent(
_id: $_id,
actor: $actor,
filter: $filter,
first: $first,
key: $key,
offset: $offset,
orderBy: $orderBy,
timestamp: $timestamp,
value: $value
) {
_id
actor
key
timestamp
value
}
}
Variables
{
"_id": "xyz789",
"actor": "xyz789",
"filter": _PolicyChangeEventFilter,
"first": 123,
"key": "apiKeysEnabled",
"offset": 987,
"orderBy": ["_id_asc"],
"timestamp": "xyz789",
"value": "abc123"
}
Response
{
"data": {
"PolicyChangeEvent": [
{
"_id": "abc123",
"actor": "xyz789",
"key": "apiKeysEnabled",
"timestamp": "abc123",
"value": "xyz789"
}
]
}
}
PolicyDefaults
Response
Returns [PolicyDefaults]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
filter - _PolicyDefaultsFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_PolicyDefaultsOrdering]
|
Example
Query
query PolicyDefaults(
$_id: String,
$filter: _PolicyDefaultsFilter,
$first: Int,
$offset: Int,
$orderBy: [_PolicyDefaultsOrdering]
) {
PolicyDefaults(
_id: $_id,
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy
) {
_id
defaults {
...PolicyFragment
}
lastChange {
...PolicyLastChangeFragment
}
}
}
Variables
{
"_id": "xyz789",
"filter": _PolicyDefaultsFilter,
"first": 987,
"offset": 987,
"orderBy": ["_id_asc"]
}
Response
{
"data": {
"PolicyDefaults": [
{
"_id": "abc123",
"defaults": Policy,
"lastChange": PolicyLastChange
}
]
}
}
PolicyLastChange
Response
Returns [PolicyLastChange]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
actor - String
|
|
filter - _PolicyLastChangeFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_PolicyLastChangeOrdering]
|
|
timestamp - String
|
Example
Query
query PolicyLastChange(
$_id: String,
$actor: String,
$filter: _PolicyLastChangeFilter,
$first: Int,
$offset: Int,
$orderBy: [_PolicyLastChangeOrdering],
$timestamp: String
) {
PolicyLastChange(
_id: $_id,
actor: $actor,
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy,
timestamp: $timestamp
) {
_id
actor
timestamp
}
}
Variables
{
"_id": "abc123",
"actor": "abc123",
"filter": _PolicyLastChangeFilter,
"first": 123,
"offset": 987,
"orderBy": ["_id_asc"],
"timestamp": "xyz789"
}
Response
{
"data": {
"PolicyLastChange": [
{
"_id": "abc123",
"actor": "xyz789",
"timestamp": "xyz789"
}
]
}
}
PolicyValueChanged
Response
Returns [PolicyValueChanged]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
filter - _PolicyValueChangedFilter
|
|
first - Int
|
|
key - PolicyKey
|
|
offset - Int
|
|
orderBy - [_PolicyValueChangedOrdering]
|
|
value - String
|
Example
Query
query PolicyValueChanged(
$_id: String,
$filter: _PolicyValueChangedFilter,
$first: Int,
$key: PolicyKey,
$offset: Int,
$orderBy: [_PolicyValueChangedOrdering],
$value: String
) {
PolicyValueChanged(
_id: $_id,
filter: $filter,
first: $first,
key: $key,
offset: $offset,
orderBy: $orderBy,
value: $value
) {
_id
key
value
}
}
Variables
{
"_id": "xyz789",
"filter": _PolicyValueChangedFilter,
"first": 123,
"key": "apiKeysEnabled",
"offset": 987,
"orderBy": ["_id_asc"],
"value": "abc123"
}
Response
{
"data": {
"PolicyValueChanged": [
{
"_id": "abc123",
"key": "apiKeysEnabled",
"value": "abc123"
}
]
}
}
Post
Description
List posts (the main feed query). Public. Combine with filter, orderBy and paging for feeds, profiles and groups.
Response
Returns [Post]
Arguments
| Name | Description |
|---|---|
content - String
|
|
createdAt - String
|
|
filter - _PostFilter
|
|
first - Int
|
|
id - ID
|
|
imageAspectRatio - Float
|
|
imageBlurred - Boolean
|
|
language - String
|
|
offset - Int
|
|
orderBy - [_PostOrdering]
|
|
pinned - Boolean
|
|
slug - String
|
|
title - String
|
|
updatedAt - String
|
|
visibility - Visibility
|
Example
Query
query Post(
$content: String,
$createdAt: String,
$filter: _PostFilter,
$first: Int,
$id: ID,
$imageAspectRatio: Float,
$imageBlurred: Boolean,
$language: String,
$offset: Int,
$orderBy: [_PostOrdering],
$pinned: Boolean,
$slug: String,
$title: String,
$updatedAt: String,
$visibility: Visibility
) {
Post(
content: $content,
createdAt: $createdAt,
filter: $filter,
first: $first,
id: $id,
imageAspectRatio: $imageAspectRatio,
imageBlurred: $imageBlurred,
language: $language,
offset: $offset,
orderBy: $orderBy,
pinned: $pinned,
slug: $slug,
title: $title,
updatedAt: $updatedAt,
visibility: $visibility
) {
_id
activityId
author {
...UserFragment
}
categories {
...CategoryFragment
}
clickedCount
comments {
...CommentFragment
}
commentsCount
content
createdAt
deleted
disabled
emotions {
..._PostEmotionsFragment
}
emotionsCount
eventEnd
eventIsOnline
eventLocation {
...LocationFragment
}
eventLocationName
eventStart
eventVenue
group {
...GroupFragment
}
groupPinned
id
image {
...ImageFragment
}
isObservedByMe
language
objectId
observingUsersCount
pinned
pinnedAt
pinnedBy {
...UserFragment
}
postType
relatedContributions {
...PostFragment
}
shoutedBy {
...UserFragment
}
shoutedByCurrentUser
shoutedCount
slug
sortDate
tags {
...TagFragment
}
title
unreadCommentNotificationsByCurrentUser {
...NOTIFIEDFragment
}
unreadNotificationByCurrentUser {
...NOTIFIEDFragment
}
updatedAt
viewedTeaserByCurrentUser
viewedTeaserCount
visibility
}
}
Variables
{
"content": "xyz789",
"createdAt": "abc123",
"filter": _PostFilter,
"first": 123,
"id": "4",
"imageAspectRatio": 123.45,
"imageBlurred": false,
"language": "xyz789",
"offset": 123,
"orderBy": ["content_asc"],
"pinned": true,
"slug": "xyz789",
"title": "xyz789",
"updatedAt": "xyz789",
"visibility": "friends"
}
Response
{
"data": {
"Post": [
{
"_id": "xyz789",
"activityId": "xyz789",
"author": User,
"categories": [Category],
"clickedCount": 123,
"comments": [Comment],
"commentsCount": 123,
"content": "xyz789",
"createdAt": "abc123",
"deleted": false,
"disabled": false,
"emotions": [_PostEmotions],
"emotionsCount": 987,
"eventEnd": "xyz789",
"eventIsOnline": false,
"eventLocation": Location,
"eventLocationName": "abc123",
"eventStart": "abc123",
"eventVenue": "abc123",
"group": Group,
"groupPinned": false,
"id": "4",
"image": Image,
"isObservedByMe": true,
"language": "abc123",
"objectId": "abc123",
"observingUsersCount": 987,
"pinned": false,
"pinnedAt": "xyz789",
"pinnedBy": User,
"postType": ["Article"],
"relatedContributions": [Post],
"shoutedBy": [User],
"shoutedByCurrentUser": true,
"shoutedCount": 123,
"slug": "abc123",
"sortDate": "xyz789",
"tags": [Tag],
"title": "abc123",
"unreadCommentNotificationsByCurrentUser": [
NOTIFIED
],
"unreadNotificationByCurrentUser": NOTIFIED,
"updatedAt": "abc123",
"viewedTeaserByCurrentUser": false,
"viewedTeaserCount": 123,
"visibility": "friends"
}
]
}
}
PostsEmotionsByCurrentUser
Description
The emotions the current user has left on a post. Requires authentication.
PostsEmotionsCountByEmotion
Description
Count of a single emotion on a post. Public.
Response
Returns an Int!
Arguments
| Name | Description |
|---|---|
data - _EMOTEDInput!
|
|
postId - ID!
|
Example
Query
query PostsEmotionsCountByEmotion(
$data: _EMOTEDInput!,
$postId: ID!
) {
PostsEmotionsCountByEmotion(
data: $data,
postId: $postId
)
}
Variables
{
"data": _EMOTEDInput,
"postId": "4"
}
Response
{"data": {"PostsEmotionsCountByEmotion": 987}}
PostsPinnedCounts
Description
Instance-wide pinned-post counts. Requires the post.pin permission.
Response
Returns a PinnedPostCounts!
Arguments
| Name | Description |
|---|---|
filter - _PinnedPostCountsFilter
|
Example
Query
query PostsPinnedCounts($filter: _PinnedPostCountsFilter) {
PostsPinnedCounts(filter: $filter) {
_id
currentlyPinnedPosts
}
}
Variables
{"filter": _PinnedPostCountsFilter}
Response
{
"data": {
"PostsPinnedCounts": {
"_id": "xyz789",
"currentlyPinnedPosts": 987
}
}
}
Role
Response
Returns [Role]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
filter - _RoleFilter
|
|
first - Int
|
|
memberCount - Int
|
|
name - String
|
|
offset - Int
|
|
orderBy - [_RoleOrdering]
|
|
permissions - String
|
|
protected - Boolean
|
Example
Query
query Role(
$_id: String,
$filter: _RoleFilter,
$first: Int,
$memberCount: Int,
$name: String,
$offset: Int,
$orderBy: [_RoleOrdering],
$permissions: String,
$protected: Boolean
) {
Role(
_id: $_id,
filter: $filter,
first: $first,
memberCount: $memberCount,
name: $name,
offset: $offset,
orderBy: $orderBy,
permissions: $permissions,
protected: $protected
) {
_id
memberCount
name
permissions
protected
}
}
Variables
{
"_id": "xyz789",
"filter": _RoleFilter,
"first": 123,
"memberCount": 123,
"name": "xyz789",
"offset": 987,
"orderBy": ["_id_asc"],
"permissions": "xyz789",
"protected": true
}
Response
{
"data": {
"Role": [
{
"_id": "xyz789",
"memberCount": 123,
"name": "xyz789",
"permissions": ["xyz789"],
"protected": true
}
]
}
}
Room
Description
List the current user's chat rooms. Direct rooms are looked up by userId, group rooms by groupId. Requires authentication.
Response
Returns [Room]
Arguments
| Name | Description |
|---|---|
before - String
|
|
filter - _RoomFilter
|
|
first - Int
|
|
groupId - ID
|
|
id - ID
|
|
offset - Int
|
|
orderBy - [_RoomOrdering]
|
|
search - String
|
|
userId - ID
|
Example
Query
query Room(
$before: String,
$filter: _RoomFilter,
$first: Int,
$groupId: ID,
$id: ID,
$offset: Int,
$orderBy: [_RoomOrdering],
$search: String,
$userId: ID
) {
Room(
before: $before,
filter: $filter,
first: $first,
groupId: $groupId,
id: $id,
offset: $offset,
orderBy: $orderBy,
search: $search,
userId: $userId
) {
_id
avatar
createdAt
group {
...GroupFragment
}
id
isGroupRoom
lastMessage {
...MessageFragment
}
lastMessageAt
roomId
roomName
unreadCount
updatedAt
users {
...UserFragment
}
}
}
Variables
{
"before": "xyz789",
"filter": _RoomFilter,
"first": 123,
"groupId": "4",
"id": "4",
"offset": 987,
"orderBy": ["createdAt_desc"],
"search": "abc123",
"userId": "4"
}
Response
{
"data": {
"Room": [
{
"_id": "abc123",
"avatar": "abc123",
"createdAt": "xyz789",
"group": Group,
"id": 4,
"isGroupRoom": false,
"lastMessage": Message,
"lastMessageAt": "xyz789",
"roomId": "xyz789",
"roomName": "abc123",
"unreadCount": 987,
"updatedAt": "xyz789",
"users": [User]
}
]
}
}
Tag
Description
List hashtags, e.g. for a trending-tags widget. Public.
Response
Returns [Tag]
Arguments
| Name | Description |
|---|---|
filter - _TagFilter
|
|
first - Int
|
|
id - ID
|
|
offset - Int
|
|
orderBy - [_TagOrdering]
|
Example
Query
query Tag(
$filter: _TagFilter,
$first: Int,
$id: ID,
$offset: Int,
$orderBy: [_TagOrdering]
) {
Tag(
filter: $filter,
first: $first,
id: $id,
offset: $offset,
orderBy: $orderBy
) {
_id
deleted
disabled
id
taggedCount
taggedCountUnique
taggedPosts {
...PostFragment
}
}
}
Variables
{
"filter": _TagFilter,
"first": 987,
"id": 4,
"offset": 123,
"orderBy": ["id_asc"]
}
Response
{
"data": {
"Tag": [
{
"_id": "abc123",
"deleted": false,
"disabled": true,
"id": "4",
"taggedCount": 123,
"taggedCountUnique": 123,
"taggedPosts": [Post]
}
]
}
}
UnreadRooms
Description
Number of the current user's rooms with unread messages. Requires authentication.
Response
Returns an Int
Example
Query
query UnreadRooms {
UnreadRooms
}
Response
{"data": {"UnreadRooms": 987}}
User
Description
Look up users. Requires authentication; filtering by email additionally requires the user.email.readAny permission (used for admin user search).
Response
Returns [User]
Arguments
| Name | Description |
|---|---|
about - String
|
|
createdAt - String
|
|
email - String
|
|
filter - _UserFilter
|
|
first - Int
|
|
id - ID
|
|
locationName - String
|
|
name - String
|
|
offset - Int
|
|
orderBy - [_UserOrdering]
|
|
roleName - String
|
Admin user search: filter by single role (HAS_ROLE) and/or a free-text term (name/slug/about/email). Combinable; requires role.manage. |
search - String
|
Free-text search over name/slug/about (and email for admins). |
slug - String
|
|
updatedAt - String
|
Example
Query
query User(
$about: String,
$createdAt: String,
$email: String,
$filter: _UserFilter,
$first: Int,
$id: ID,
$locationName: String,
$name: String,
$offset: Int,
$orderBy: [_UserOrdering],
$roleName: String,
$search: String,
$slug: String,
$updatedAt: String
) {
User(
about: $about,
createdAt: $createdAt,
email: $email,
filter: $filter,
first: $first,
id: $id,
locationName: $locationName,
name: $name,
offset: $offset,
orderBy: $orderBy,
roleName: $roleName,
search: $search,
slug: $slug,
updatedAt: $updatedAt
) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{
"about": "abc123",
"createdAt": "xyz789",
"email": "abc123",
"filter": _UserFilter,
"first": 123,
"id": 4,
"locationName": "xyz789",
"name": "abc123",
"offset": 123,
"orderBy": ["about_asc"],
"roleName": "abc123",
"search": "xyz789",
"slug": "abc123",
"updatedAt": "xyz789"
}
Response
{
"data": {
"User": [
{
"_id": "xyz789",
"about": "xyz789",
"activeCategories": ["xyz789"],
"actorId": "abc123",
"allowEmbedIframes": false,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 123,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 123,
"badgeVerification": Badge,
"blocked": true,
"categories": [Category],
"commentedCount": 123,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 987,
"createdAt": "xyz789",
"deleted": false,
"disabled": true,
"email": "xyz789",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 123,
"followedByCurrentUser": false,
"following": [User],
"followingCount": 987,
"friends": [User],
"friendsCount": 123,
"id": "4",
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": false,
"isMuted": true,
"locale": "abc123",
"location": Location,
"locationName": "abc123",
"name": "abc123",
"publicKey": "abc123",
"redeemedInviteCode": InviteCode,
"roleName": "xyz789",
"shouted": [Post],
"shoutedCount": 123,
"showShoutsPublicly": true,
"slug": "abc123",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "abc123",
"termsAndConditionsAgreedVersion": "abc123",
"updatedAt": "abc123"
}
]
}
}
UserData
Response
Returns [UserData]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
filter - _UserDataFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_UserDataOrdering]
|
Example
Query
query UserData(
$_id: String,
$filter: _UserDataFilter,
$first: Int,
$offset: Int,
$orderBy: [_UserDataOrdering]
) {
UserData(
_id: $_id,
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy
) {
_id
posts {
...PostFragment
}
user {
...UserFragment
}
}
}
Variables
{
"_id": "abc123",
"filter": _UserDataFilter,
"first": 123,
"offset": 987,
"orderBy": ["_id_asc"]
}
Response
{
"data": {
"UserData": [
{
"_id": "abc123",
"posts": [Post],
"user": User
}
]
}
}
VerifyNonce
Description
Check whether a signup/verification nonce is valid for the given email. Public.
apiKeyUsers
Description
Administration overview of API-key usage per user. Requires the apiKey.administer permission.
Response
Returns [ApiKeyUserSummary!]!
Example
Query
query apiKeyUsers(
$first: Int,
$offset: Int
) {
apiKeyUsers(
first: $first,
offset: $offset
) {
activeCount
commentsCount
lastActivity
postsCount
revokedCount
user {
...UserFragment
}
}
}
Variables
{"first": 987, "offset": 987}
Response
{
"data": {
"apiKeyUsers": [
{
"activeCount": 123,
"commentsCount": 123,
"lastActivity": "xyz789",
"postsCount": 987,
"revokedCount": 987,
"user": User
}
]
}
}
apiKeysForUser
Description
All API keys belonging to a given user. Requires the apiKey.administer permission.
Response
Returns [ApiKey!]!
Arguments
| Name | Description |
|---|---|
userId - ID!
|
Example
Query
query apiKeysForUser($userId: ID!) {
apiKeysForUser(userId: $userId) {
createdAt
disabled
disabledAt
expiresAt
id
keyPrefix
lastUsedAt
name
owner {
...UserFragment
}
}
}
Variables
{"userId": 4}
Response
{
"data": {
"apiKeysForUser": [
{
"createdAt": "abc123",
"disabled": true,
"disabledAt": "xyz789",
"expiresAt": "xyz789",
"id": 4,
"keyPrefix": "abc123",
"lastUsedAt": "xyz789",
"name": "abc123",
"owner": User
}
]
}
}
blockedUsers
Description
Users the current user has blocked. Requires authentication.
Response
Returns [User]
Arguments
| Name | Description |
|---|---|
filter - _UserFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_UserOrdering]
|
Example
Query
query blockedUsers(
$filter: _UserFilter,
$first: Int,
$offset: Int,
$orderBy: [_UserOrdering]
) {
blockedUsers(
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy
) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{
"filter": _UserFilter,
"first": 123,
"offset": 123,
"orderBy": ["about_asc"]
}
Response
{
"data": {
"blockedUsers": [
{
"_id": "xyz789",
"about": "abc123",
"activeCategories": ["abc123"],
"actorId": "abc123",
"allowEmbedIframes": true,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 123,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 987,
"badgeVerification": Badge,
"blocked": false,
"categories": [Category],
"commentedCount": 123,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 123,
"createdAt": "abc123",
"deleted": true,
"disabled": true,
"email": "xyz789",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 123,
"followedByCurrentUser": false,
"following": [User],
"followingCount": 987,
"friends": [User],
"friendsCount": 987,
"id": "4",
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": false,
"isMuted": true,
"locale": "abc123",
"location": Location,
"locationName": "xyz789",
"name": "xyz789",
"publicKey": "abc123",
"redeemedInviteCode": InviteCode,
"roleName": "xyz789",
"shouted": [Post],
"shoutedCount": 987,
"showShoutsPublicly": false,
"slug": "xyz789",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "xyz789",
"termsAndConditionsAgreedVersion": "xyz789",
"updatedAt": "xyz789"
}
]
}
}
currentUser
Description
The currently authenticated user. Requires authentication.
Response
Returns a User!
Arguments
| Name | Description |
|---|---|
filter - _UserFilter
|
Example
Query
query currentUser($filter: _UserFilter) {
currentUser(filter: $filter) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{"filter": _UserFilter}
Response
{
"data": {
"currentUser": {
"_id": "abc123",
"about": "xyz789",
"activeCategories": ["xyz789"],
"actorId": "abc123",
"allowEmbedIframes": false,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 987,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 123,
"badgeVerification": Badge,
"blocked": true,
"categories": [Category],
"commentedCount": 987,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 987,
"createdAt": "abc123",
"deleted": true,
"disabled": false,
"email": "abc123",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 123,
"followedByCurrentUser": false,
"following": [User],
"followingCount": 123,
"friends": [User],
"friendsCount": 123,
"id": "4",
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": true,
"isMuted": true,
"locale": "abc123",
"location": Location,
"locationName": "abc123",
"name": "abc123",
"publicKey": "xyz789",
"redeemedInviteCode": InviteCode,
"roleName": "xyz789",
"shouted": [Post],
"shoutedCount": 123,
"showShoutsPublicly": true,
"slug": "abc123",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "abc123",
"termsAndConditionsAgreedVersion": "xyz789",
"updatedAt": "abc123"
}
}
}
embed
Description
Fetch link-preview metadata for a URL. Public.
Example
Query
query embed($url: String!) {
embed(url: $url) {
audio
author
date
description
html
image
lang
publisher
sources
title
type
url
video
}
}
Variables
{"url": "xyz789"}
Response
{
"data": {
"embed": {
"audio": "abc123",
"author": "abc123",
"date": "abc123",
"description": "xyz789",
"html": "abc123",
"image": "abc123",
"lang": "xyz789",
"publisher": "abc123",
"sources": ["abc123"],
"title": "abc123",
"type": "xyz789",
"url": "xyz789",
"video": "xyz789"
}
}
}
groupSearchResults
Response
Returns [groupSearchResults]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
filter - _groupSearchResultsFilter
|
|
first - Int
|
|
groupCount - Int
|
|
offset - Int
|
|
orderBy - [_groupSearchResultsOrdering]
|
Example
Query
query groupSearchResults(
$_id: String,
$filter: _groupSearchResultsFilter,
$first: Int,
$groupCount: Int,
$offset: Int,
$orderBy: [_groupSearchResultsOrdering]
) {
groupSearchResults(
_id: $_id,
filter: $filter,
first: $first,
groupCount: $groupCount,
offset: $offset,
orderBy: $orderBy
) {
_id
groupCount
groups {
...GroupFragment
}
}
}
Variables
{
"_id": "abc123",
"filter": _groupSearchResultsFilter,
"first": 123,
"groupCount": 987,
"offset": 123,
"orderBy": ["_id_asc"]
}
Response
{
"data": {
"groupSearchResults": [
{
"_id": "xyz789",
"groupCount": 987,
"groups": [Group]
}
]
}
}
hashtagSearchResults
Response
Returns [hashtagSearchResults]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
filter - _hashtagSearchResultsFilter
|
|
first - Int
|
|
hashtagCount - Int
|
|
offset - Int
|
|
orderBy - [_hashtagSearchResultsOrdering]
|
Example
Query
query hashtagSearchResults(
$_id: String,
$filter: _hashtagSearchResultsFilter,
$first: Int,
$hashtagCount: Int,
$offset: Int,
$orderBy: [_hashtagSearchResultsOrdering]
) {
hashtagSearchResults(
_id: $_id,
filter: $filter,
first: $first,
hashtagCount: $hashtagCount,
offset: $offset,
orderBy: $orderBy
) {
_id
hashtagCount
hashtags {
...TagFragment
}
}
}
Variables
{
"_id": "abc123",
"filter": _hashtagSearchResultsFilter,
"first": 987,
"hashtagCount": 123,
"offset": 123,
"orderBy": ["_id_asc"]
}
Response
{
"data": {
"hashtagSearchResults": [
{
"_id": "xyz789",
"hashtagCount": 123,
"hashtags": [Tag]
}
]
}
}
mutedUsers
Description
Users the current user has muted. Requires authentication.
Response
Returns [User]
Arguments
| Name | Description |
|---|---|
filter - _UserFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_UserOrdering]
|
Example
Query
query mutedUsers(
$filter: _UserFilter,
$first: Int,
$offset: Int,
$orderBy: [_UserOrdering]
) {
mutedUsers(
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy
) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{
"filter": _UserFilter,
"first": 123,
"offset": 123,
"orderBy": ["about_asc"]
}
Response
{
"data": {
"mutedUsers": [
{
"_id": "xyz789",
"about": "xyz789",
"activeCategories": ["abc123"],
"actorId": "abc123",
"allowEmbedIframes": true,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 123,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 987,
"badgeVerification": Badge,
"blocked": true,
"categories": [Category],
"commentedCount": 123,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 123,
"createdAt": "abc123",
"deleted": false,
"disabled": false,
"email": "abc123",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 987,
"followedByCurrentUser": false,
"following": [User],
"followingCount": 123,
"friends": [User],
"friendsCount": 123,
"id": 4,
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": true,
"isMuted": false,
"locale": "abc123",
"location": Location,
"locationName": "abc123",
"name": "xyz789",
"publicKey": "xyz789",
"redeemedInviteCode": InviteCode,
"roleName": "xyz789",
"shouted": [Post],
"shoutedCount": 987,
"showShoutsPublicly": true,
"slug": "xyz789",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "abc123",
"termsAndConditionsAgreedVersion": "abc123",
"updatedAt": "xyz789"
}
]
}
}
myApiKeys
Description
The requesting user's own API keys. Requires authentication and the apiKeysEnabled policy.
Response
Returns [ApiKey!]!
Example
Query
query myApiKeys {
myApiKeys {
createdAt
disabled
disabledAt
expiresAt
id
keyPrefix
lastUsedAt
name
owner {
...UserFragment
}
}
}
Response
{
"data": {
"myApiKeys": [
{
"createdAt": "xyz789",
"disabled": false,
"disabledAt": "abc123",
"expiresAt": "abc123",
"id": "4",
"keyPrefix": "xyz789",
"lastUsedAt": "abc123",
"name": "abc123",
"owner": User
}
]
}
}
myPermissions
Description
The current viewer's effective permissions, each carrying its catalog group — drives the webapp can() and group-based area gating.
Response
Returns [EffectivePermission!]!
Arguments
| Name | Description |
|---|---|
filter - _EffectivePermissionFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_EffectivePermissionOrdering]
|
Example
Query
query myPermissions(
$filter: _EffectivePermissionFilter,
$first: Int,
$offset: Int,
$orderBy: [_EffectivePermissionOrdering]
) {
myPermissions(
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy
) {
_id
group
key
}
}
Variables
{
"filter": _EffectivePermissionFilter,
"first": 987,
"offset": 987,
"orderBy": ["_id_asc"]
}
Response
{
"data": {
"myPermissions": [
{
"_id": "xyz789",
"group": "abc123",
"key": "abc123"
}
]
}
}
notifications
Description
The current user's notifications. Requires authentication.
Response
Returns [NOTIFIED]
Arguments
| Name | Description |
|---|---|
first - Int
|
|
offset - Int
|
|
orderBy - NotificationOrdering
|
|
read - Boolean
|
Example
Query
query notifications(
$first: Int,
$offset: Int,
$orderBy: NotificationOrdering,
$read: Boolean
) {
notifications(
first: $first,
offset: $offset,
orderBy: $orderBy,
read: $read
) {
createdAt
from {
... on Comment {
...CommentFragment
}
... on Group {
...GroupFragment
}
... on Post {
...PostFragment
}
}
id
read
reason
relatedUser {
...UserFragment
}
to {
...UserFragment
}
updatedAt
}
}
Variables
{"first": 987, "offset": 987, "orderBy": "createdAt_asc", "read": true}
Response
{
"data": {
"notifications": [
{
"createdAt": "xyz789",
"from": Comment,
"id": "4",
"read": false,
"reason": "changed_group_member_role",
"relatedUser": User,
"to": User,
"updatedAt": "abc123"
}
]
}
}
permissionCatalog
Description
The closed permission catalog (admin / role.manage).
Response
Returns [Permission!]!
Arguments
| Name | Description |
|---|---|
filter - _PermissionFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_PermissionOrdering]
|
Example
Query
query permissionCatalog(
$filter: _PermissionFilter,
$first: Int,
$offset: Int,
$orderBy: [_PermissionOrdering]
) {
permissionCatalog(
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy
) {
_id
available
description
gatedBy
group
key
}
}
Variables
{
"filter": _PermissionFilter,
"first": 987,
"offset": 987,
"orderBy": ["_id_asc"]
}
Response
{
"data": {
"permissionCatalog": [
{
"_id": "xyz789",
"available": true,
"description": "xyz789",
"gatedBy": "xyz789",
"group": "xyz789",
"key": "abc123"
}
]
}
}
policy
Description
The instance's network policy. Public — anonymous viewers (login/register screen) need it. Per-field visibility is enforced in the resolver: a viewer only receives the keys they may see.
Response
Returns a Policy!
Arguments
| Name | Description |
|---|---|
filter - _PolicyFilter
|
Example
Query
query policy($filter: _PolicyFilter) {
policy(filter: $filter) {
_id
apiKeysEnabled
apiKeysMaxPerUser
askForRealName
badgesEnabled
categoriesActive
inviteCodesGroupPerUser
inviteCodesPersonalPerUser
inviteLinkLimit
inviteRegistration
maxGroupPinnedPosts
maxPinnedPosts
publicRegistration
requireLocation
showContentFilterHeaderMenu
showContentFilterMasonryGrid
showGroupButtonInHeader
}
}
Variables
{"filter": _PolicyFilter}
Response
{
"data": {
"policy": {
"_id": "xyz789",
"apiKeysEnabled": false,
"apiKeysMaxPerUser": 987,
"askForRealName": false,
"badgesEnabled": false,
"categoriesActive": false,
"inviteCodesGroupPerUser": 987,
"inviteCodesPersonalPerUser": 123,
"inviteLinkLimit": 987,
"inviteRegistration": false,
"maxGroupPinnedPosts": 123,
"maxPinnedPosts": 987,
"publicRegistration": false,
"requireLocation": false,
"showContentFilterHeaderMenu": true,
"showContentFilterMasonryGrid": true,
"showGroupButtonInHeader": true
}
}
}
policyDefaults
Description
The configured policy defaults plus last-change audit info. Requires the policy.manage permission.
Response
Returns a PolicyDefaults!
Arguments
| Name | Description |
|---|---|
filter - _PolicyDefaultsFilter
|
Example
Query
query policyDefaults($filter: _PolicyDefaultsFilter) {
policyDefaults(filter: $filter) {
_id
defaults {
...PolicyFragment
}
lastChange {
...PolicyLastChangeFragment
}
}
}
Variables
{"filter": _PolicyDefaultsFilter}
Response
{
"data": {
"policyDefaults": {
"_id": "abc123",
"defaults": Policy,
"lastChange": PolicyLastChange
}
}
}
postSearchResults
Response
Returns [postSearchResults]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
filter - _postSearchResultsFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_postSearchResultsOrdering]
|
|
postCount - Int
|
Example
Query
query postSearchResults(
$_id: String,
$filter: _postSearchResultsFilter,
$first: Int,
$offset: Int,
$orderBy: [_postSearchResultsOrdering],
$postCount: Int
) {
postSearchResults(
_id: $_id,
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy,
postCount: $postCount
) {
_id
postCount
posts {
...PostFragment
}
}
}
Variables
{
"_id": "abc123",
"filter": _postSearchResultsFilter,
"first": 987,
"offset": 123,
"orderBy": ["_id_asc"],
"postCount": 123
}
Response
{
"data": {
"postSearchResults": [
{
"_id": "abc123",
"postCount": 987,
"posts": [Post]
}
]
}
}
profilePagePosts
Description
Posts for a user's profile page. Public.
Response
Returns [Post]
Arguments
| Name | Description |
|---|---|
filter - _PostFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_PostOrdering]
|
Example
Query
query profilePagePosts(
$filter: _PostFilter,
$first: Int,
$offset: Int,
$orderBy: [_PostOrdering]
) {
profilePagePosts(
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy
) {
_id
activityId
author {
...UserFragment
}
categories {
...CategoryFragment
}
clickedCount
comments {
...CommentFragment
}
commentsCount
content
createdAt
deleted
disabled
emotions {
..._PostEmotionsFragment
}
emotionsCount
eventEnd
eventIsOnline
eventLocation {
...LocationFragment
}
eventLocationName
eventStart
eventVenue
group {
...GroupFragment
}
groupPinned
id
image {
...ImageFragment
}
isObservedByMe
language
objectId
observingUsersCount
pinned
pinnedAt
pinnedBy {
...UserFragment
}
postType
relatedContributions {
...PostFragment
}
shoutedBy {
...UserFragment
}
shoutedByCurrentUser
shoutedCount
slug
sortDate
tags {
...TagFragment
}
title
unreadCommentNotificationsByCurrentUser {
...NOTIFIEDFragment
}
unreadNotificationByCurrentUser {
...NOTIFIEDFragment
}
updatedAt
viewedTeaserByCurrentUser
viewedTeaserCount
visibility
}
}
Variables
{
"filter": _PostFilter,
"first": 123,
"offset": 123,
"orderBy": ["content_asc"]
}
Response
{
"data": {
"profilePagePosts": [
{
"_id": "abc123",
"activityId": "xyz789",
"author": User,
"categories": [Category],
"clickedCount": 123,
"comments": [Comment],
"commentsCount": 987,
"content": "abc123",
"createdAt": "abc123",
"deleted": false,
"disabled": true,
"emotions": [_PostEmotions],
"emotionsCount": 987,
"eventEnd": "abc123",
"eventIsOnline": false,
"eventLocation": Location,
"eventLocationName": "abc123",
"eventStart": "abc123",
"eventVenue": "abc123",
"group": Group,
"groupPinned": true,
"id": "4",
"image": Image,
"isObservedByMe": false,
"language": "abc123",
"objectId": "xyz789",
"observingUsersCount": 123,
"pinned": true,
"pinnedAt": "xyz789",
"pinnedBy": User,
"postType": ["Article"],
"relatedContributions": [Post],
"shoutedBy": [User],
"shoutedByCurrentUser": false,
"shoutedCount": 123,
"slug": "abc123",
"sortDate": "xyz789",
"tags": [Tag],
"title": "xyz789",
"unreadCommentNotificationsByCurrentUser": [
NOTIFIED
],
"unreadNotificationByCurrentUser": NOTIFIED,
"updatedAt": "xyz789",
"viewedTeaserByCurrentUser": false,
"viewedTeaserCount": 123,
"visibility": "friends"
}
]
}
}
queryLocations
Description
Search for places via the MapBox geocoder, to attach a location to a profile, group or event. Public.
Response
Returns [LocationMapBox]!
Arguments
| Name | Description |
|---|---|
filter - _LocationMapBoxFilter
|
|
first - Int
|
|
lang - String!
|
|
offset - Int
|
|
orderBy - [_LocationMapBoxOrdering]
|
|
place - String!
|
|
types - String
|
Example
Query
query queryLocations(
$filter: _LocationMapBoxFilter,
$first: Int,
$lang: String!,
$offset: Int,
$orderBy: [_LocationMapBoxOrdering],
$place: String!,
$types: String
) {
queryLocations(
filter: $filter,
first: $first,
lang: $lang,
offset: $offset,
orderBy: $orderBy,
place: $place,
types: $types
) {
_id
id
place_name
}
}
Variables
{
"filter": _LocationMapBoxFilter,
"first": 123,
"lang": "abc123",
"offset": 987,
"orderBy": ["_id_asc"],
"place": "xyz789",
"types": "abc123"
}
Response
{
"data": {
"queryLocations": [
{
"_id": "xyz789",
"id": "4",
"place_name": "xyz789"
}
]
}
}
reports
Description
List moderation reports for the moderation queue. Requires the content.moderate permission.
Response
Returns [Report]
Arguments
| Name | Description |
|---|---|
closed - Boolean
|
Filter by whether the report is closed. |
first - Int
|
|
offset - Int
|
|
orderBy - ReportOrdering
|
|
reviewed - Boolean
|
Filter by whether the report has been reviewed. |
Example
Query
query reports(
$closed: Boolean,
$first: Int,
$offset: Int,
$orderBy: ReportOrdering,
$reviewed: Boolean
) {
reports(
closed: $closed,
first: $first,
offset: $offset,
orderBy: $orderBy,
reviewed: $reviewed
) {
closed
createdAt
disable
filed {
...FILEDFragment
}
id
resource {
... on Comment {
...CommentFragment
}
... on Post {
...PostFragment
}
... on User {
...UserFragment
}
}
reviewed {
...REVIEWEDFragment
}
rule
updatedAt
}
}
Variables
{
"closed": false,
"first": 987,
"offset": 123,
"orderBy": "createdAt_asc",
"reviewed": false
}
Response
{
"data": {
"reports": [
{
"closed": true,
"createdAt": "abc123",
"disable": false,
"filed": [FILED],
"id": 4,
"resource": Comment,
"reviewed": [REVIEWED],
"rule": "latestReviewUpdatedAtRules",
"updatedAt": "xyz789"
}
]
}
}
roles
Description
All roles with their permission bundles and member counts (role.manage).
Response
Returns [Role!]!
Arguments
| Name | Description |
|---|---|
filter - _RoleFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_RoleOrdering]
|
Example
Query
query roles(
$filter: _RoleFilter,
$first: Int,
$offset: Int,
$orderBy: [_RoleOrdering]
) {
roles(
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy
) {
_id
memberCount
name
permissions
protected
}
}
Variables
{
"filter": _RoleFilter,
"first": 987,
"offset": 987,
"orderBy": ["_id_asc"]
}
Response
{
"data": {
"roles": [
{
"_id": "abc123",
"memberCount": 123,
"name": "abc123",
"permissions": ["abc123"],
"protected": false
}
]
}
}
searchChatTargets
Description
Search for users and groups to start a chat with. Requires authentication.
Response
Returns [ChatTarget]!
Example
Query
query searchChatTargets(
$limit: Int,
$query: String!
) {
searchChatTargets(
limit: $limit,
query: $query
) {
... on Group {
...GroupFragment
}
... on User {
...UserFragment
}
}
}
Variables
{"limit": 10, "query": "xyz789"}
Response
{"data": {"searchChatTargets": [Group]}}
searchGroups
Description
Search groups by name/description. Public.
Response
Returns a groupSearchResults!
Arguments
| Name | Description |
|---|---|
filter - _groupSearchResultsFilter
|
|
firstGroups - Int
|
|
groupsOffset - Int
|
|
query - String!
|
Example
Query
query searchGroups(
$filter: _groupSearchResultsFilter,
$firstGroups: Int,
$groupsOffset: Int,
$query: String!
) {
searchGroups(
filter: $filter,
firstGroups: $firstGroups,
groupsOffset: $groupsOffset,
query: $query
) {
_id
groupCount
groups {
...GroupFragment
}
}
}
Variables
{
"filter": _groupSearchResultsFilter,
"firstGroups": 987,
"groupsOffset": 987,
"query": "xyz789"
}
Response
{
"data": {
"searchGroups": {
"_id": "abc123",
"groupCount": 123,
"groups": [Group]
}
}
}
searchPosts
Description
Search posts by title/content. Public.
Response
Returns a postSearchResults!
Arguments
| Name | Description |
|---|---|
filter - _postSearchResultsFilter
|
|
firstPosts - Int
|
|
postsOffset - Int
|
|
query - String!
|
Example
Query
query searchPosts(
$filter: _postSearchResultsFilter,
$firstPosts: Int,
$postsOffset: Int,
$query: String!
) {
searchPosts(
filter: $filter,
firstPosts: $firstPosts,
postsOffset: $postsOffset,
query: $query
) {
_id
postCount
posts {
...PostFragment
}
}
}
Variables
{
"filter": _postSearchResultsFilter,
"firstPosts": 123,
"postsOffset": 123,
"query": "abc123"
}
Response
{
"data": {
"searchPosts": {
"_id": "xyz789",
"postCount": 123,
"posts": [Post]
}
}
}
searchResults
Description
Combined search across posts, users, tags and groups, for the global search box. Public.
Response
Returns [SearchResult]!
Example
Query
query searchResults(
$limit: Int,
$query: String!
) {
searchResults(
limit: $limit,
query: $query
) {
... on Group {
...GroupFragment
}
... on Post {
...PostFragment
}
... on Tag {
...TagFragment
}
... on User {
...UserFragment
}
}
}
Variables
{"limit": 5, "query": "abc123"}
Response
{"data": {"searchResults": [Group]}}
searchUsers
Description
Search users by name/slug. Public.
Response
Returns a userSearchResults!
Arguments
| Name | Description |
|---|---|
filter - _userSearchResultsFilter
|
|
firstUsers - Int
|
|
query - String!
|
|
usersOffset - Int
|
Example
Query
query searchUsers(
$filter: _userSearchResultsFilter,
$firstUsers: Int,
$query: String!,
$usersOffset: Int
) {
searchUsers(
filter: $filter,
firstUsers: $firstUsers,
query: $query,
usersOffset: $usersOffset
) {
_id
userCount
users {
...UserFragment
}
}
}
Variables
{
"filter": _userSearchResultsFilter,
"firstUsers": 987,
"query": "xyz789",
"usersOffset": 123
}
Response
{
"data": {
"searchUsers": {
"_id": "abc123",
"userCount": 987,
"users": [User]
}
}
}
statistics
Description
Instance-wide usage counters. Requires the network.statistics.read permission.
Response
Returns a Statistics!
Example
Query
query statistics {
statistics {
badgesDisplayed
badgesRewarded
chatMessages
chatRooms
comments
emails
follows
groups
inviteCodes
inviteCodesExpired
inviteCodesRedeemed
invites
locations
notifications
posts
reports
shouts
tags
users
usersDeleted
usersVerified
}
}
Response
{
"data": {
"statistics": {
"badgesDisplayed": 987,
"badgesRewarded": 987,
"chatMessages": 987,
"chatRooms": 123,
"comments": 123,
"emails": 987,
"follows": 987,
"groups": 987,
"inviteCodes": 123,
"inviteCodesExpired": 123,
"inviteCodesRedeemed": 123,
"invites": 987,
"locations": 123,
"notifications": 123,
"posts": 987,
"reports": 987,
"shouts": 123,
"tags": 123,
"users": 987,
"usersDeleted": 987,
"usersVerified": 123
}
}
}
userData
Description
Fetch a user together with their posts. Defaults to the current user when no id is given. Requires authentication.
Response
Returns a UserData
Arguments
| Name | Description |
|---|---|
filter - _UserDataFilter
|
|
id - ID
|
Example
Query
query userData(
$filter: _UserDataFilter,
$id: ID
) {
userData(
filter: $filter,
id: $id
) {
_id
posts {
...PostFragment
}
user {
...UserFragment
}
}
}
Variables
{
"filter": _UserDataFilter,
"id": "4"
}
Response
{
"data": {
"userData": {
"_id": "xyz789",
"posts": [Post],
"user": User
}
}
}
userRoles
Description
The roles assigned to a specific user (role.manage) — for the admin UI.
Response
Returns [Role!]!
Arguments
| Name | Description |
|---|---|
filter - _RoleFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_RoleOrdering]
|
|
userId - ID!
|
Example
Query
query userRoles(
$filter: _RoleFilter,
$first: Int,
$offset: Int,
$orderBy: [_RoleOrdering],
$userId: ID!
) {
userRoles(
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy,
userId: $userId
) {
_id
memberCount
name
permissions
protected
}
}
Variables
{
"filter": _RoleFilter,
"first": 987,
"offset": 987,
"orderBy": ["_id_asc"],
"userId": 4
}
Response
{
"data": {
"userRoles": [
{
"_id": "abc123",
"memberCount": 987,
"name": "xyz789",
"permissions": ["xyz789"],
"protected": true
}
]
}
}
userSearchResults
Response
Returns [userSearchResults]
Arguments
| Name | Description |
|---|---|
_id - String
|
|
filter - _userSearchResultsFilter
|
|
first - Int
|
|
offset - Int
|
|
orderBy - [_userSearchResultsOrdering]
|
|
userCount - Int
|
Example
Query
query userSearchResults(
$_id: String,
$filter: _userSearchResultsFilter,
$first: Int,
$offset: Int,
$orderBy: [_userSearchResultsOrdering],
$userCount: Int
) {
userSearchResults(
_id: $_id,
filter: $filter,
first: $first,
offset: $offset,
orderBy: $orderBy,
userCount: $userCount
) {
_id
userCount
users {
...UserFragment
}
}
}
Variables
{
"_id": "abc123",
"filter": _userSearchResultsFilter,
"first": 987,
"offset": 123,
"orderBy": ["_id_asc"],
"userCount": 987
}
Response
{
"data": {
"userSearchResults": [
{
"_id": "xyz789",
"userCount": 987,
"users": [User]
}
]
}
}
validateInviteCode
Description
Look up an invite code and its validity, e.g. on the registration screen. Public.
Response
Returns an InviteCode
Arguments
| Name | Description |
|---|---|
code - String!
|
|
filter - _InviteCodeFilter
|
Example
Query
query validateInviteCode(
$code: String!,
$filter: _InviteCodeFilter
) {
validateInviteCode(
code: $code,
filter: $filter
) {
_id
code
comment
createdAt
expiresAt
generatedBy {
...UserFragment
}
invitedTo {
...GroupFragment
}
isValid
redeemedBy {
...UserFragment
}
redeemedByCount
}
}
Variables
{
"code": "abc123",
"filter": _InviteCodeFilter
}
Response
{
"data": {
"validateInviteCode": {
"_id": "abc123",
"code": "4",
"comment": "xyz789",
"createdAt": "xyz789",
"expiresAt": "abc123",
"generatedBy": User,
"invitedTo": Group,
"isValid": true,
"redeemedBy": [User],
"redeemedByCount": 123
}
}
}
videoCallConfig
Description
Whether video calls are enabled on this instance. Public.
Response
Returns a VideoCallConfig!
Example
Query
query videoCallConfig {
videoCallConfig {
enabled
}
}
Response
{"data": {"videoCallConfig": {"enabled": true}}}
videoCallParticipantCount
Description
Current number of participants in a group's video call. Requires authentication.
Mutations
AddEmailAddress
Description
Add a further email address to the current account, sending a verification nonce. Requires authentication.
Response
Returns an EmailAddress
Arguments
| Name | Description |
|---|---|
email - String!
|
Example
Query
mutation AddEmailAddress($email: String!) {
AddEmailAddress(email: $email) {
createdAt
email
verifiedAt
}
}
Variables
{"email": "abc123"}
Response
{
"data": {
"AddEmailAddress": {
"createdAt": "abc123",
"email": "4",
"verifiedAt": "xyz789"
}
}
}
AddPostEmotions
Description
Add the current user's emotional reaction to a post. Requires authentication.
Response
Returns an EMOTED
Arguments
| Name | Description |
|---|---|
data - _EMOTEDInput!
|
|
to - _PostInput!
|
Example
Query
mutation AddPostEmotions(
$data: _EMOTEDInput!,
$to: _PostInput!
) {
AddPostEmotions(
data: $data,
to: $to
) {
createdAt
emotion
from {
...UserFragment
}
to {
...PostFragment
}
updatedAt
}
}
Variables
{
"data": _EMOTEDInput,
"to": _PostInput
}
Response
{
"data": {
"AddPostEmotions": {
"createdAt": "xyz789",
"emotion": "angry",
"from": User,
"to": Post,
"updatedAt": "abc123"
}
}
}
ChangeGroupMemberRole
Description
Change a member's role in a group. Restricted to admins/owners, subject to the role hierarchy.
Response
Returns a GroupMember
Arguments
| Name | Description |
|---|---|
groupId - ID!
|
|
roleInGroup - GroupMemberRole!
|
|
userId - ID!
|
Example
Query
mutation ChangeGroupMemberRole(
$groupId: ID!,
$roleInGroup: GroupMemberRole!,
$userId: ID!
) {
ChangeGroupMemberRole(
groupId: $groupId,
roleInGroup: $roleInGroup,
userId: $userId
) {
_id
membership {
...MEMBER_OFFragment
}
user {
...UserFragment
}
}
}
Variables
{
"groupId": "4",
"roleInGroup": "admin",
"userId": 4
}
Response
{
"data": {
"ChangeGroupMemberRole": {
"_id": "xyz789",
"membership": MEMBER_OF,
"user": User
}
}
}
CreateComment
Description
Write a comment on a post. Requires authentication, the comment.create permission, and permission to comment on that post.
Example
Query
mutation CreateComment(
$content: String!,
$id: ID,
$postId: ID!
) {
CreateComment(
content: $content,
id: $id,
postId: $postId
) {
_id
activityId
author {
...UserFragment
}
content
createdAt
deleted
disabled
id
isPostObservedByMe
post {
...PostFragment
}
postObservingUsersCount
shoutedByCurrentUser
shoutedCount
updatedAt
}
}
Variables
{
"content": "abc123",
"id": "4",
"postId": "4"
}
Response
{
"data": {
"CreateComment": {
"_id": "xyz789",
"activityId": "abc123",
"author": User,
"content": "xyz789",
"createdAt": "abc123",
"deleted": true,
"disabled": true,
"id": "4",
"isPostObservedByMe": false,
"post": Post,
"postObservingUsersCount": 987,
"shoutedByCurrentUser": true,
"shoutedCount": 123,
"updatedAt": "abc123"
}
}
}
CreateGroup
Description
Create a group. Requires authentication and the group.create_<type> permission matching the chosen groupType.
Response
Returns a Group
Arguments
| Name | Description |
|---|---|
about - String
|
|
actionRadius - GroupActionRadius!
|
|
categoryIds - [ID]
|
|
description - String!
|
|
groupType - GroupType!
|
|
id - ID
|
|
locationName - String
|
Empty string '' clears the location (sets it to null). |
name - String!
|
|
slug - String
|
Example
Query
mutation CreateGroup(
$about: String,
$actionRadius: GroupActionRadius!,
$categoryIds: [ID],
$description: String!,
$groupType: GroupType!,
$id: ID,
$locationName: String,
$name: String!,
$slug: String
) {
CreateGroup(
about: $about,
actionRadius: $actionRadius,
categoryIds: $categoryIds,
description: $description,
groupType: $groupType,
id: $id,
locationName: $locationName,
name: $name,
slug: $slug
) {
about
actionRadius
avatar {
...ImageFragment
}
categories {
...CategoryFragment
}
createdAt
currentlyPinnedPostsCount
deleted
description
descriptionExcerpt
disabled
groupType
id
inviteCodes {
...InviteCodeFragment
}
isMutedByMe
location {
...LocationFragment
}
locationName
membersCount
myRole
name
posts {
...PostFragment
}
slug
updatedAt
}
}
Variables
{
"about": "xyz789",
"actionRadius": "continental",
"categoryIds": ["4"],
"description": "xyz789",
"groupType": "closed",
"id": 4,
"locationName": "xyz789",
"name": "abc123",
"slug": "abc123"
}
Response
{
"data": {
"CreateGroup": {
"about": "xyz789",
"actionRadius": "continental",
"avatar": Image,
"categories": [Category],
"createdAt": "xyz789",
"currentlyPinnedPostsCount": 987,
"deleted": false,
"description": "abc123",
"descriptionExcerpt": "abc123",
"disabled": false,
"groupType": "closed",
"id": 4,
"inviteCodes": [InviteCode],
"isMutedByMe": false,
"location": Location,
"locationName": "xyz789",
"membersCount": 123,
"myRole": "admin",
"name": "xyz789",
"posts": [Post],
"slug": "xyz789",
"updatedAt": "abc123"
}
}
}
CreateGroupRoom
Description
Create (or fetch) the chat room for a group. Requires authentication.
Example
Query
mutation CreateGroupRoom($groupId: ID!) {
CreateGroupRoom(groupId: $groupId) {
_id
avatar
createdAt
group {
...GroupFragment
}
id
isGroupRoom
lastMessage {
...MessageFragment
}
lastMessageAt
roomId
roomName
unreadCount
updatedAt
users {
...UserFragment
}
}
}
Variables
{"groupId": "4"}
Response
{
"data": {
"CreateGroupRoom": {
"_id": "xyz789",
"avatar": "xyz789",
"createdAt": "xyz789",
"group": Group,
"id": 4,
"isGroupRoom": false,
"lastMessage": Message,
"lastMessageAt": "abc123",
"roomId": "xyz789",
"roomName": "abc123",
"unreadCount": 987,
"updatedAt": "abc123",
"users": [User]
}
}
}
CreateMessage
Description
Send a message to a room (by roomId) or to a user (by userId, opening a direct room). Requires authentication.
Response
Returns a Message
Arguments
| Name | Description |
|---|---|
content - String
|
|
files - [FileInput]
|
|
roomId - ID
|
|
userId - ID
|
Example
Query
mutation CreateMessage(
$content: String,
$files: [FileInput],
$roomId: ID,
$userId: ID
) {
CreateMessage(
content: $content,
files: $files,
roomId: $roomId,
userId: $userId
) {
_id
author {
...UserFragment
}
avatar
content
createdAt
date
distributed
files {
...FileFragment
}
id
indexId
room {
...RoomFragment
}
saved
seen
senderId
updatedAt
username
}
}
Variables
{
"content": "xyz789",
"files": [FileInput],
"roomId": 4,
"userId": 4
}
Response
{
"data": {
"CreateMessage": {
"_id": "xyz789",
"author": User,
"avatar": "abc123",
"content": "xyz789",
"createdAt": "xyz789",
"date": "abc123",
"distributed": true,
"files": [File],
"id": 4,
"indexId": 123,
"room": Room,
"saved": false,
"seen": false,
"senderId": "abc123",
"updatedAt": "abc123",
"username": "abc123"
}
}
}
CreatePost
Description
Create a post. Requires authentication and the post.create permission; posting into a group additionally requires membership of that group.
Response
Returns a Post
Arguments
| Name | Description |
|---|---|
categoryIds - [ID]
|
|
content - String!
|
|
eventInput - _EventInput
|
Event details; required when postType is Event. |
groupId - ID
|
Post into this group; omit for a public/timeline post. |
id - ID
|
|
image - ImageInput
|
|
language - String
|
|
postType - PostType
|
Default = Article |
slug - String
|
|
title - String!
|
|
visibility - Visibility
|
Example
Query
mutation CreatePost(
$categoryIds: [ID],
$content: String!,
$eventInput: _EventInput,
$groupId: ID,
$id: ID,
$image: ImageInput,
$language: String,
$postType: PostType,
$slug: String,
$title: String!,
$visibility: Visibility
) {
CreatePost(
categoryIds: $categoryIds,
content: $content,
eventInput: $eventInput,
groupId: $groupId,
id: $id,
image: $image,
language: $language,
postType: $postType,
slug: $slug,
title: $title,
visibility: $visibility
) {
_id
activityId
author {
...UserFragment
}
categories {
...CategoryFragment
}
clickedCount
comments {
...CommentFragment
}
commentsCount
content
createdAt
deleted
disabled
emotions {
..._PostEmotionsFragment
}
emotionsCount
eventEnd
eventIsOnline
eventLocation {
...LocationFragment
}
eventLocationName
eventStart
eventVenue
group {
...GroupFragment
}
groupPinned
id
image {
...ImageFragment
}
isObservedByMe
language
objectId
observingUsersCount
pinned
pinnedAt
pinnedBy {
...UserFragment
}
postType
relatedContributions {
...PostFragment
}
shoutedBy {
...UserFragment
}
shoutedByCurrentUser
shoutedCount
slug
sortDate
tags {
...TagFragment
}
title
unreadCommentNotificationsByCurrentUser {
...NOTIFIEDFragment
}
unreadNotificationByCurrentUser {
...NOTIFIEDFragment
}
updatedAt
viewedTeaserByCurrentUser
viewedTeaserCount
visibility
}
}
Variables
{
"categoryIds": ["4"],
"content": "xyz789",
"eventInput": _EventInput,
"groupId": 4,
"id": "4",
"image": ImageInput,
"language": "abc123",
"postType": "Article",
"slug": "xyz789",
"title": "xyz789",
"visibility": "friends"
}
Response
{
"data": {
"CreatePost": {
"_id": "abc123",
"activityId": "abc123",
"author": User,
"categories": [Category],
"clickedCount": 123,
"comments": [Comment],
"commentsCount": 123,
"content": "xyz789",
"createdAt": "abc123",
"deleted": false,
"disabled": true,
"emotions": [_PostEmotions],
"emotionsCount": 987,
"eventEnd": "xyz789",
"eventIsOnline": true,
"eventLocation": Location,
"eventLocationName": "xyz789",
"eventStart": "xyz789",
"eventVenue": "abc123",
"group": Group,
"groupPinned": true,
"id": "4",
"image": Image,
"isObservedByMe": true,
"language": "xyz789",
"objectId": "abc123",
"observingUsersCount": 987,
"pinned": false,
"pinnedAt": "abc123",
"pinnedBy": User,
"postType": ["Article"],
"relatedContributions": [Post],
"shoutedBy": [User],
"shoutedByCurrentUser": false,
"shoutedCount": 987,
"slug": "abc123",
"sortDate": "xyz789",
"tags": [Tag],
"title": "xyz789",
"unreadCommentNotificationsByCurrentUser": [
NOTIFIED
],
"unreadNotificationByCurrentUser": NOTIFIED,
"updatedAt": "xyz789",
"viewedTeaserByCurrentUser": true,
"viewedTeaserCount": 987,
"visibility": "friends"
}
}
}
CreateSocialMedia
Description
Add a social-media link to your profile. Requires the socialMedia.create permission.
Response
Returns a SocialMedia
Example
Query
mutation CreateSocialMedia(
$id: ID,
$url: String!
) {
CreateSocialMedia(
id: $id,
url: $url
) {
id
ownedBy {
...UserFragment
}
url
}
}
Variables
{
"id": "4",
"url": "abc123"
}
Response
{
"data": {
"CreateSocialMedia": {
"id": "4",
"ownedBy": User,
"url": "xyz789"
}
}
}
DeleteComment
Description
Delete one of your own comments. Restricted to the author.
Example
Query
mutation DeleteComment($id: ID!) {
DeleteComment(id: $id) {
_id
activityId
author {
...UserFragment
}
content
createdAt
deleted
disabled
id
isPostObservedByMe
post {
...PostFragment
}
postObservingUsersCount
shoutedByCurrentUser
shoutedCount
updatedAt
}
}
Variables
{"id": "4"}
Response
{
"data": {
"DeleteComment": {
"_id": "abc123",
"activityId": "xyz789",
"author": User,
"content": "xyz789",
"createdAt": "abc123",
"deleted": false,
"disabled": false,
"id": "4",
"isPostObservedByMe": false,
"post": Post,
"postObservingUsersCount": 987,
"shoutedByCurrentUser": true,
"shoutedCount": 123,
"updatedAt": "abc123"
}
}
}
DeletePost
Description
Delete one of your own posts. Restricted to the author.
Example
Query
mutation DeletePost($id: ID!) {
DeletePost(id: $id) {
_id
activityId
author {
...UserFragment
}
categories {
...CategoryFragment
}
clickedCount
comments {
...CommentFragment
}
commentsCount
content
createdAt
deleted
disabled
emotions {
..._PostEmotionsFragment
}
emotionsCount
eventEnd
eventIsOnline
eventLocation {
...LocationFragment
}
eventLocationName
eventStart
eventVenue
group {
...GroupFragment
}
groupPinned
id
image {
...ImageFragment
}
isObservedByMe
language
objectId
observingUsersCount
pinned
pinnedAt
pinnedBy {
...UserFragment
}
postType
relatedContributions {
...PostFragment
}
shoutedBy {
...UserFragment
}
shoutedByCurrentUser
shoutedCount
slug
sortDate
tags {
...TagFragment
}
title
unreadCommentNotificationsByCurrentUser {
...NOTIFIEDFragment
}
unreadNotificationByCurrentUser {
...NOTIFIEDFragment
}
updatedAt
viewedTeaserByCurrentUser
viewedTeaserCount
visibility
}
}
Variables
{"id": 4}
Response
{
"data": {
"DeletePost": {
"_id": "xyz789",
"activityId": "abc123",
"author": User,
"categories": [Category],
"clickedCount": 987,
"comments": [Comment],
"commentsCount": 987,
"content": "xyz789",
"createdAt": "abc123",
"deleted": true,
"disabled": true,
"emotions": [_PostEmotions],
"emotionsCount": 987,
"eventEnd": "xyz789",
"eventIsOnline": true,
"eventLocation": Location,
"eventLocationName": "xyz789",
"eventStart": "xyz789",
"eventVenue": "abc123",
"group": Group,
"groupPinned": true,
"id": 4,
"image": Image,
"isObservedByMe": false,
"language": "abc123",
"objectId": "abc123",
"observingUsersCount": 123,
"pinned": false,
"pinnedAt": "xyz789",
"pinnedBy": User,
"postType": ["Article"],
"relatedContributions": [Post],
"shoutedBy": [User],
"shoutedByCurrentUser": true,
"shoutedCount": 123,
"slug": "xyz789",
"sortDate": "abc123",
"tags": [Tag],
"title": "xyz789",
"unreadCommentNotificationsByCurrentUser": [
NOTIFIED
],
"unreadNotificationByCurrentUser": NOTIFIED,
"updatedAt": "abc123",
"viewedTeaserByCurrentUser": false,
"viewedTeaserCount": 123,
"visibility": "friends"
}
}
}
DeleteSocialMedia
Description
Remove one of your own social-media links. Restricted to the owner.
Response
Returns a SocialMedia
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
mutation DeleteSocialMedia($id: ID!) {
DeleteSocialMedia(id: $id) {
id
ownedBy {
...UserFragment
}
url
}
}
Variables
{"id": "4"}
Response
{
"data": {
"DeleteSocialMedia": {
"id": "4",
"ownedBy": User,
"url": "xyz789"
}
}
}
DeleteUser
Description
Delete a user account. Allowed for the account owner, or with user.delete.any subject to the act-on hierarchy. Optionally also delete the user's posts and/or comments via resource.
Response
Returns a User
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
resource - [Deletable]
|
Example
Query
mutation DeleteUser(
$id: ID!,
$resource: [Deletable]
) {
DeleteUser(
id: $id,
resource: $resource
) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{"id": "4", "resource": ["Comment"]}
Response
{
"data": {
"DeleteUser": {
"_id": "xyz789",
"about": "abc123",
"activeCategories": ["abc123"],
"actorId": "xyz789",
"allowEmbedIframes": false,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 987,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 987,
"badgeVerification": Badge,
"blocked": true,
"categories": [Category],
"commentedCount": 123,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 123,
"createdAt": "abc123",
"deleted": true,
"disabled": true,
"email": "abc123",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 987,
"followedByCurrentUser": true,
"following": [User],
"followingCount": 123,
"friends": [User],
"friendsCount": 123,
"id": 4,
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": true,
"isMuted": false,
"locale": "xyz789",
"location": Location,
"locationName": "abc123",
"name": "xyz789",
"publicKey": "abc123",
"redeemedInviteCode": InviteCode,
"roleName": "xyz789",
"shouted": [Post],
"shoutedCount": 987,
"showShoutsPublicly": false,
"slug": "xyz789",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "abc123",
"termsAndConditionsAgreedVersion": "abc123",
"updatedAt": "abc123"
}
}
}
JoinGroup
Description
Join a group, or accept/approve a pending membership. Allowed per the group's join rules; joining on behalf of another user requires the appropriate rights.
Response
Returns a GroupMember
Example
Query
mutation JoinGroup(
$groupId: ID!,
$userId: ID!
) {
JoinGroup(
groupId: $groupId,
userId: $userId
) {
_id
membership {
...MEMBER_OFFragment
}
user {
...UserFragment
}
}
}
Variables
{"groupId": 4, "userId": "4"}
Response
{
"data": {
"JoinGroup": {
"_id": "xyz789",
"membership": MEMBER_OF,
"user": User
}
}
}
LeaveGroup
Description
Leave a group, or (for admins/owners) let a member leave.
Response
Returns a GroupMember
Example
Query
mutation LeaveGroup(
$groupId: ID!,
$userId: ID!
) {
LeaveGroup(
groupId: $groupId,
userId: $userId
) {
_id
membership {
...MEMBER_OFFragment
}
user {
...UserFragment
}
}
}
Variables
{"groupId": 4, "userId": "4"}
Response
{
"data": {
"LeaveGroup": {
"_id": "abc123",
"membership": MEMBER_OF,
"user": User
}
}
}
MarkMessagesAsSeen
Description
Mark the given messages as seen by the current user. Requires authentication.
RemovePostEmotions
Description
Remove the current user's emotional reaction from a post. Requires authentication.
Response
Returns an EMOTED
Arguments
| Name | Description |
|---|---|
data - _EMOTEDInput!
|
|
to - _PostInput!
|
Example
Query
mutation RemovePostEmotions(
$data: _EMOTEDInput!,
$to: _PostInput!
) {
RemovePostEmotions(
data: $data,
to: $to
) {
createdAt
emotion
from {
...UserFragment
}
to {
...PostFragment
}
updatedAt
}
}
Variables
{
"data": _EMOTEDInput,
"to": _PostInput
}
Response
{
"data": {
"RemovePostEmotions": {
"createdAt": "abc123",
"emotion": "angry",
"from": User,
"to": Post,
"updatedAt": "abc123"
}
}
}
RemoveUserFromGroup
Description
Remove a user from a group. Restricted to those allowed to manage the group's members.
Response
Returns a GroupMember
Example
Query
mutation RemoveUserFromGroup(
$groupId: ID!,
$userId: ID!
) {
RemoveUserFromGroup(
groupId: $groupId,
userId: $userId
) {
_id
membership {
...MEMBER_OFFragment
}
user {
...UserFragment
}
}
}
Variables
{"groupId": 4, "userId": "4"}
Response
{
"data": {
"RemoveUserFromGroup": {
"_id": "xyz789",
"membership": MEMBER_OF,
"user": User
}
}
}
Signup
Description
Begin registration for an email address, sending a verification nonce. Allowed when public or invite registration is enabled (or by an admin with role.manage); an inviteCode is required for invite-only registration.
Response
Returns an EmailAddress
Example
Query
mutation Signup(
$email: String!,
$inviteCode: String,
$locale: String!
) {
Signup(
email: $email,
inviteCode: $inviteCode,
locale: $locale
) {
createdAt
email
verifiedAt
}
}
Variables
{
"email": "xyz789",
"inviteCode": null,
"locale": "abc123"
}
Response
{
"data": {
"Signup": {
"createdAt": "abc123",
"email": "4",
"verifiedAt": "abc123"
}
}
}
SignupVerification
Description
Complete registration by confirming the nonce and creating the user account. Public.
Response
Returns a User
Example
Query
mutation SignupVerification(
$about: String,
$email: String!,
$inviteCode: String,
$locale: String,
$locationName: String,
$name: String!,
$nonce: String!,
$password: String!,
$slug: String,
$termsAndConditionsAgreedVersion: String!
) {
SignupVerification(
about: $about,
email: $email,
inviteCode: $inviteCode,
locale: $locale,
locationName: $locationName,
name: $name,
nonce: $nonce,
password: $password,
slug: $slug,
termsAndConditionsAgreedVersion: $termsAndConditionsAgreedVersion
) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{
"about": "abc123",
"email": "abc123",
"inviteCode": null,
"locale": "xyz789",
"locationName": null,
"name": "xyz789",
"nonce": "xyz789",
"password": "abc123",
"slug": "xyz789",
"termsAndConditionsAgreedVersion": "xyz789"
}
Response
{
"data": {
"SignupVerification": {
"_id": "abc123",
"about": "xyz789",
"activeCategories": ["xyz789"],
"actorId": "xyz789",
"allowEmbedIframes": true,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 987,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 987,
"badgeVerification": Badge,
"blocked": true,
"categories": [Category],
"commentedCount": 987,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 123,
"createdAt": "xyz789",
"deleted": false,
"disabled": true,
"email": "abc123",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 123,
"followedByCurrentUser": false,
"following": [User],
"followingCount": 987,
"friends": [User],
"friendsCount": 987,
"id": 4,
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": true,
"isMuted": true,
"locale": "abc123",
"location": Location,
"locationName": "abc123",
"name": "abc123",
"publicKey": "abc123",
"redeemedInviteCode": InviteCode,
"roleName": "abc123",
"shouted": [Post],
"shoutedCount": 987,
"showShoutsPublicly": true,
"slug": "abc123",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "xyz789",
"termsAndConditionsAgreedVersion": "abc123",
"updatedAt": "abc123"
}
}
}
UpdateComment
Description
Edit one of your own comments. Restricted to the author.
Example
Query
mutation UpdateComment(
$content: String!,
$id: ID!
) {
UpdateComment(
content: $content,
id: $id
) {
_id
activityId
author {
...UserFragment
}
content
createdAt
deleted
disabled
id
isPostObservedByMe
post {
...PostFragment
}
postObservingUsersCount
shoutedByCurrentUser
shoutedCount
updatedAt
}
}
Variables
{"content": "abc123", "id": 4}
Response
{
"data": {
"UpdateComment": {
"_id": "xyz789",
"activityId": "xyz789",
"author": User,
"content": "abc123",
"createdAt": "xyz789",
"deleted": false,
"disabled": true,
"id": 4,
"isPostObservedByMe": true,
"post": Post,
"postObservingUsersCount": 987,
"shoutedByCurrentUser": true,
"shoutedCount": 987,
"updatedAt": "xyz789"
}
}
}
UpdateDonations
Description
Update the donation campaign settings. Requires the donation.manage permission.
Response
Returns a Donations
Example
Query
mutation UpdateDonations(
$goal: Int,
$progress: Int,
$showDonations: Boolean
) {
UpdateDonations(
goal: $goal,
progress: $progress,
showDonations: $showDonations
) {
_id
createdAt
goal
id
progress
showDonations
updatedAt
}
}
Variables
{"goal": 123, "progress": 987, "showDonations": true}
Response
{
"data": {
"UpdateDonations": {
"_id": "abc123",
"createdAt": "xyz789",
"goal": 987,
"id": "4",
"progress": 987,
"showDonations": true,
"updatedAt": "xyz789"
}
}
}
UpdateGroup
Description
Update a group's settings. Restricted to admins/owners of the group.
Response
Returns a Group
Arguments
| Name | Description |
|---|---|
about - String
|
|
actionRadius - GroupActionRadius
|
|
avatar - ImageInput
|
|
categoryIds - [ID]
|
|
description - String
|
|
groupType - GroupType
|
|
id - ID!
|
|
locationName - String
|
Empty string '' clears the location (sets it to null). |
name - String
|
|
slug - String
|
Example
Query
mutation UpdateGroup(
$about: String,
$actionRadius: GroupActionRadius,
$avatar: ImageInput,
$categoryIds: [ID],
$description: String,
$groupType: GroupType,
$id: ID!,
$locationName: String,
$name: String,
$slug: String
) {
UpdateGroup(
about: $about,
actionRadius: $actionRadius,
avatar: $avatar,
categoryIds: $categoryIds,
description: $description,
groupType: $groupType,
id: $id,
locationName: $locationName,
name: $name,
slug: $slug
) {
about
actionRadius
avatar {
...ImageFragment
}
categories {
...CategoryFragment
}
createdAt
currentlyPinnedPostsCount
deleted
description
descriptionExcerpt
disabled
groupType
id
inviteCodes {
...InviteCodeFragment
}
isMutedByMe
location {
...LocationFragment
}
locationName
membersCount
myRole
name
posts {
...PostFragment
}
slug
updatedAt
}
}
Variables
{
"about": "xyz789",
"actionRadius": "continental",
"avatar": ImageInput,
"categoryIds": ["4"],
"description": "abc123",
"groupType": "closed",
"id": "4",
"locationName": "abc123",
"name": "abc123",
"slug": "xyz789"
}
Response
{
"data": {
"UpdateGroup": {
"about": "xyz789",
"actionRadius": "continental",
"avatar": Image,
"categories": [Category],
"createdAt": "xyz789",
"currentlyPinnedPostsCount": 123,
"deleted": false,
"description": "xyz789",
"descriptionExcerpt": "xyz789",
"disabled": false,
"groupType": "closed",
"id": "4",
"inviteCodes": [InviteCode],
"isMutedByMe": false,
"location": Location,
"locationName": "abc123",
"membersCount": 987,
"myRole": "admin",
"name": "xyz789",
"posts": [Post],
"slug": "xyz789",
"updatedAt": "abc123"
}
}
}
UpdatePost
Description
Update one of your own posts. Restricted to the author.
Response
Returns a Post
Arguments
| Name | Description |
|---|---|
categoryIds - [ID]
|
|
content - String!
|
|
eventInput - _EventInput
|
|
id - ID!
|
|
image - ImageInput
|
|
language - String
|
|
postType - PostType
|
|
slug - String
|
|
title - String!
|
|
visibility - Visibility
|
Example
Query
mutation UpdatePost(
$categoryIds: [ID],
$content: String!,
$eventInput: _EventInput,
$id: ID!,
$image: ImageInput,
$language: String,
$postType: PostType,
$slug: String,
$title: String!,
$visibility: Visibility
) {
UpdatePost(
categoryIds: $categoryIds,
content: $content,
eventInput: $eventInput,
id: $id,
image: $image,
language: $language,
postType: $postType,
slug: $slug,
title: $title,
visibility: $visibility
) {
_id
activityId
author {
...UserFragment
}
categories {
...CategoryFragment
}
clickedCount
comments {
...CommentFragment
}
commentsCount
content
createdAt
deleted
disabled
emotions {
..._PostEmotionsFragment
}
emotionsCount
eventEnd
eventIsOnline
eventLocation {
...LocationFragment
}
eventLocationName
eventStart
eventVenue
group {
...GroupFragment
}
groupPinned
id
image {
...ImageFragment
}
isObservedByMe
language
objectId
observingUsersCount
pinned
pinnedAt
pinnedBy {
...UserFragment
}
postType
relatedContributions {
...PostFragment
}
shoutedBy {
...UserFragment
}
shoutedByCurrentUser
shoutedCount
slug
sortDate
tags {
...TagFragment
}
title
unreadCommentNotificationsByCurrentUser {
...NOTIFIEDFragment
}
unreadNotificationByCurrentUser {
...NOTIFIEDFragment
}
updatedAt
viewedTeaserByCurrentUser
viewedTeaserCount
visibility
}
}
Variables
{
"categoryIds": ["4"],
"content": "abc123",
"eventInput": _EventInput,
"id": "4",
"image": ImageInput,
"language": "abc123",
"postType": "Article",
"slug": "abc123",
"title": "abc123",
"visibility": "friends"
}
Response
{
"data": {
"UpdatePost": {
"_id": "xyz789",
"activityId": "abc123",
"author": User,
"categories": [Category],
"clickedCount": 123,
"comments": [Comment],
"commentsCount": 123,
"content": "abc123",
"createdAt": "abc123",
"deleted": true,
"disabled": true,
"emotions": [_PostEmotions],
"emotionsCount": 987,
"eventEnd": "abc123",
"eventIsOnline": false,
"eventLocation": Location,
"eventLocationName": "xyz789",
"eventStart": "xyz789",
"eventVenue": "abc123",
"group": Group,
"groupPinned": false,
"id": 4,
"image": Image,
"isObservedByMe": false,
"language": "xyz789",
"objectId": "abc123",
"observingUsersCount": 123,
"pinned": true,
"pinnedAt": "abc123",
"pinnedBy": User,
"postType": ["Article"],
"relatedContributions": [Post],
"shoutedBy": [User],
"shoutedByCurrentUser": true,
"shoutedCount": 987,
"slug": "xyz789",
"sortDate": "abc123",
"tags": [Tag],
"title": "xyz789",
"unreadCommentNotificationsByCurrentUser": [
NOTIFIED
],
"unreadNotificationByCurrentUser": NOTIFIED,
"updatedAt": "abc123",
"viewedTeaserByCurrentUser": false,
"viewedTeaserCount": 987,
"visibility": "friends"
}
}
}
UpdateSocialMedia
Description
Update one of your own social-media links. Restricted to the owner.
Response
Returns a SocialMedia
Example
Query
mutation UpdateSocialMedia(
$id: ID!,
$url: String!
) {
UpdateSocialMedia(
id: $id,
url: $url
) {
id
ownedBy {
...UserFragment
}
url
}
}
Variables
{"id": 4, "url": "abc123"}
Response
{
"data": {
"UpdateSocialMedia": {
"id": 4,
"ownedBy": User,
"url": "abc123"
}
}
}
UpdateUser
Description
Update your own profile. Restricted to the account owner.
Response
Returns a User
Arguments
| Name | Description |
|---|---|
about - String
|
|
allowEmbedIframes - Boolean
|
|
avatar - ImageInput
|
|
email - String
|
|
emailNotificationSettings - [EmailNotificationSettingsInput]
|
|
id - ID!
|
|
locale - String
|
|
locationName - String
|
Empty string '' clears the location (sets it to null). |
name - String
|
|
showShoutsPublicly - Boolean
|
|
slug - String
|
|
termsAndConditionsAgreedAt - String
|
|
termsAndConditionsAgreedVersion - String
|
Example
Query
mutation UpdateUser(
$about: String,
$allowEmbedIframes: Boolean,
$avatar: ImageInput,
$email: String,
$emailNotificationSettings: [EmailNotificationSettingsInput],
$id: ID!,
$locale: String,
$locationName: String,
$name: String,
$showShoutsPublicly: Boolean,
$slug: String,
$termsAndConditionsAgreedAt: String,
$termsAndConditionsAgreedVersion: String
) {
UpdateUser(
about: $about,
allowEmbedIframes: $allowEmbedIframes,
avatar: $avatar,
email: $email,
emailNotificationSettings: $emailNotificationSettings,
id: $id,
locale: $locale,
locationName: $locationName,
name: $name,
showShoutsPublicly: $showShoutsPublicly,
slug: $slug,
termsAndConditionsAgreedAt: $termsAndConditionsAgreedAt,
termsAndConditionsAgreedVersion: $termsAndConditionsAgreedVersion
) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{
"about": "xyz789",
"allowEmbedIframes": true,
"avatar": ImageInput,
"email": "xyz789",
"emailNotificationSettings": [
EmailNotificationSettingsInput
],
"id": "4",
"locale": "xyz789",
"locationName": "abc123",
"name": "abc123",
"showShoutsPublicly": false,
"slug": "xyz789",
"termsAndConditionsAgreedAt": "abc123",
"termsAndConditionsAgreedVersion": "xyz789"
}
Response
{
"data": {
"UpdateUser": {
"_id": "xyz789",
"about": "abc123",
"activeCategories": ["xyz789"],
"actorId": "xyz789",
"allowEmbedIframes": true,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 987,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 123,
"badgeVerification": Badge,
"blocked": false,
"categories": [Category],
"commentedCount": 123,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 987,
"createdAt": "xyz789",
"deleted": true,
"disabled": true,
"email": "abc123",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 987,
"followedByCurrentUser": false,
"following": [User],
"followingCount": 123,
"friends": [User],
"friendsCount": 123,
"id": "4",
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": true,
"isMuted": false,
"locale": "abc123",
"location": Location,
"locationName": "xyz789",
"name": "xyz789",
"publicKey": "xyz789",
"redeemedInviteCode": InviteCode,
"roleName": "abc123",
"shouted": [Post],
"shoutedCount": 123,
"showShoutsPublicly": true,
"slug": "xyz789",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "abc123",
"termsAndConditionsAgreedVersion": "xyz789",
"updatedAt": "abc123"
}
}
}
VerifyEmailAddress
Description
Confirm a pending email address via its nonce. Requires authentication.
Response
Returns an EmailAddress
Example
Query
mutation VerifyEmailAddress(
$email: String!,
$nonce: String!
) {
VerifyEmailAddress(
email: $email,
nonce: $nonce
) {
createdAt
email
verifiedAt
}
}
Variables
{
"email": "abc123",
"nonce": "abc123"
}
Response
{
"data": {
"VerifyEmailAddress": {
"createdAt": "abc123",
"email": "4",
"verifiedAt": "abc123"
}
}
}
adminRevokeApiKey
Description
Revoke any user's API key (administration). Requires the apiKey.administer permission.
adminRevokeUserApiKeys
Description
Revoke all of a user's API keys and return how many were revoked. Requires the apiKey.administer permission.
blockUser
Description
Block a user, cutting off interaction in both directions. Requires authentication.
Example
Query
mutation blockUser($id: ID!) {
blockUser(id: $id) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"blockUser": {
"_id": "abc123",
"about": "xyz789",
"activeCategories": ["xyz789"],
"actorId": "xyz789",
"allowEmbedIframes": false,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 123,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 987,
"badgeVerification": Badge,
"blocked": true,
"categories": [Category],
"commentedCount": 987,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 123,
"createdAt": "abc123",
"deleted": false,
"disabled": true,
"email": "xyz789",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 987,
"followedByCurrentUser": false,
"following": [User],
"followingCount": 123,
"friends": [User],
"friendsCount": 123,
"id": "4",
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": false,
"isMuted": true,
"locale": "xyz789",
"location": Location,
"locationName": "xyz789",
"name": "abc123",
"publicKey": "abc123",
"redeemedInviteCode": InviteCode,
"roleName": "xyz789",
"shouted": [Post],
"shoutedCount": 987,
"showShoutsPublicly": true,
"slug": "abc123",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "abc123",
"termsAndConditionsAgreedVersion": "xyz789",
"updatedAt": "xyz789"
}
}
}
changePassword
Description
Change the current user's password. Requires authentication.
Example
Query
mutation changePassword(
$newPassword: String!,
$oldPassword: String!
) {
changePassword(
newPassword: $newPassword,
oldPassword: $oldPassword
)
}
Variables
{
"newPassword": "abc123",
"oldPassword": "xyz789"
}
Response
{"data": {"changePassword": "xyz789"}}
createApiKey
Description
Create a new API key and return its secret (shown only here). Requires the apiKey.create permission (gated by the apiKeysEnabled policy).
Response
Returns an ApiKeyWithSecret!
Example
Query
mutation createApiKey(
$expiresInDays: Int,
$name: String!
) {
createApiKey(
expiresInDays: $expiresInDays,
name: $name
) {
apiKey {
...ApiKeyFragment
}
secret
}
}
Variables
{"expiresInDays": 123, "name": "abc123"}
Response
{
"data": {
"createApiKey": {
"apiKey": ApiKey,
"secret": "abc123"
}
}
}
createRole
Description
Create a new role with the given permission bundle. Requires the role.manage permission.
Response
Returns a Role!
Arguments
| Name | Description |
|---|---|
name - String!
|
|
permissions - [String!]!
|
Example
Query
mutation createRole(
$name: String!,
$permissions: [String!]!
) {
createRole(
name: $name,
permissions: $permissions
) {
_id
memberCount
name
permissions
protected
}
}
Variables
{
"name": "abc123",
"permissions": ["abc123"]
}
Response
{
"data": {
"createRole": {
"_id": "abc123",
"memberCount": 987,
"name": "abc123",
"permissions": ["abc123"],
"protected": true
}
}
}
deleteRole
Description
Delete a role. Returns the deleted role's name (the input name echoed back on success). Requires the role.manage permission.
disableUser
Description
Reversibly deactivate (disable: true) or reactivate (disable: false) a user account. Moderator-grade, subject to the act-on hierarchy.
Example
Query
mutation disableUser(
$disable: Boolean!,
$id: ID!
) {
disableUser(
disable: $disable,
id: $id
) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{"disable": false, "id": 4}
Response
{
"data": {
"disableUser": {
"_id": "xyz789",
"about": "abc123",
"activeCategories": ["abc123"],
"actorId": "xyz789",
"allowEmbedIframes": true,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 987,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 123,
"badgeVerification": Badge,
"blocked": false,
"categories": [Category],
"commentedCount": 987,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 987,
"createdAt": "abc123",
"deleted": true,
"disabled": true,
"email": "xyz789",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 123,
"followedByCurrentUser": true,
"following": [User],
"followingCount": 987,
"friends": [User],
"friendsCount": 123,
"id": "4",
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": true,
"isMuted": true,
"locale": "abc123",
"location": Location,
"locationName": "xyz789",
"name": "xyz789",
"publicKey": "xyz789",
"redeemedInviteCode": InviteCode,
"roleName": "abc123",
"shouted": [Post],
"shoutedCount": 123,
"showShoutsPublicly": true,
"slug": "abc123",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "abc123",
"termsAndConditionsAgreedVersion": "abc123",
"updatedAt": "abc123"
}
}
}
fileReport
Description
File a moderation report against a user, post or comment. Requires authentication.
Response
Returns a FiledReport
Arguments
| Name | Description |
|---|---|
reasonCategory - ReasonCategory!
|
|
reasonDescription - String!
|
|
resourceId - ID!
|
Example
Query
mutation fileReport(
$reasonCategory: ReasonCategory!,
$reasonDescription: String!,
$resourceId: ID!
) {
fileReport(
reasonCategory: $reasonCategory,
reasonDescription: $reasonDescription,
resourceId: $resourceId
) {
_id
createdAt
reasonCategory
reasonDescription
reportId
resource {
... on Comment {
...CommentFragment
}
... on Post {
...PostFragment
}
... on User {
...UserFragment
}
}
}
}
Variables
{
"reasonCategory": "advert_products_services_commercial",
"reasonDescription": "abc123",
"resourceId": "4"
}
Response
{
"data": {
"fileReport": {
"_id": "xyz789",
"createdAt": "abc123",
"reasonCategory": "advert_products_services_commercial",
"reasonDescription": "xyz789",
"reportId": "4",
"resource": Comment
}
}
}
followUser
Description
Follow a user. Requires authentication.
Example
Query
mutation followUser($id: ID!) {
followUser(id: $id) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{"id": "4"}
Response
{
"data": {
"followUser": {
"_id": "xyz789",
"about": "abc123",
"activeCategories": ["abc123"],
"actorId": "abc123",
"allowEmbedIframes": false,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 987,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 987,
"badgeVerification": Badge,
"blocked": false,
"categories": [Category],
"commentedCount": 123,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 987,
"createdAt": "abc123",
"deleted": false,
"disabled": false,
"email": "abc123",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 987,
"followedByCurrentUser": false,
"following": [User],
"followingCount": 987,
"friends": [User],
"friendsCount": 987,
"id": 4,
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": true,
"isMuted": false,
"locale": "abc123",
"location": Location,
"locationName": "xyz789",
"name": "xyz789",
"publicKey": "abc123",
"redeemedInviteCode": InviteCode,
"roleName": "xyz789",
"shouted": [Post],
"shoutedCount": 123,
"showShoutsPublicly": false,
"slug": "xyz789",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "abc123",
"termsAndConditionsAgreedVersion": "abc123",
"updatedAt": "xyz789"
}
}
}
generateGroupInviteCode
Description
Issue an invite code granting membership in a group. Restricted to admins/owners of that group.
Response
Returns an InviteCode!
Example
Query
mutation generateGroupInviteCode(
$comment: String,
$expiresAt: String,
$groupId: ID!
) {
generateGroupInviteCode(
comment: $comment,
expiresAt: $expiresAt,
groupId: $groupId
) {
_id
code
comment
createdAt
expiresAt
generatedBy {
...UserFragment
}
invitedTo {
...GroupFragment
}
isValid
redeemedBy {
...UserFragment
}
redeemedByCount
}
}
Variables
{"comment": null, "expiresAt": null, "groupId": 4}
Response
{
"data": {
"generateGroupInviteCode": {
"_id": "xyz789",
"code": "4",
"comment": "xyz789",
"createdAt": "abc123",
"expiresAt": "xyz789",
"generatedBy": User,
"invitedTo": Group,
"isValid": true,
"redeemedBy": [User],
"redeemedByCount": 123
}
}
}
generatePersonalInviteCode
Description
Issue a personal invite code for registering new users. Requires authentication and the user.invite permission.
Response
Returns an InviteCode!
Example
Query
mutation generatePersonalInviteCode(
$comment: String,
$expiresAt: String
) {
generatePersonalInviteCode(
comment: $comment,
expiresAt: $expiresAt
) {
_id
code
comment
createdAt
expiresAt
generatedBy {
...UserFragment
}
invitedTo {
...GroupFragment
}
isValid
redeemedBy {
...UserFragment
}
redeemedByCount
}
}
Variables
{"comment": null, "expiresAt": null}
Response
{
"data": {
"generatePersonalInviteCode": {
"_id": "abc123",
"code": 4,
"comment": "abc123",
"createdAt": "abc123",
"expiresAt": "abc123",
"generatedBy": User,
"invitedTo": Group,
"isValid": true,
"redeemedBy": [User],
"redeemedByCount": 123
}
}
}
invalidateInviteCode
Description
Invalidate one of your invite codes so it can no longer be redeemed. Requires authentication.
Response
Returns an InviteCode
Arguments
| Name | Description |
|---|---|
code - String!
|
Example
Query
mutation invalidateInviteCode($code: String!) {
invalidateInviteCode(code: $code) {
_id
code
comment
createdAt
expiresAt
generatedBy {
...UserFragment
}
invitedTo {
...GroupFragment
}
isValid
redeemedBy {
...UserFragment
}
redeemedByCount
}
}
Variables
{"code": "xyz789"}
Response
{
"data": {
"invalidateInviteCode": {
"_id": "xyz789",
"code": "4",
"comment": "xyz789",
"createdAt": "abc123",
"expiresAt": "xyz789",
"generatedBy": User,
"invitedTo": Group,
"isValid": true,
"redeemedBy": [User],
"redeemedByCount": 123
}
}
}
joinGroupVideoCall
Description
Join a group's video call, returning the credentials to connect. Requires authentication.
Response
Returns a VideoCallJoinPayload!
Arguments
| Name | Description |
|---|---|
groupId - ID!
|
Example
Query
mutation joinGroupVideoCall($groupId: ID!) {
joinGroupVideoCall(groupId: $groupId) {
roomName
token
url
}
}
Variables
{"groupId": "4"}
Response
{
"data": {
"joinGroupVideoCall": {
"roomName": "xyz789",
"token": "abc123",
"url": "xyz789"
}
}
}
login
Description
Get a JWT Token for the given Email and password
markAllAsRead
Description
Mark all of the current user's notifications as read. Requires authentication.
Response
Returns [NOTIFIED]
Example
Query
mutation markAllAsRead {
markAllAsRead {
createdAt
from {
... on Comment {
...CommentFragment
}
... on Group {
...GroupFragment
}
... on Post {
...PostFragment
}
}
id
read
reason
relatedUser {
...UserFragment
}
to {
...UserFragment
}
updatedAt
}
}
Response
{
"data": {
"markAllAsRead": [
{
"createdAt": "abc123",
"from": Comment,
"id": 4,
"read": false,
"reason": "changed_group_member_role",
"relatedUser": User,
"to": User,
"updatedAt": "abc123"
}
]
}
}
markAsRead
Description
Mark a notification as read. Requires authentication.
Example
Query
mutation markAsRead($id: ID!) {
markAsRead(id: $id) {
createdAt
from {
... on Comment {
...CommentFragment
}
... on Group {
...GroupFragment
}
... on Post {
...PostFragment
}
}
id
read
reason
relatedUser {
...UserFragment
}
to {
...UserFragment
}
updatedAt
}
}
Variables
{"id": "4"}
Response
{
"data": {
"markAsRead": {
"createdAt": "xyz789",
"from": Comment,
"id": 4,
"read": false,
"reason": "changed_group_member_role",
"relatedUser": User,
"to": User,
"updatedAt": "xyz789"
}
}
}
markAsUnread
Description
Mark a notification as unread. Requires authentication.
Example
Query
mutation markAsUnread($id: ID!) {
markAsUnread(id: $id) {
createdAt
from {
... on Comment {
...CommentFragment
}
... on Group {
...GroupFragment
}
... on Post {
...PostFragment
}
}
id
read
reason
relatedUser {
...UserFragment
}
to {
...UserFragment
}
updatedAt
}
}
Variables
{"id": "4"}
Response
{
"data": {
"markAsUnread": {
"createdAt": "xyz789",
"from": Comment,
"id": "4",
"read": true,
"reason": "changed_group_member_role",
"relatedUser": User,
"to": User,
"updatedAt": "abc123"
}
}
}
muteGroup
Description
Mute a group so its posts no longer appear in the current user's feed. Requires membership.
Example
Query
mutation muteGroup($groupId: ID!) {
muteGroup(groupId: $groupId) {
about
actionRadius
avatar {
...ImageFragment
}
categories {
...CategoryFragment
}
createdAt
currentlyPinnedPostsCount
deleted
description
descriptionExcerpt
disabled
groupType
id
inviteCodes {
...InviteCodeFragment
}
isMutedByMe
location {
...LocationFragment
}
locationName
membersCount
myRole
name
posts {
...PostFragment
}
slug
updatedAt
}
}
Variables
{"groupId": 4}
Response
{
"data": {
"muteGroup": {
"about": "abc123",
"actionRadius": "continental",
"avatar": Image,
"categories": [Category],
"createdAt": "xyz789",
"currentlyPinnedPostsCount": 987,
"deleted": false,
"description": "abc123",
"descriptionExcerpt": "xyz789",
"disabled": false,
"groupType": "closed",
"id": 4,
"inviteCodes": [InviteCode],
"isMutedByMe": true,
"location": Location,
"locationName": "abc123",
"membersCount": 123,
"myRole": "admin",
"name": "abc123",
"posts": [Post],
"slug": "xyz789",
"updatedAt": "xyz789"
}
}
}
muteUser
Description
Mute a user, hiding their content from the current user. Requires authentication.
Example
Query
mutation muteUser($id: ID!) {
muteUser(id: $id) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{"id": "4"}
Response
{
"data": {
"muteUser": {
"_id": "xyz789",
"about": "xyz789",
"activeCategories": ["abc123"],
"actorId": "abc123",
"allowEmbedIframes": true,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 123,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 987,
"badgeVerification": Badge,
"blocked": false,
"categories": [Category],
"commentedCount": 987,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 123,
"createdAt": "xyz789",
"deleted": true,
"disabled": true,
"email": "abc123",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 123,
"followedByCurrentUser": false,
"following": [User],
"followingCount": 123,
"friends": [User],
"friendsCount": 987,
"id": "4",
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": true,
"isMuted": false,
"locale": "abc123",
"location": Location,
"locationName": "xyz789",
"name": "xyz789",
"publicKey": "abc123",
"redeemedInviteCode": InviteCode,
"roleName": "xyz789",
"shouted": [Post],
"shoutedCount": 123,
"showShoutsPublicly": true,
"slug": "abc123",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "abc123",
"termsAndConditionsAgreedVersion": "abc123",
"updatedAt": "abc123"
}
}
}
pinGroupPost
Description
Pin a post within its group. Restricted to those allowed to pin in that group.
Example
Query
mutation pinGroupPost($id: ID!) {
pinGroupPost(id: $id) {
_id
activityId
author {
...UserFragment
}
categories {
...CategoryFragment
}
clickedCount
comments {
...CommentFragment
}
commentsCount
content
createdAt
deleted
disabled
emotions {
..._PostEmotionsFragment
}
emotionsCount
eventEnd
eventIsOnline
eventLocation {
...LocationFragment
}
eventLocationName
eventStart
eventVenue
group {
...GroupFragment
}
groupPinned
id
image {
...ImageFragment
}
isObservedByMe
language
objectId
observingUsersCount
pinned
pinnedAt
pinnedBy {
...UserFragment
}
postType
relatedContributions {
...PostFragment
}
shoutedBy {
...UserFragment
}
shoutedByCurrentUser
shoutedCount
slug
sortDate
tags {
...TagFragment
}
title
unreadCommentNotificationsByCurrentUser {
...NOTIFIEDFragment
}
unreadNotificationByCurrentUser {
...NOTIFIEDFragment
}
updatedAt
viewedTeaserByCurrentUser
viewedTeaserCount
visibility
}
}
Variables
{"id": "4"}
Response
{
"data": {
"pinGroupPost": {
"_id": "xyz789",
"activityId": "xyz789",
"author": User,
"categories": [Category],
"clickedCount": 987,
"comments": [Comment],
"commentsCount": 123,
"content": "xyz789",
"createdAt": "xyz789",
"deleted": true,
"disabled": true,
"emotions": [_PostEmotions],
"emotionsCount": 123,
"eventEnd": "abc123",
"eventIsOnline": false,
"eventLocation": Location,
"eventLocationName": "xyz789",
"eventStart": "xyz789",
"eventVenue": "xyz789",
"group": Group,
"groupPinned": false,
"id": "4",
"image": Image,
"isObservedByMe": false,
"language": "xyz789",
"objectId": "abc123",
"observingUsersCount": 987,
"pinned": false,
"pinnedAt": "xyz789",
"pinnedBy": User,
"postType": ["Article"],
"relatedContributions": [Post],
"shoutedBy": [User],
"shoutedByCurrentUser": true,
"shoutedCount": 123,
"slug": "xyz789",
"sortDate": "abc123",
"tags": [Tag],
"title": "abc123",
"unreadCommentNotificationsByCurrentUser": [
NOTIFIED
],
"unreadNotificationByCurrentUser": NOTIFIED,
"updatedAt": "abc123",
"viewedTeaserByCurrentUser": false,
"viewedTeaserCount": 987,
"visibility": "friends"
}
}
}
pinPost
Description
Pin a post instance-wide. Requires the post.pin permission.
Example
Query
mutation pinPost($id: ID!) {
pinPost(id: $id) {
_id
activityId
author {
...UserFragment
}
categories {
...CategoryFragment
}
clickedCount
comments {
...CommentFragment
}
commentsCount
content
createdAt
deleted
disabled
emotions {
..._PostEmotionsFragment
}
emotionsCount
eventEnd
eventIsOnline
eventLocation {
...LocationFragment
}
eventLocationName
eventStart
eventVenue
group {
...GroupFragment
}
groupPinned
id
image {
...ImageFragment
}
isObservedByMe
language
objectId
observingUsersCount
pinned
pinnedAt
pinnedBy {
...UserFragment
}
postType
relatedContributions {
...PostFragment
}
shoutedBy {
...UserFragment
}
shoutedByCurrentUser
shoutedCount
slug
sortDate
tags {
...TagFragment
}
title
unreadCommentNotificationsByCurrentUser {
...NOTIFIEDFragment
}
unreadNotificationByCurrentUser {
...NOTIFIEDFragment
}
updatedAt
viewedTeaserByCurrentUser
viewedTeaserCount
visibility
}
}
Variables
{"id": 4}
Response
{
"data": {
"pinPost": {
"_id": "abc123",
"activityId": "abc123",
"author": User,
"categories": [Category],
"clickedCount": 987,
"comments": [Comment],
"commentsCount": 123,
"content": "xyz789",
"createdAt": "xyz789",
"deleted": true,
"disabled": true,
"emotions": [_PostEmotions],
"emotionsCount": 987,
"eventEnd": "abc123",
"eventIsOnline": false,
"eventLocation": Location,
"eventLocationName": "abc123",
"eventStart": "abc123",
"eventVenue": "xyz789",
"group": Group,
"groupPinned": true,
"id": "4",
"image": Image,
"isObservedByMe": false,
"language": "abc123",
"objectId": "xyz789",
"observingUsersCount": 123,
"pinned": false,
"pinnedAt": "abc123",
"pinnedBy": User,
"postType": ["Article"],
"relatedContributions": [Post],
"shoutedBy": [User],
"shoutedByCurrentUser": true,
"shoutedCount": 123,
"slug": "xyz789",
"sortDate": "xyz789",
"tags": [Tag],
"title": "xyz789",
"unreadCommentNotificationsByCurrentUser": [
NOTIFIED
],
"unreadNotificationByCurrentUser": NOTIFIED,
"updatedAt": "xyz789",
"viewedTeaserByCurrentUser": false,
"viewedTeaserCount": 987,
"visibility": "friends"
}
}
}
pushPost
Description
Push (boost) a post to the top of feeds. Requires the post.push permission.
Example
Query
mutation pushPost($id: ID!) {
pushPost(id: $id) {
_id
activityId
author {
...UserFragment
}
categories {
...CategoryFragment
}
clickedCount
comments {
...CommentFragment
}
commentsCount
content
createdAt
deleted
disabled
emotions {
..._PostEmotionsFragment
}
emotionsCount
eventEnd
eventIsOnline
eventLocation {
...LocationFragment
}
eventLocationName
eventStart
eventVenue
group {
...GroupFragment
}
groupPinned
id
image {
...ImageFragment
}
isObservedByMe
language
objectId
observingUsersCount
pinned
pinnedAt
pinnedBy {
...UserFragment
}
postType
relatedContributions {
...PostFragment
}
shoutedBy {
...UserFragment
}
shoutedByCurrentUser
shoutedCount
slug
sortDate
tags {
...TagFragment
}
title
unreadCommentNotificationsByCurrentUser {
...NOTIFIEDFragment
}
unreadNotificationByCurrentUser {
...NOTIFIEDFragment
}
updatedAt
viewedTeaserByCurrentUser
viewedTeaserCount
visibility
}
}
Variables
{"id": 4}
Response
{
"data": {
"pushPost": {
"_id": "xyz789",
"activityId": "xyz789",
"author": User,
"categories": [Category],
"clickedCount": 123,
"comments": [Comment],
"commentsCount": 123,
"content": "xyz789",
"createdAt": "abc123",
"deleted": true,
"disabled": false,
"emotions": [_PostEmotions],
"emotionsCount": 123,
"eventEnd": "abc123",
"eventIsOnline": false,
"eventLocation": Location,
"eventLocationName": "abc123",
"eventStart": "abc123",
"eventVenue": "abc123",
"group": Group,
"groupPinned": false,
"id": "4",
"image": Image,
"isObservedByMe": false,
"language": "xyz789",
"objectId": "abc123",
"observingUsersCount": 987,
"pinned": true,
"pinnedAt": "xyz789",
"pinnedBy": User,
"postType": ["Article"],
"relatedContributions": [Post],
"shoutedBy": [User],
"shoutedByCurrentUser": false,
"shoutedCount": 987,
"slug": "xyz789",
"sortDate": "xyz789",
"tags": [Tag],
"title": "abc123",
"unreadCommentNotificationsByCurrentUser": [
NOTIFIED
],
"unreadNotificationByCurrentUser": NOTIFIED,
"updatedAt": "abc123",
"viewedTeaserByCurrentUser": false,
"viewedTeaserCount": 987,
"visibility": "friends"
}
}
}
redeemInviteCode
Description
Redeem an invite code for the current user (registration and/or group membership). Requires authentication.
requestPasswordReset
Description
Request a password-reset email for the given address. Public.
Example
Query
mutation requestPasswordReset(
$email: String!,
$locale: String!
) {
requestPasswordReset(
email: $email,
locale: $locale
)
}
Variables
{
"email": "abc123",
"locale": "xyz789"
}
Response
{"data": {"requestPasswordReset": false}}
resetPassword
Description
Reset a password using the nonce from the reset email. Public.
Response
Returns a Boolean!
Example
Query
mutation resetPassword(
$email: String!,
$newPassword: String!,
$nonce: String!
) {
resetPassword(
email: $email,
newPassword: $newPassword,
nonce: $nonce
)
}
Variables
{
"email": "xyz789",
"newPassword": "xyz789",
"nonce": "xyz789"
}
Response
{"data": {"resetPassword": true}}
resetPolicy
Description
Reset a single policy key to its configured default. Requires the policy.manage permission.
Response
Returns a PolicyChangeEvent!
Arguments
| Name | Description |
|---|---|
key - PolicyKey!
|
Example
Query
mutation resetPolicy($key: PolicyKey!) {
resetPolicy(key: $key) {
_id
actor
key
timestamp
value
}
}
Variables
{"key": "apiKeysEnabled"}
Response
{
"data": {
"resetPolicy": {
"_id": "xyz789",
"actor": "xyz789",
"key": "apiKeysEnabled",
"timestamp": "xyz789",
"value": "xyz789"
}
}
}
resetTrophyBadgesSelected
Description
Clear all displayed trophy badges. Requires authentication.
Response
Returns a User
Example
Query
mutation resetTrophyBadgesSelected {
resetTrophyBadgesSelected {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Response
{
"data": {
"resetTrophyBadgesSelected": {
"_id": "abc123",
"about": "xyz789",
"activeCategories": ["xyz789"],
"actorId": "xyz789",
"allowEmbedIframes": false,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 123,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 123,
"badgeVerification": Badge,
"blocked": true,
"categories": [Category],
"commentedCount": 987,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 123,
"createdAt": "abc123",
"deleted": false,
"disabled": true,
"email": "xyz789",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 987,
"followedByCurrentUser": true,
"following": [User],
"followingCount": 123,
"friends": [User],
"friendsCount": 987,
"id": "4",
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": true,
"isMuted": false,
"locale": "abc123",
"location": Location,
"locationName": "abc123",
"name": "abc123",
"publicKey": "abc123",
"redeemedInviteCode": InviteCode,
"roleName": "abc123",
"shouted": [Post],
"shoutedCount": 123,
"showShoutsPublicly": false,
"slug": "xyz789",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "abc123",
"termsAndConditionsAgreedVersion": "abc123",
"updatedAt": "xyz789"
}
}
}
resyncCaches
Description
Resynchronise the in-memory role & policy caches from the database. Dev/test-only recovery hook for when an out-of-process change (db:reset / db:seed, the e2e harness) leaves a running server's caches stale; it needs no auth outside production so it works even when no users exist yet (right after a wipe). Disabled in production — there a rolling restart re-reads the DB on each instance's boot.
Response
Returns a Boolean!
Example
Query
mutation resyncCaches {
resyncCaches
}
Response
{"data": {"resyncCaches": true}}
review
Description
Record a moderation decision on a reported resource: optionally disable (hide) it and/or close the report. Requires the content.moderate permission and must respect the act-on hierarchy for the target user.
Response
Returns an REVIEWED
Example
Query
mutation review(
$closed: Boolean,
$disable: Boolean,
$resourceId: ID!
) {
review(
closed: $closed,
disable: $disable,
resourceId: $resourceId
) {
closed
createdAt
disable
moderator {
...UserFragment
}
report {
...ReportFragment
}
resource {
... on Comment {
...CommentFragment
}
... on Post {
...PostFragment
}
... on User {
...UserFragment
}
}
updatedAt
}
}
Variables
{
"closed": true,
"disable": false,
"resourceId": "4"
}
Response
{
"data": {
"review": {
"closed": false,
"createdAt": "xyz789",
"disable": true,
"moderator": User,
"report": Report,
"resource": Comment,
"updatedAt": "xyz789"
}
}
}
revokeApiKey
Description
Revoke one of your own API keys. Requires authentication.
revokeBadge
Description
Remove a badge from a user. Requires the badge.manage permission.
Example
Query
mutation revokeBadge(
$badgeId: ID!,
$userId: ID!
) {
revokeBadge(
badgeId: $badgeId,
userId: $userId
) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{
"badgeId": "4",
"userId": "4"
}
Response
{
"data": {
"revokeBadge": {
"_id": "xyz789",
"about": "xyz789",
"activeCategories": ["xyz789"],
"actorId": "abc123",
"allowEmbedIframes": false,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 987,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 123,
"badgeVerification": Badge,
"blocked": true,
"categories": [Category],
"commentedCount": 123,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 123,
"createdAt": "abc123",
"deleted": true,
"disabled": true,
"email": "xyz789",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 987,
"followedByCurrentUser": false,
"following": [User],
"followingCount": 987,
"friends": [User],
"friendsCount": 123,
"id": "4",
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": false,
"isMuted": true,
"locale": "xyz789",
"location": Location,
"locationName": "abc123",
"name": "abc123",
"publicKey": "xyz789",
"redeemedInviteCode": InviteCode,
"roleName": "abc123",
"shouted": [Post],
"shoutedCount": 987,
"showShoutsPublicly": false,
"slug": "xyz789",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "abc123",
"termsAndConditionsAgreedVersion": "abc123",
"updatedAt": "abc123"
}
}
}
rewardTrophyBadge
Description
Award a trophy badge to a user. Requires the badge.manage permission.
Example
Query
mutation rewardTrophyBadge(
$badgeId: ID!,
$userId: ID!
) {
rewardTrophyBadge(
badgeId: $badgeId,
userId: $userId
) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{"badgeId": 4, "userId": "4"}
Response
{
"data": {
"rewardTrophyBadge": {
"_id": "abc123",
"about": "abc123",
"activeCategories": ["xyz789"],
"actorId": "abc123",
"allowEmbedIframes": true,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 987,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 987,
"badgeVerification": Badge,
"blocked": false,
"categories": [Category],
"commentedCount": 987,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 123,
"createdAt": "abc123",
"deleted": false,
"disabled": false,
"email": "xyz789",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 987,
"followedByCurrentUser": true,
"following": [User],
"followingCount": 987,
"friends": [User],
"friendsCount": 987,
"id": 4,
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": true,
"isMuted": false,
"locale": "xyz789",
"location": Location,
"locationName": "abc123",
"name": "abc123",
"publicKey": "xyz789",
"redeemedInviteCode": InviteCode,
"roleName": "xyz789",
"shouted": [Post],
"shoutedCount": 987,
"showShoutsPublicly": false,
"slug": "xyz789",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "xyz789",
"termsAndConditionsAgreedVersion": "xyz789",
"updatedAt": "xyz789"
}
}
}
saveCategorySettings
Description
Set the current user's active content-filter categories. Requires authentication.
Example
Query
mutation saveCategorySettings($activeCategories: [String]) {
saveCategorySettings(activeCategories: $activeCategories)
}
Variables
{"activeCategories": ["xyz789"]}
Response
{"data": {"saveCategorySettings": true}}
setPolicy
Description
Set a single policy key to a value. Requires the policy.manage permission.
Response
Returns a PolicyChangeEvent!
Arguments
| Name | Description |
|---|---|
key - PolicyKey!
|
|
value - String!
|
Example
Query
mutation setPolicy(
$key: PolicyKey!,
$value: String!
) {
setPolicy(
key: $key,
value: $value
) {
_id
actor
key
timestamp
value
}
}
Variables
{"key": "apiKeysEnabled", "value": "abc123"}
Response
{
"data": {
"setPolicy": {
"_id": "abc123",
"actor": "abc123",
"key": "apiKeysEnabled",
"timestamp": "xyz789",
"value": "xyz789"
}
}
}
setTrophyBadgeSelected
Description
Choose which trophy badge to display in a given slot (null clears the slot). Requires authentication.
Example
Query
mutation setTrophyBadgeSelected(
$badgeId: ID,
$slot: Int!
) {
setTrophyBadgeSelected(
badgeId: $badgeId,
slot: $slot
) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{"badgeId": "4", "slot": 123}
Response
{
"data": {
"setTrophyBadgeSelected": {
"_id": "abc123",
"about": "abc123",
"activeCategories": ["abc123"],
"actorId": "xyz789",
"allowEmbedIframes": false,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 987,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 123,
"badgeVerification": Badge,
"blocked": false,
"categories": [Category],
"commentedCount": 987,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 123,
"createdAt": "abc123",
"deleted": false,
"disabled": true,
"email": "xyz789",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 987,
"followedByCurrentUser": true,
"following": [User],
"followingCount": 123,
"friends": [User],
"friendsCount": 123,
"id": 4,
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": true,
"isMuted": true,
"locale": "xyz789",
"location": Location,
"locationName": "xyz789",
"name": "abc123",
"publicKey": "xyz789",
"redeemedInviteCode": InviteCode,
"roleName": "xyz789",
"shouted": [Post],
"shoutedCount": 123,
"showShoutsPublicly": true,
"slug": "abc123",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "xyz789",
"termsAndConditionsAgreedVersion": "xyz789",
"updatedAt": "xyz789"
}
}
}
setUserRole
Description
Set a user's single role (replaces their current role). Requires the role.manage permission.
Example
Query
mutation setUserRole(
$roleName: String!,
$userId: ID!
) {
setUserRole(
roleName: $roleName,
userId: $userId
) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{
"roleName": "abc123",
"userId": "4"
}
Response
{
"data": {
"setUserRole": {
"_id": "xyz789",
"about": "abc123",
"activeCategories": ["xyz789"],
"actorId": "xyz789",
"allowEmbedIframes": true,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 123,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 123,
"badgeVerification": Badge,
"blocked": true,
"categories": [Category],
"commentedCount": 123,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 987,
"createdAt": "abc123",
"deleted": false,
"disabled": false,
"email": "xyz789",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 123,
"followedByCurrentUser": true,
"following": [User],
"followingCount": 123,
"friends": [User],
"friendsCount": 987,
"id": 4,
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": true,
"isMuted": false,
"locale": "abc123",
"location": Location,
"locationName": "abc123",
"name": "xyz789",
"publicKey": "abc123",
"redeemedInviteCode": InviteCode,
"roleName": "xyz789",
"shouted": [Post],
"shoutedCount": 123,
"showShoutsPublicly": false,
"slug": "abc123",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "abc123",
"termsAndConditionsAgreedVersion": "xyz789",
"updatedAt": "xyz789"
}
}
}
setVerificationBadge
Description
Assign a verification badge to a user. Requires the badge.manage permission.
Example
Query
mutation setVerificationBadge(
$badgeId: ID!,
$userId: ID!
) {
setVerificationBadge(
badgeId: $badgeId,
userId: $userId
) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{"badgeId": 4, "userId": "4"}
Response
{
"data": {
"setVerificationBadge": {
"_id": "abc123",
"about": "abc123",
"activeCategories": ["xyz789"],
"actorId": "abc123",
"allowEmbedIframes": false,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 987,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 123,
"badgeVerification": Badge,
"blocked": true,
"categories": [Category],
"commentedCount": 987,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 987,
"createdAt": "xyz789",
"deleted": false,
"disabled": false,
"email": "xyz789",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 987,
"followedByCurrentUser": true,
"following": [User],
"followingCount": 123,
"friends": [User],
"friendsCount": 123,
"id": 4,
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": true,
"isMuted": true,
"locale": "abc123",
"location": Location,
"locationName": "abc123",
"name": "abc123",
"publicKey": "xyz789",
"redeemedInviteCode": InviteCode,
"roleName": "abc123",
"shouted": [Post],
"shoutedCount": 987,
"showShoutsPublicly": true,
"slug": "abc123",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "xyz789",
"termsAndConditionsAgreedVersion": "abc123",
"updatedAt": "xyz789"
}
}
}
shout
Description
Shout (endorse) the given post or comment. Requires authentication.
Response
Returns a Boolean!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
type - ShoutTypeEnum!
|
Example
Query
mutation shout(
$id: ID!,
$type: ShoutTypeEnum!
) {
shout(
id: $id,
type: $type
)
}
Variables
{"id": 4, "type": "Comment"}
Response
{"data": {"shout": true}}
toggleObservePost
Description
Start or stop observing a post (to receive notifications about its comments). Requires authentication.
Example
Query
mutation toggleObservePost(
$id: ID!,
$value: Boolean!
) {
toggleObservePost(
id: $id,
value: $value
) {
_id
activityId
author {
...UserFragment
}
categories {
...CategoryFragment
}
clickedCount
comments {
...CommentFragment
}
commentsCount
content
createdAt
deleted
disabled
emotions {
..._PostEmotionsFragment
}
emotionsCount
eventEnd
eventIsOnline
eventLocation {
...LocationFragment
}
eventLocationName
eventStart
eventVenue
group {
...GroupFragment
}
groupPinned
id
image {
...ImageFragment
}
isObservedByMe
language
objectId
observingUsersCount
pinned
pinnedAt
pinnedBy {
...UserFragment
}
postType
relatedContributions {
...PostFragment
}
shoutedBy {
...UserFragment
}
shoutedByCurrentUser
shoutedCount
slug
sortDate
tags {
...TagFragment
}
title
unreadCommentNotificationsByCurrentUser {
...NOTIFIEDFragment
}
unreadNotificationByCurrentUser {
...NOTIFIEDFragment
}
updatedAt
viewedTeaserByCurrentUser
viewedTeaserCount
visibility
}
}
Variables
{"id": "4", "value": false}
Response
{
"data": {
"toggleObservePost": {
"_id": "abc123",
"activityId": "abc123",
"author": User,
"categories": [Category],
"clickedCount": 123,
"comments": [Comment],
"commentsCount": 123,
"content": "abc123",
"createdAt": "xyz789",
"deleted": false,
"disabled": false,
"emotions": [_PostEmotions],
"emotionsCount": 123,
"eventEnd": "xyz789",
"eventIsOnline": true,
"eventLocation": Location,
"eventLocationName": "abc123",
"eventStart": "abc123",
"eventVenue": "abc123",
"group": Group,
"groupPinned": true,
"id": 4,
"image": Image,
"isObservedByMe": false,
"language": "xyz789",
"objectId": "xyz789",
"observingUsersCount": 987,
"pinned": true,
"pinnedAt": "xyz789",
"pinnedBy": User,
"postType": ["Article"],
"relatedContributions": [Post],
"shoutedBy": [User],
"shoutedByCurrentUser": false,
"shoutedCount": 123,
"slug": "abc123",
"sortDate": "abc123",
"tags": [Tag],
"title": "xyz789",
"unreadCommentNotificationsByCurrentUser": [
NOTIFIED
],
"unreadNotificationByCurrentUser": NOTIFIED,
"updatedAt": "abc123",
"viewedTeaserByCurrentUser": true,
"viewedTeaserCount": 123,
"visibility": "friends"
}
}
}
unblockUser
Description
Unblock a previously blocked user. Requires authentication.
Example
Query
mutation unblockUser($id: ID!) {
unblockUser(id: $id) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{"id": "4"}
Response
{
"data": {
"unblockUser": {
"_id": "abc123",
"about": "abc123",
"activeCategories": ["abc123"],
"actorId": "abc123",
"allowEmbedIframes": false,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 123,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 987,
"badgeVerification": Badge,
"blocked": false,
"categories": [Category],
"commentedCount": 987,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 987,
"createdAt": "xyz789",
"deleted": true,
"disabled": true,
"email": "xyz789",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 123,
"followedByCurrentUser": false,
"following": [User],
"followingCount": 987,
"friends": [User],
"friendsCount": 123,
"id": "4",
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": true,
"isMuted": false,
"locale": "xyz789",
"location": Location,
"locationName": "abc123",
"name": "abc123",
"publicKey": "abc123",
"redeemedInviteCode": InviteCode,
"roleName": "xyz789",
"shouted": [Post],
"shoutedCount": 123,
"showShoutsPublicly": false,
"slug": "xyz789",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "xyz789",
"termsAndConditionsAgreedVersion": "abc123",
"updatedAt": "xyz789"
}
}
}
unfollowUser
Description
Unfollow a user. Requires authentication.
Example
Query
mutation unfollowUser($id: ID!) {
unfollowUser(id: $id) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{"id": "4"}
Response
{
"data": {
"unfollowUser": {
"_id": "xyz789",
"about": "xyz789",
"activeCategories": ["abc123"],
"actorId": "xyz789",
"allowEmbedIframes": false,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 123,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 123,
"badgeVerification": Badge,
"blocked": true,
"categories": [Category],
"commentedCount": 123,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 123,
"createdAt": "xyz789",
"deleted": false,
"disabled": true,
"email": "xyz789",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 987,
"followedByCurrentUser": true,
"following": [User],
"followingCount": 123,
"friends": [User],
"friendsCount": 123,
"id": "4",
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": true,
"isMuted": false,
"locale": "abc123",
"location": Location,
"locationName": "xyz789",
"name": "abc123",
"publicKey": "xyz789",
"redeemedInviteCode": InviteCode,
"roleName": "abc123",
"shouted": [Post],
"shoutedCount": 123,
"showShoutsPublicly": true,
"slug": "xyz789",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "xyz789",
"termsAndConditionsAgreedVersion": "xyz789",
"updatedAt": "abc123"
}
}
}
unmuteGroup
Description
Unmute a previously muted group. Requires membership.
Example
Query
mutation unmuteGroup($groupId: ID!) {
unmuteGroup(groupId: $groupId) {
about
actionRadius
avatar {
...ImageFragment
}
categories {
...CategoryFragment
}
createdAt
currentlyPinnedPostsCount
deleted
description
descriptionExcerpt
disabled
groupType
id
inviteCodes {
...InviteCodeFragment
}
isMutedByMe
location {
...LocationFragment
}
locationName
membersCount
myRole
name
posts {
...PostFragment
}
slug
updatedAt
}
}
Variables
{"groupId": "4"}
Response
{
"data": {
"unmuteGroup": {
"about": "xyz789",
"actionRadius": "continental",
"avatar": Image,
"categories": [Category],
"createdAt": "xyz789",
"currentlyPinnedPostsCount": 987,
"deleted": true,
"description": "abc123",
"descriptionExcerpt": "abc123",
"disabled": false,
"groupType": "closed",
"id": "4",
"inviteCodes": [InviteCode],
"isMutedByMe": false,
"location": Location,
"locationName": "xyz789",
"membersCount": 123,
"myRole": "admin",
"name": "xyz789",
"posts": [Post],
"slug": "xyz789",
"updatedAt": "xyz789"
}
}
}
unmuteUser
Description
Unmute a previously muted user. Requires authentication.
Example
Query
mutation unmuteUser($id: ID!) {
unmuteUser(id: $id) {
_id
about
activeCategories
actorId
allowEmbedIframes
avatar {
...ImageFragment
}
badgeTrophies {
...BadgeFragment
}
badgeTrophiesCount
badgeTrophiesSelected {
...BadgeFragment
}
badgeTrophiesUnused {
...BadgeFragment
}
badgeTrophiesUnusedCount
badgeVerification {
...BadgeFragment
}
blocked
categories {
...CategoryFragment
}
commentedCount
comments {
...CommentFragment
}
contributions {
...PostFragment
}
contributionsCount
createdAt
deleted
disabled
email
emailNotificationSettings {
...EmailNotificationSettingsFragment
}
emotions {
..._UserEmotionsFragment
}
followedBy {
...UserFragment
}
followedByCount
followedByCurrentUser
following {
...UserFragment
}
followingCount
friends {
...UserFragment
}
friendsCount
id
inviteCodes {
...InviteCodeFragment
}
invited {
...UserFragment
}
invitedBy {
...UserFragment
}
isBlocked
isMuted
locale
location {
...LocationFragment
}
locationName
name
publicKey
redeemedInviteCode {
...InviteCodeFragment
}
roleName
shouted {
...PostFragment
}
shoutedCount
showShoutsPublicly
slug
socialMedia {
...SocialMediaFragment
}
termsAndConditionsAgreedAt
termsAndConditionsAgreedVersion
updatedAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"unmuteUser": {
"_id": "xyz789",
"about": "abc123",
"activeCategories": ["xyz789"],
"actorId": "abc123",
"allowEmbedIframes": true,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 123,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 987,
"badgeVerification": Badge,
"blocked": true,
"categories": [Category],
"commentedCount": 123,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 987,
"createdAt": "xyz789",
"deleted": true,
"disabled": false,
"email": "abc123",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 123,
"followedByCurrentUser": true,
"following": [User],
"followingCount": 123,
"friends": [User],
"friendsCount": 123,
"id": "4",
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": false,
"isMuted": false,
"locale": "abc123",
"location": Location,
"locationName": "abc123",
"name": "abc123",
"publicKey": "abc123",
"redeemedInviteCode": InviteCode,
"roleName": "abc123",
"shouted": [Post],
"shoutedCount": 987,
"showShoutsPublicly": true,
"slug": "xyz789",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "xyz789",
"termsAndConditionsAgreedVersion": "abc123",
"updatedAt": "xyz789"
}
}
}
unpinGroupPost
Description
Remove a group pin. Restricted to those allowed to pin in that group.
Example
Query
mutation unpinGroupPost($id: ID!) {
unpinGroupPost(id: $id) {
_id
activityId
author {
...UserFragment
}
categories {
...CategoryFragment
}
clickedCount
comments {
...CommentFragment
}
commentsCount
content
createdAt
deleted
disabled
emotions {
..._PostEmotionsFragment
}
emotionsCount
eventEnd
eventIsOnline
eventLocation {
...LocationFragment
}
eventLocationName
eventStart
eventVenue
group {
...GroupFragment
}
groupPinned
id
image {
...ImageFragment
}
isObservedByMe
language
objectId
observingUsersCount
pinned
pinnedAt
pinnedBy {
...UserFragment
}
postType
relatedContributions {
...PostFragment
}
shoutedBy {
...UserFragment
}
shoutedByCurrentUser
shoutedCount
slug
sortDate
tags {
...TagFragment
}
title
unreadCommentNotificationsByCurrentUser {
...NOTIFIEDFragment
}
unreadNotificationByCurrentUser {
...NOTIFIEDFragment
}
updatedAt
viewedTeaserByCurrentUser
viewedTeaserCount
visibility
}
}
Variables
{"id": "4"}
Response
{
"data": {
"unpinGroupPost": {
"_id": "abc123",
"activityId": "xyz789",
"author": User,
"categories": [Category],
"clickedCount": 987,
"comments": [Comment],
"commentsCount": 123,
"content": "abc123",
"createdAt": "abc123",
"deleted": false,
"disabled": false,
"emotions": [_PostEmotions],
"emotionsCount": 987,
"eventEnd": "xyz789",
"eventIsOnline": true,
"eventLocation": Location,
"eventLocationName": "abc123",
"eventStart": "abc123",
"eventVenue": "xyz789",
"group": Group,
"groupPinned": false,
"id": "4",
"image": Image,
"isObservedByMe": false,
"language": "abc123",
"objectId": "abc123",
"observingUsersCount": 987,
"pinned": true,
"pinnedAt": "abc123",
"pinnedBy": User,
"postType": ["Article"],
"relatedContributions": [Post],
"shoutedBy": [User],
"shoutedByCurrentUser": false,
"shoutedCount": 123,
"slug": "abc123",
"sortDate": "abc123",
"tags": [Tag],
"title": "xyz789",
"unreadCommentNotificationsByCurrentUser": [
NOTIFIED
],
"unreadNotificationByCurrentUser": NOTIFIED,
"updatedAt": "xyz789",
"viewedTeaserByCurrentUser": true,
"viewedTeaserCount": 987,
"visibility": "friends"
}
}
}
unpinPost
Description
Remove an instance-wide pin. Requires the post.pin permission.
Example
Query
mutation unpinPost($id: ID!) {
unpinPost(id: $id) {
_id
activityId
author {
...UserFragment
}
categories {
...CategoryFragment
}
clickedCount
comments {
...CommentFragment
}
commentsCount
content
createdAt
deleted
disabled
emotions {
..._PostEmotionsFragment
}
emotionsCount
eventEnd
eventIsOnline
eventLocation {
...LocationFragment
}
eventLocationName
eventStart
eventVenue
group {
...GroupFragment
}
groupPinned
id
image {
...ImageFragment
}
isObservedByMe
language
objectId
observingUsersCount
pinned
pinnedAt
pinnedBy {
...UserFragment
}
postType
relatedContributions {
...PostFragment
}
shoutedBy {
...UserFragment
}
shoutedByCurrentUser
shoutedCount
slug
sortDate
tags {
...TagFragment
}
title
unreadCommentNotificationsByCurrentUser {
...NOTIFIEDFragment
}
unreadNotificationByCurrentUser {
...NOTIFIEDFragment
}
updatedAt
viewedTeaserByCurrentUser
viewedTeaserCount
visibility
}
}
Variables
{"id": 4}
Response
{
"data": {
"unpinPost": {
"_id": "abc123",
"activityId": "abc123",
"author": User,
"categories": [Category],
"clickedCount": 123,
"comments": [Comment],
"commentsCount": 987,
"content": "xyz789",
"createdAt": "xyz789",
"deleted": false,
"disabled": true,
"emotions": [_PostEmotions],
"emotionsCount": 987,
"eventEnd": "xyz789",
"eventIsOnline": true,
"eventLocation": Location,
"eventLocationName": "abc123",
"eventStart": "abc123",
"eventVenue": "abc123",
"group": Group,
"groupPinned": true,
"id": "4",
"image": Image,
"isObservedByMe": false,
"language": "xyz789",
"objectId": "xyz789",
"observingUsersCount": 987,
"pinned": false,
"pinnedAt": "abc123",
"pinnedBy": User,
"postType": ["Article"],
"relatedContributions": [Post],
"shoutedBy": [User],
"shoutedByCurrentUser": true,
"shoutedCount": 123,
"slug": "xyz789",
"sortDate": "xyz789",
"tags": [Tag],
"title": "xyz789",
"unreadCommentNotificationsByCurrentUser": [
NOTIFIED
],
"unreadNotificationByCurrentUser": NOTIFIED,
"updatedAt": "abc123",
"viewedTeaserByCurrentUser": false,
"viewedTeaserCount": 987,
"visibility": "friends"
}
}
}
unpushPost
Description
Remove a post's push/boost. Requires the post.push permission.
Example
Query
mutation unpushPost($id: ID!) {
unpushPost(id: $id) {
_id
activityId
author {
...UserFragment
}
categories {
...CategoryFragment
}
clickedCount
comments {
...CommentFragment
}
commentsCount
content
createdAt
deleted
disabled
emotions {
..._PostEmotionsFragment
}
emotionsCount
eventEnd
eventIsOnline
eventLocation {
...LocationFragment
}
eventLocationName
eventStart
eventVenue
group {
...GroupFragment
}
groupPinned
id
image {
...ImageFragment
}
isObservedByMe
language
objectId
observingUsersCount
pinned
pinnedAt
pinnedBy {
...UserFragment
}
postType
relatedContributions {
...PostFragment
}
shoutedBy {
...UserFragment
}
shoutedByCurrentUser
shoutedCount
slug
sortDate
tags {
...TagFragment
}
title
unreadCommentNotificationsByCurrentUser {
...NOTIFIEDFragment
}
unreadNotificationByCurrentUser {
...NOTIFIEDFragment
}
updatedAt
viewedTeaserByCurrentUser
viewedTeaserCount
visibility
}
}
Variables
{"id": 4}
Response
{
"data": {
"unpushPost": {
"_id": "xyz789",
"activityId": "xyz789",
"author": User,
"categories": [Category],
"clickedCount": 123,
"comments": [Comment],
"commentsCount": 123,
"content": "xyz789",
"createdAt": "abc123",
"deleted": true,
"disabled": false,
"emotions": [_PostEmotions],
"emotionsCount": 123,
"eventEnd": "abc123",
"eventIsOnline": false,
"eventLocation": Location,
"eventLocationName": "xyz789",
"eventStart": "abc123",
"eventVenue": "xyz789",
"group": Group,
"groupPinned": false,
"id": "4",
"image": Image,
"isObservedByMe": true,
"language": "abc123",
"objectId": "xyz789",
"observingUsersCount": 123,
"pinned": true,
"pinnedAt": "xyz789",
"pinnedBy": User,
"postType": ["Article"],
"relatedContributions": [Post],
"shoutedBy": [User],
"shoutedByCurrentUser": false,
"shoutedCount": 987,
"slug": "xyz789",
"sortDate": "abc123",
"tags": [Tag],
"title": "abc123",
"unreadCommentNotificationsByCurrentUser": [
NOTIFIED
],
"unreadNotificationByCurrentUser": NOTIFIED,
"updatedAt": "xyz789",
"viewedTeaserByCurrentUser": false,
"viewedTeaserCount": 123,
"visibility": "friends"
}
}
}
unshout
Description
Withdraw a shout from the given post or comment. Requires authentication.
Response
Returns a Boolean!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
type - ShoutTypeEnum!
|
Example
Query
mutation unshout(
$id: ID!,
$type: ShoutTypeEnum!
) {
unshout(
id: $id,
type: $type
)
}
Variables
{"id": "4", "type": "Comment"}
Response
{"data": {"unshout": false}}
updateApiKey
Description
Rename one of your own API keys. Requires authentication.
Example
Query
mutation updateApiKey(
$id: ID!,
$name: String!
) {
updateApiKey(
id: $id,
name: $name
) {
createdAt
disabled
disabledAt
expiresAt
id
keyPrefix
lastUsedAt
name
owner {
...UserFragment
}
}
}
Variables
{"id": 4, "name": "xyz789"}
Response
{
"data": {
"updateApiKey": {
"createdAt": "xyz789",
"disabled": false,
"disabledAt": "abc123",
"expiresAt": "abc123",
"id": "4",
"keyPrefix": "abc123",
"lastUsedAt": "abc123",
"name": "abc123",
"owner": User
}
}
}
updateOnlineStatus
Description
Update the current user's online/away status. Requires authentication.
Response
Returns a Boolean!
Arguments
| Name | Description |
|---|---|
status - OnlineStatus!
|
Example
Query
mutation updateOnlineStatus($status: OnlineStatus!) {
updateOnlineStatus(status: $status)
}
Variables
{"status": "away"}
Response
{"data": {"updateOnlineStatus": true}}
updateRole
Description
Replace an existing role's permission bundle. Requires the role.manage permission.
Response
Returns a Role!
Arguments
| Name | Description |
|---|---|
name - String!
|
|
permissions - [String!]!
|
Example
Query
mutation updateRole(
$name: String!,
$permissions: [String!]!
) {
updateRole(
name: $name,
permissions: $permissions
) {
_id
memberCount
name
permissions
protected
}
}
Variables
{
"name": "xyz789",
"permissions": ["xyz789"]
}
Response
{
"data": {
"updateRole": {
"_id": "xyz789",
"memberCount": 987,
"name": "abc123",
"permissions": ["xyz789"],
"protected": true
}
}
}
Subscriptions
chatMessageAdded
Description
Pushes newly added messages in the current user's rooms.
Response
Returns a Message
Example
Query
subscription chatMessageAdded {
chatMessageAdded {
_id
author {
...UserFragment
}
avatar
content
createdAt
date
distributed
files {
...FileFragment
}
id
indexId
room {
...RoomFragment
}
saved
seen
senderId
updatedAt
username
}
}
Response
{
"data": {
"chatMessageAdded": {
"_id": "xyz789",
"author": User,
"avatar": "xyz789",
"content": "abc123",
"createdAt": "xyz789",
"date": "xyz789",
"distributed": false,
"files": [File],
"id": "4",
"indexId": 123,
"room": Room,
"saved": false,
"seen": true,
"senderId": "abc123",
"updatedAt": "xyz789",
"username": "abc123"
}
}
}
chatMessageStatusUpdated
Description
Pushes delivery/seen status changes for messages.
Response
Returns a ChatMessageStatusPayload
Example
Query
subscription chatMessageStatusUpdated {
chatMessageStatusUpdated {
_id
messageIds
roomId
status
}
}
Response
{
"data": {
"chatMessageStatusUpdated": {
"_id": "abc123",
"messageIds": ["xyz789"],
"roomId": "4",
"status": "abc123"
}
}
}
notificationAdded
Description
Pushes newly created notifications for the current user in real time.
Response
Returns an NOTIFIED
Example
Query
subscription notificationAdded {
notificationAdded {
createdAt
from {
... on Comment {
...CommentFragment
}
... on Group {
...GroupFragment
}
... on Post {
...PostFragment
}
}
id
read
reason
relatedUser {
...UserFragment
}
to {
...UserFragment
}
updatedAt
}
}
Response
{
"data": {
"notificationAdded": {
"createdAt": "xyz789",
"from": Comment,
"id": 4,
"read": true,
"reason": "changed_group_member_role",
"relatedUser": User,
"to": User,
"updatedAt": "abc123"
}
}
}
permissionsChanged
Description
Fires when a role's permissions or a user's role assignment changes.
Response
Returns a PermissionsChanged!
Example
Query
subscription permissionsChanged {
permissionsChanged {
_id
roleName
}
}
Response
{
"data": {
"permissionsChanged": {
"_id": "abc123",
"roleName": "xyz789"
}
}
}
policyChanged
Description
Fires whenever a policy value changes, so clients can update live.
Response
Returns a PolicyValueChanged!
Example
Query
subscription policyChanged {
policyChanged {
_id
key
value
}
}
Response
{
"data": {
"policyChanged": {
"_id": "abc123",
"key": "apiKeysEnabled",
"value": "xyz789"
}
}
}
roomUpdated
Description
Pushes a room whenever its state changes (e.g. a new message arrives).
Response
Returns a Room
Example
Query
subscription roomUpdated {
roomUpdated {
_id
avatar
createdAt
group {
...GroupFragment
}
id
isGroupRoom
lastMessage {
...MessageFragment
}
lastMessageAt
roomId
roomName
unreadCount
updatedAt
users {
...UserFragment
}
}
}
Response
{
"data": {
"roomUpdated": {
"_id": "abc123",
"avatar": "abc123",
"createdAt": "xyz789",
"group": Group,
"id": 4,
"isGroupRoom": false,
"lastMessage": Message,
"lastMessageAt": "xyz789",
"roomId": "abc123",
"roomName": "abc123",
"unreadCount": 123,
"updatedAt": "abc123",
"users": [User]
}
}
}
videoCallParticipantCountChanged
Description
Pushes the updated participant count as users join or leave a group's video call.
Response
Returns a VideoCallParticipantCount!
Arguments
| Name | Description |
|---|---|
groupId - ID!
|
Example
Query
subscription videoCallParticipantCountChanged($groupId: ID!) {
videoCallParticipantCountChanged(groupId: $groupId) {
count
groupId
}
}
Variables
{"groupId": 4}
Response
{
"data": {
"videoCallParticipantCountChanged": {
"count": 987,
"groupId": "4"
}
}
}
Types
ApiKey
Description
A personal API key that authenticates programmatic access on behalf of its owner. Only a non-secret prefix and metadata are stored; the secret itself is shown exactly once, at creation.
Fields
| Field Name | Description |
|---|---|
createdAt - String!
|
|
disabled - Boolean!
|
True once the key has been revoked. |
disabledAt - String
|
|
expiresAt - String
|
When the key expires, or null if it never expires. |
id - ID!
|
|
keyPrefix - String!
|
Non-secret leading segment of the key, used to identify it in listings. |
lastUsedAt - String
|
When the key last authenticated a request, or null if never used. |
name - String!
|
Human-readable label chosen by the owner. |
owner - User
|
|
Arguments
|
|
Example
{
"createdAt": "abc123",
"disabled": false,
"disabledAt": "xyz789",
"expiresAt": "abc123",
"id": "4",
"keyPrefix": "abc123",
"lastUsedAt": "xyz789",
"name": "xyz789",
"owner": User
}
ApiKeyUserSummary
Description
Aggregated per-user API-key usage, for the administration overview.
Fields
| Field Name | Description |
|---|---|
activeCount - Int!
|
Number of the user's currently active (non-revoked) keys. |
commentsCount - Int!
|
|
lastActivity - String
|
Most recent time any of the user's keys was used, or null. |
postsCount - Int!
|
|
revokedCount - Int!
|
Number of the user's revoked keys. |
user - User!
|
|
Arguments
|
|
Example
{
"activeCount": 123,
"commentsCount": 987,
"lastActivity": "abc123",
"postsCount": 123,
"revokedCount": 123,
"user": User
}
ApiKeyWithSecret
Badge
Description
A badge that can be attached to users — either a verification mark or an awardable trophy.
Fields
| Field Name | Description |
|---|---|
createdAt - String
|
|
description - String!
|
|
icon - String!
|
Identifier/URL of the badge's icon asset. |
id - ID!
|
|
isDefault - Boolean!
|
Whether this badge is the instance-wide default of its type. |
rewarded - [User]!
|
Users currently wearing this trophy badge. |
Arguments |
|
type - BadgeType!
|
|
verifies - [User]!
|
Users whose verification this badge represents. |
Arguments |
|
Example
{
"createdAt": "abc123",
"description": "xyz789",
"icon": "xyz789",
"id": 4,
"isDefault": false,
"rewarded": [User],
"type": "trophy",
"verifies": [User]
}
BadgeType
Description
The purpose of a badge.
Values
| Enum Value | Description |
|---|---|
|
|
An achievement a user can be awarded and choose to display. |
|
|
Marks a user as verified. |
Example
"trophy"
Boolean
Description
The Boolean scalar type represents true or false.
Category
Description
A topical category that posts and groups can be filed under. Categories are a fixed, instance-configured taxonomy (unlike free-form tags).
Example
{
"_id": "abc123",
"createdAt": "abc123",
"icon": "abc123",
"id": 4,
"name": "xyz789",
"postCount": 123,
"posts": [Post],
"slug": "abc123",
"updatedAt": "xyz789"
}
ChatMessageStatusPayload
Description
Real-time delivery/seen-status update for messages in a room.
Fields
| Field Name | Description |
|---|---|
_id - String
|
|
messageIds - [String!]!
|
|
roomId - ID!
|
|
status - String!
|
Example
{
"_id": "abc123",
"messageIds": ["abc123"],
"roomId": 4,
"status": "xyz789"
}
ChatTarget
Comment
Description
A comment written by a user in reply to a post.
Fields
| Field Name | Description |
|---|---|
_id - String
|
|
activityId - String
|
ActivityPub activity id, for federated comments. |
author - User
|
|
Arguments
|
|
content - String!
|
Comment body as rich text (HTML). |
createdAt - String
|
|
deleted - Boolean
|
True once the comment has been moderated away. |
disabled - Boolean
|
True once the comment has been disabled by a moderator. |
id - ID!
|
|
isPostObservedByMe - Boolean!
|
Whether the current user observes the post this comment belongs to. |
post - Post
|
The post this comment belongs to. |
Arguments
|
|
postObservingUsersCount - Int!
|
Number of users observing the post this comment belongs to. |
shoutedByCurrentUser - Boolean!
|
Whether the current user has shouted (endorsed) this comment. |
shoutedCount - Int!
|
Number of users who have shouted (endorsed) this comment. |
updatedAt - String
|
|
Example
{
"_id": "xyz789",
"activityId": "abc123",
"author": User,
"content": "xyz789",
"createdAt": "abc123",
"deleted": true,
"disabled": false,
"id": 4,
"isPostObservedByMe": false,
"post": Post,
"postObservingUsersCount": 123,
"shoutedByCurrentUser": false,
"shoutedCount": 987,
"updatedAt": "xyz789"
}
Deletable
Description
Resources that can be deleted along with a user account.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"Comment"
Donations
Description
Instance-wide donation campaign state, shown in the donation progress widget.
Example
{
"_id": "abc123",
"createdAt": "xyz789",
"goal": 987,
"id": 4,
"progress": 987,
"showDonations": false,
"updatedAt": "xyz789"
}
EMOTED
Description
Relationship representing a user's emotional reaction to a post.
Example
{
"createdAt": "abc123",
"emotion": "angry",
"from": User,
"to": Post,
"updatedAt": "abc123"
}
EffectivePermission
Description
A permission the current viewer effectively holds, carrying its catalog group so the webapp can gate UI areas by group (e.g. show the admin area for ANY administration-group permission) without a hard-coded key list.
Example
{
"_id": "xyz789",
"group": "abc123",
"key": "abc123"
}
EmailAddress
EmailNotificationSettings
Description
A user's email notification toggles for one category (post, chat or group).
Fields
| Field Name | Description |
|---|---|
settings - [EmailNotificationSettingsOption]
|
|
type - EmailNotificationSettingsType
|
Example
{
"settings": [EmailNotificationSettingsOption],
"type": "chat"
}
EmailNotificationSettingsInput
Description
Input toggling a single email notification setting on or off.
Fields
| Input Field | Description |
|---|---|
name - EmailNotificationSettingsName
|
|
value - Boolean
|
Example
{"name": "chatMessage", "value": true}
EmailNotificationSettingsName
Description
An individual email-notification toggle, identifying the event that triggers an email.
Values
| Enum Value | Description |
|---|---|
|
|
The user received a direct chat message. |
|
|
Someone commented on a post the user observes. |
|
|
A user the current user follows published a post. |
|
|
A user joined a group the user administrates. |
|
|
A user left a group the user administrates. |
|
|
A member was removed from a group the user administrates. |
|
|
A member's role changed in a group the user administrates. |
|
|
The user was mentioned in a post or comment. |
|
|
A new post was created in a group the user is a member of. |
Example
"chatMessage"
EmailNotificationSettingsOption
Description
A single email notification toggle and its current value.
Fields
| Field Name | Description |
|---|---|
name - EmailNotificationSettingsName
|
|
value - Boolean
|
Example
{"name": "chatMessage", "value": false}
EmailNotificationSettingsType
Description
The category a set of email-notification toggles belongs to.
Values
| Enum Value | Description |
|---|---|
|
|
Notifications about direct chat messages. |
|
|
Notifications about group membership events. |
|
|
Notifications about posts and comments. |
Example
"chat"
Embed
Description
oEmbed-style metadata scraped from an external URL, used to render link previews.
Fields
| Field Name | Description |
|---|---|
audio - String
|
|
author - String
|
|
date - String
|
|
description - String
|
|
html - String
|
Embeddable HTML fragment (e.g. a player iframe), when the provider offers one. |
image - String
|
URL of a representative preview image. |
lang - String
|
Detected content language. |
publisher - String
|
|
sources - [String]
|
|
title - String
|
|
type - String
|
The oEmbed resource type (e.g. link, video, photo, rich). |
url - String
|
|
video - String
|
Example
{
"audio": "xyz789",
"author": "abc123",
"date": "xyz789",
"description": "xyz789",
"html": "xyz789",
"image": "abc123",
"lang": "xyz789",
"publisher": "xyz789",
"sources": ["abc123"],
"title": "xyz789",
"type": "xyz789",
"url": "xyz789",
"video": "xyz789"
}
Emotion
Description
An emotional reaction a user can leave on a post.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"angry"
FILED
Description
Relationship recording that a user filed a moderation report against a resource, with the stated reason.
Fields
| Field Name | Description |
|---|---|
createdAt - String!
|
|
reasonCategory - ReasonCategory!
|
|
reasonDescription - String!
|
Free-text explanation the reporter provided. |
submitter - User
|
The user who filed the report. |
Arguments
|
|
Example
{
"createdAt": "abc123",
"reasonCategory": "advert_products_services_commercial",
"reasonDescription": "xyz789",
"submitter": User
}
File
Description
A file attached to a chat message.
Example
{
"_id": "abc123",
"duration": 123.45,
"extension": "abc123",
"name": "xyz789",
"type": "abc123",
"url": 4
}
FileInput
Description
Input for a file to attach to a chat message. The file itself must be provided as upload (attaching without it is rejected); the remaining fields are its metadata.
Example
{
"duration": 987.65,
"extension": "abc123",
"name": "abc123",
"type": "xyz789",
"upload": Upload
}
FiledReport
Description
The result of filing a report, echoing the reason and linking to the created report.
Fields
| Field Name | Description |
|---|---|
_id - String
|
|
createdAt - String!
|
|
reasonCategory - ReasonCategory!
|
|
reasonDescription - String!
|
|
reportId - ID!
|
|
resource - ReportedResource!
|
Example
{
"_id": "xyz789",
"createdAt": "xyz789",
"reasonCategory": "advert_products_services_commercial",
"reasonDescription": "xyz789",
"reportId": 4,
"resource": Comment
}
Float
Description
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
987.65
Group
Description
A group: a space where members share posts, chat and optionally hold video calls. Discoverability and joining are governed by its groupType.
Fields
| Field Name | Description |
|---|---|
about - String
|
Short statement of the group's goal. |
actionRadius - GroupActionRadius!
|
|
avatar - Image
|
|
Arguments
|
|
categories - [Category]
|
|
Arguments |
|
createdAt - String!
|
ISO 8601 date-time string of creation. |
currentlyPinnedPostsCount - Int!
|
Number of posts currently pinned within this group. |
deleted - Boolean
|
|
description - String!
|
Full group description (rich text). |
descriptionExcerpt - String!
|
Plain-text excerpt of the description, for previews. |
disabled - Boolean
|
|
groupType - GroupType!
|
|
id - ID!
|
|
inviteCodes - [InviteCode]!
|
Invite codes to this group the current user has generated. |
isMutedByMe - Boolean!
|
Whether the current user has muted this group. |
location - Location
|
|
locationName - String
|
|
membersCount - Int!
|
Number of members, excluding those with a pending join request. |
myRole - GroupMemberRole
|
The current user's role in this group, or null if they are not a member. |
name - String!
|
The group's title. |
posts - [Post]
|
|
Arguments |
|
slug - String!
|
URL-safe unique handle for the group. |
updatedAt - String!
|
ISO 8601 date-time string of the last update. |
Example
{
"about": "abc123",
"actionRadius": "continental",
"avatar": Image,
"categories": [Category],
"createdAt": "xyz789",
"currentlyPinnedPostsCount": 987,
"deleted": true,
"description": "abc123",
"descriptionExcerpt": "abc123",
"disabled": false,
"groupType": "closed",
"id": "4",
"inviteCodes": [InviteCode],
"isMutedByMe": true,
"location": Location,
"locationName": "abc123",
"membersCount": 987,
"myRole": "admin",
"name": "abc123",
"posts": [Post],
"slug": "abc123",
"updatedAt": "abc123"
}
GroupActionRadius
Description
The geographic reach a group intends its activities to have.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Tongue-in-cheek maximum reach: beyond planet Earth. |
|
|
|
|
|
Example
"continental"
GroupMember
Description
A group member paired with their membership relationship (role, join date).
Fields
| Field Name | Description |
|---|---|
_id - String
|
|
membership - MEMBER_OF
|
|
Arguments
|
|
user - User
|
|
Arguments
|
|
Example
{
"_id": "abc123",
"membership": MEMBER_OF,
"user": User
}
GroupMemberRole
Description
A user's role within a group, in ascending order of privilege.
Values
| Enum Value | Description |
|---|---|
|
|
Can manage members and group settings. |
|
|
Full control over the group, including deleting it; there is exactly one owner. |
|
|
Membership requested but not yet approved (closed groups); not counted as a member. |
|
|
Regular member. |
Example
"admin"
GroupType
Description
Determines a group's discoverability and how users become members.
Values
| Enum Value | Description |
|---|---|
|
|
Anyone can find the group, but joining requires approval by a group admin/owner. |
|
|
The group is unlisted; it can only be found and joined via invite. |
|
|
Anyone can find the group and join without approval. |
Example
"closed"
ID
Description
The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
Example
"4"
Image
Description
An image asset (avatar, hero image, etc.) with rendering metadata.
Fields
| Field Name | Description |
|---|---|
_id - String
|
|
alt - String
|
Alternative text for accessibility. |
aspectRatio - Float
|
Width-to-height ratio, used to reserve layout space before load. |
sensitive - Boolean
|
Whether the image is flagged as sensitive and should be blurred by default. |
transform - String
|
URL of a variant resized to the requested width/height. |
type - String
|
MIME type of the image. |
url - ID!
|
The image's URL, which also serves as its identifier. |
Example
{
"_id": "xyz789",
"alt": "xyz789",
"aspectRatio": 123.45,
"sensitive": false,
"transform": "xyz789",
"type": "abc123",
"url": 4
}
ImageInput
Description
Input for uploading or updating an image. Provide upload to set a new file.
Example
{
"alt": "xyz789",
"aspectRatio": 123.45,
"sensitive": true,
"type": "xyz789",
"upload": Upload
}
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
123
InviteCode
Description
An invite code. A personal code lets its holder register on the instance; a group code additionally grants membership in a specific group. May be limited by an expiry and a redemption limit.
Fields
| Field Name | Description |
|---|---|
_id - String
|
|
code - ID!
|
The code string, which also serves as its identifier. |
comment - String
|
Free-form note the issuer attached to the code. |
createdAt - String!
|
|
expiresAt - String
|
When the code expires, or null if it never expires. |
generatedBy - User
|
The user who issued the code. |
Arguments
|
|
invitedTo - Group
|
The group this code invites into, or null for a personal (registration-only) code. |
isValid - Boolean!
|
Whether the code can still be redeemed (not expired, invalidated, or over its redemption limit). |
redeemedBy - [User]
|
Users who have redeemed this code. |
Arguments |
|
redeemedByCount - Int!
|
|
Example
{
"_id": "abc123",
"code": 4,
"comment": "abc123",
"createdAt": "abc123",
"expiresAt": "abc123",
"generatedBy": User,
"invitedTo": Group,
"isValid": true,
"redeemedBy": [User],
"redeemedByCount": 123
}
Location
Description
A geographic place (city, region, country, …) linked to users, groups and events. Places nest via parent, forming a hierarchy up to the country level.
Fields
| Field Name | Description |
|---|---|
distanceToMe - Int
|
Distance in kilometres from the current user's location. Requires authentication. |
id - ID!
|
|
lat - Float
|
Latitude in decimal degrees (WGS84). |
lng - Float
|
Longitude in decimal degrees (WGS84). |
name - String!
|
Localized place name. Falls back through the requested lang, the instance default language, and finally the raw name/id. |
Arguments
|
|
parent - Location
|
The enclosing place one level up in the hierarchy. |
type - String!
|
The place's granularity (e.g. country, region, place). |
Example
{
"distanceToMe": 123,
"id": 4,
"lat": 987.65,
"lng": 123.45,
"name": "xyz789",
"parent": Location,
"type": "abc123"
}
LocationMapBox
MEMBER_OF
Description
Relationship carrying a user's membership in a group, including their role and when it began.
Fields
| Field Name | Description |
|---|---|
_id - String
|
|
createdAt - String!
|
|
role - GroupMemberRole!
|
|
updatedAt - String!
|
Example
{
"_id": "xyz789",
"createdAt": "xyz789",
"role": "admin",
"updatedAt": "abc123"
}
Message
Description
A single chat message within a room.
Fields
| Field Name | Description |
|---|---|
_id - String
|
|
author - User!
|
|
Arguments
|
|
avatar - String
|
Avatar URL of the sending user. |
content - String
|
|
createdAt - String
|
|
date - String!
|
Alias of createdAt; prefer createdAt in new code. |
distributed - Boolean
|
Whether the message has been distributed to recipients (delivery-status flag). |
files - [File]!
|
Files attached to the message. |
Arguments |
|
id - ID!
|
|
indexId - Int!
|
Monotonically increasing index of the message within its room, used for ordering and paging. |
room - Room!
|
|
Arguments
|
|
saved - Boolean
|
Whether the message has been persisted (delivery-status flag). |
seen - Boolean
|
Whether the current user has seen the message (always true for messages they sent). |
senderId - String!
|
Id of the sending user. |
updatedAt - String
|
|
username - String!
|
Display name of the sending user. |
Example
{
"_id": "xyz789",
"author": User,
"avatar": "xyz789",
"content": "xyz789",
"createdAt": "abc123",
"date": "abc123",
"distributed": true,
"files": [File],
"id": 4,
"indexId": 123,
"room": Room,
"saved": false,
"seen": true,
"senderId": "xyz789",
"updatedAt": "abc123",
"username": "abc123"
}
NOTIFIED
Description
Relationship representing a notification delivered to a user about some source activity.
Fields
| Field Name | Description |
|---|---|
createdAt - String!
|
|
from - NotificationSource
|
The post, comment or group the notification is about. |
id - ID!
|
|
read - Boolean
|
Whether the recipient has read the notification. |
reason - NotificationReason
|
|
relatedUser - User
|
The user who triggered the notification, when applicable. |
Arguments
|
|
to - User
|
The recipient of the notification. |
Arguments
|
|
updatedAt - String!
|
|
Example
{
"createdAt": "abc123",
"from": Comment,
"id": "4",
"read": false,
"reason": "changed_group_member_role",
"relatedUser": User,
"to": User,
"updatedAt": "xyz789"
}
NotificationOrdering
Description
Ordering options for the notifications query.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"createdAt_asc"
NotificationReason
Description
Why a notification was created.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
A user the recipient follows published a post. |
|
|
|
|
|
|
|
|
A new post was created in a group the recipient belongs to. |
|
|
|
|
|
|
|
|
Example
"changed_group_member_role"
NotificationSource
OnlineStatus
Description
A user's self-reported presence state.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"away"
Permission
Description
A single entry in the permission catalog: a grantable right and its metadata.
Fields
| Field Name | Description |
|---|---|
_id - String
|
|
available - Boolean!
|
Whether the permission is effective right now for the requesting viewer's config/policy. False ⇒ the feature is not configured/enabled; the admin UI disables granting it. |
description - String!
|
|
gatedBy - String
|
The runtime feature gate this permission depends on (e.g. videoCall, apiKeys), or null when it is always effective. |
group - String!
|
|
key - String!
|
Example
{
"_id": "xyz789",
"available": true,
"description": "abc123",
"gatedBy": "xyz789",
"group": "abc123",
"key": "abc123"
}
PermissionsChanged
Description
A signal that effective permissions may have changed (a role's permission set, or a user's role assignment). Clients refetch their own myPermissions on receipt — the payload carries only the affected role name, no actor (Datensparsamkeit).
Example
{
"_id": "abc123",
"roleName": "abc123"
}
PinnedPostCounts
Policy
Description
Instance-wide configuration flags governing registration, moderation features and UI toggles. Which keys a caller actually receives depends on their permissions.
Fields
| Field Name | Description |
|---|---|
_id - String
|
|
apiKeysEnabled - Boolean
|
Whether personal API keys are enabled. |
apiKeysMaxPerUser - Int
|
Maximum number of API keys a user may hold. |
askForRealName - Boolean!
|
Whether the registration form asks for the user's real name. |
badgesEnabled - Boolean!
|
Whether badges are enabled. |
categoriesActive - Boolean!
|
Whether the category taxonomy is enabled. |
inviteCodesGroupPerUser - Int
|
Maximum number of group invite codes a user may hold per group. |
inviteCodesPersonalPerUser - Int
|
Maximum number of personal invite codes a user may hold. |
inviteLinkLimit - Int
|
Maximum number of redemptions per invite link, or null for unlimited. |
inviteRegistration - Boolean!
|
Whether registration via invite code is enabled. |
maxGroupPinnedPosts - Int
|
Maximum number of pinned posts per group. |
maxPinnedPosts - Int
|
Maximum number of instance-wide pinned posts. |
publicRegistration - Boolean!
|
Whether anyone may register without an invite. |
requireLocation - Boolean!
|
Whether a location is mandatory during registration. |
showContentFilterHeaderMenu - Boolean!
|
Whether the content filter appears in the header menu. |
showContentFilterMasonryGrid - Boolean!
|
Whether the content filter appears above the masonry grid. |
showGroupButtonInHeader - Boolean!
|
Whether the groups button is shown in the header. |
Example
{
"_id": "abc123",
"apiKeysEnabled": false,
"apiKeysMaxPerUser": 987,
"askForRealName": false,
"badgesEnabled": true,
"categoriesActive": false,
"inviteCodesGroupPerUser": 123,
"inviteCodesPersonalPerUser": 123,
"inviteLinkLimit": 987,
"inviteRegistration": true,
"maxGroupPinnedPosts": 123,
"maxPinnedPosts": 123,
"publicRegistration": false,
"requireLocation": true,
"showContentFilterHeaderMenu": false,
"showContentFilterMasonryGrid": false,
"showGroupButtonInHeader": true
}
PolicyChangeEvent
Description
An applied change to a single policy key, with audit metadata.
Fields
| Field Name | Description |
|---|---|
_id - String
|
|
actor - String!
|
|
key - PolicyKey!
|
|
timestamp - String!
|
|
value - String!
|
Example
{
"_id": "abc123",
"actor": "abc123",
"key": "apiKeysEnabled",
"timestamp": "abc123",
"value": "xyz789"
}
PolicyDefaults
Description
The configured policy defaults together with audit info about the last change.
Fields
| Field Name | Description |
|---|---|
_id - String
|
|
defaults - Policy!
|
|
Arguments
|
|
lastChange - PolicyLastChange
|
|
Arguments
|
|
Example
{
"_id": "abc123",
"defaults": Policy,
"lastChange": PolicyLastChange
}
PolicyKey
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"apiKeysEnabled"
PolicyLastChange
PolicyValueChanged
Description
A policy key/value change, broadcast to subscribers.
Fields
| Field Name | Description |
|---|---|
_id - String
|
|
key - PolicyKey!
|
|
value - String!
|
Example
{
"_id": "xyz789",
"key": "apiKeysEnabled",
"value": "abc123"
}
Post
Description
A contribution — an article or event — written by a user, optionally within a group.
Fields
| Field Name | Description |
|---|---|
_id - String
|
|
activityId - String
|
ActivityPub activity id, for federated posts. |
author - User
|
|
Arguments
|
|
categories - [Category]
|
|
Arguments |
|
clickedCount - Int!
|
Number of times the post has been opened. |
comments - [Comment]!
|
|
Arguments |
|
commentsCount - Int!
|
Number of visible (non-deleted, non-disabled) comments. |
content - String!
|
Post body as rich text (HTML). |
createdAt - String
|
ISO 8601 date-time string of creation. |
deleted - Boolean
|
True once the post has been moderated away. |
disabled - Boolean
|
True once the post has been disabled by a moderator. |
emotions - [_PostEmotions]
|
|
Arguments
|
|
emotionsCount - Int!
|
Total number of emotional reactions on the post. |
eventEnd - String
|
Event end time (Event posts). |
eventIsOnline - Boolean
|
Whether the event takes place online (Event posts). |
eventLocation - Location
|
Structured location of the event (Event posts). |
eventLocationName - String
|
Name of the event's location (Event posts). |
eventStart - String
|
Event start time (Event posts). |
eventVenue - String
|
Venue/room of the event (Event posts). |
group - Group
|
The group this post belongs to, or null for a public/timeline post. |
groupPinned - Boolean
|
Whether the post is pinned within its group. |
id - ID!
|
|
image - Image
|
The post's hero image. |
Arguments
|
|
isObservedByMe - Boolean!
|
Whether the current user observes this post (receives notifications about its comments). |
language - String
|
Content language as an IETF/ISO code (e.g. en, de). |
objectId - String
|
ActivityPub object id, for federated posts. |
observingUsersCount - Int!
|
Number of users observing this post. |
pinned - Boolean
|
Whether the post is pinned instance-wide. |
pinnedAt - String
|
When the post was pinned instance-wide, or null if not pinned. |
pinnedBy - User
|
The user who pinned the post instance-wide. |
Arguments
|
|
postType - [PostType]
|
The post's type(s), derived from its Neo4j labels (e.g. Article, Event). |
relatedContributions - [Post]!
|
Up to 10 other posts sharing a tag or category with this one. |
Arguments |
|
shoutedBy - [User]!
|
|
Arguments |
|
shoutedByCurrentUser - Boolean!
|
Has the currently logged in user shouted that post? |
shoutedCount - Int!
|
Number of users who have shouted (endorsed) this post. |
slug - String!
|
URL-safe unique handle for the post. |
sortDate - String
|
Date used to sort the post in feeds (may differ from createdAt, e.g. for events). |
tags - [Tag]!
|
|
Arguments |
|
title - String!
|
|
unreadCommentNotificationsByCurrentUser - [NOTIFIED!]!
|
Unread notifications for comments in this post targeting the currently logged in user. |
unreadNotificationByCurrentUser - NOTIFIED
|
Unread notification for this post targeting the currently logged in user, or null. |
updatedAt - String
|
ISO 8601 date-time string of the last update. |
viewedTeaserByCurrentUser - Boolean!
|
Whether the current user has viewed the post's teaser. |
viewedTeaserCount - Int!
|
Number of times the post's teaser has been viewed. |
visibility - Visibility
|
|
Example
{
"_id": "xyz789",
"activityId": "abc123",
"author": User,
"categories": [Category],
"clickedCount": 987,
"comments": [Comment],
"commentsCount": 987,
"content": "xyz789",
"createdAt": "abc123",
"deleted": false,
"disabled": false,
"emotions": [_PostEmotions],
"emotionsCount": 987,
"eventEnd": "abc123",
"eventIsOnline": false,
"eventLocation": Location,
"eventLocationName": "abc123",
"eventStart": "abc123",
"eventVenue": "abc123",
"group": Group,
"groupPinned": true,
"id": "4",
"image": Image,
"isObservedByMe": true,
"language": "xyz789",
"objectId": "xyz789",
"observingUsersCount": 987,
"pinned": true,
"pinnedAt": "xyz789",
"pinnedBy": User,
"postType": ["Article"],
"relatedContributions": [Post],
"shoutedBy": [User],
"shoutedByCurrentUser": false,
"shoutedCount": 987,
"slug": "xyz789",
"sortDate": "xyz789",
"tags": [Tag],
"title": "xyz789",
"unreadCommentNotificationsByCurrentUser": [NOTIFIED],
"unreadNotificationByCurrentUser": NOTIFIED,
"updatedAt": "abc123",
"viewedTeaserByCurrentUser": true,
"viewedTeaserCount": 123,
"visibility": "friends"
}
PostType
Description
The kind of content a post represents. Stored as an additional Neo4j node label.
Values
| Enum Value | Description |
|---|---|
|
|
A regular text article. |
|
|
An event with a date, and optionally a location or online link. |
Example
"Article"
REVIEWED
Description
Relationship recording a moderator's decision on a report.
Fields
| Field Name | Description |
|---|---|
closed - Boolean!
|
Whether the moderator closed the report. |
createdAt - String!
|
|
disable - Boolean!
|
Whether the moderator disabled (hid) the reported resource. |
moderator - User
|
The moderator who made the decision. |
Arguments
|
|
report - Report
|
|
resource - ReviewedResource
|
|
updatedAt - String!
|
|
Example
{
"closed": true,
"createdAt": "xyz789",
"disable": true,
"moderator": User,
"report": Report,
"resource": Comment,
"updatedAt": "xyz789"
}
ReasonCategory
Description
Reason a report was filed. This list equals the strings of an array in file webapp/constants/modals.js.
Values
| Enum Value | Description |
|---|---|
|
|
Unsolicited advertising of products, services or commercial offers. |
|
|
Criminal behaviour or violation of (German) law. |
|
|
Discrimination, racism, sexism and the like. |
|
|
Publishing private/identifying information (doxing). |
|
|
Glorification or trivialisation of cruel or inhuman acts. |
|
|
Intentional intimidation, stalking or persecution. |
|
|
None of the listed categories fits. |
|
|
Pornographic content or links to it. |
Example
"advert_products_services_commercial"
Report
Description
A moderation report about a user, post or comment, aggregating all filings and reviews for that resource.
Fields
| Field Name | Description |
|---|---|
closed - Boolean!
|
Whether the report has been closed by a moderator. |
createdAt - String!
|
|
disable - Boolean!
|
Whether the reported resource is currently disabled (hidden). |
filed - [FILED]!
|
All filings submitted against the resource. |
id - ID!
|
|
resource - ReportedResource!
|
|
reviewed - [REVIEWED]!
|
All moderator reviews of the report. |
rule - ReportRule!
|
|
updatedAt - String!
|
Example
{
"closed": true,
"createdAt": "abc123",
"disable": false,
"filed": [FILED],
"id": "4",
"resource": Comment,
"reviewed": [REVIEWED],
"rule": "latestReviewUpdatedAtRules",
"updatedAt": "xyz789"
}
ReportOrdering
Description
Ordering options for the reports query.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"createdAt_asc"
ReportRule
Description
The rule set by which a report's aggregate state is derived.
Values
| Enum Value | Description |
|---|---|
|
|
Example
"latestReviewUpdatedAtRules"
ReportedResource
ReviewedResource
Role
Description
A named bundle of permissions that can be assigned to users.
Fields
| Field Name | Description |
|---|---|
_id - String
|
|
memberCount - Int
|
Number of users currently assigned this role. |
name - String!
|
|
permissions - [String!]!
|
The permission keys granted by this role. |
protected - Boolean!
|
Whether the role is a protected built-in that cannot be deleted. |
Example
{
"_id": "xyz789",
"memberCount": 987,
"name": "xyz789",
"permissions": ["abc123"],
"protected": false
}
Room
Description
A chat room, either a one-to-one direct conversation between two users or the shared chat room of a group.
Fields
| Field Name | Description |
|---|---|
_id - String
|
|
avatar - String
|
Display avatar URL: the group's avatar for a group room, otherwise the other participant's avatar. |
createdAt - String
|
|
group - Group
|
The group this room belongs to, or null for a direct room. |
id - ID!
|
|
isGroupRoom - Boolean!
|
True if this is a group room, false for a direct room. |
lastMessage - Message
|
The most recent message in the room. |
lastMessageAt - String
|
Timestamp of the most recent message, for sorting the room list. |
roomId - String!
|
Alias of id; prefer id in new code. |
roomName - String!
|
Display name: the group's name for a group room, otherwise the other participant's name. |
unreadCount - Int
|
Count unread messages, excluding those from blocked/muted senders. |
updatedAt - String
|
|
users - [User]!
|
Participants of the room. |
Arguments |
|
Example
{
"_id": "abc123",
"avatar": "abc123",
"createdAt": "xyz789",
"group": Group,
"id": "4",
"isGroupRoom": false,
"lastMessage": Message,
"lastMessageAt": "xyz789",
"roomId": "abc123",
"roomName": "xyz789",
"unreadCount": 123,
"updatedAt": "abc123",
"users": [User]
}
SearchResult
ShoutTypeEnum
Description
The kind of node that can be shouted (endorsed/boosted).
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"Comment"
SocialMedia
Description
A link to an external social-media profile, shown on a user's profile.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
ownedBy - User!
|
|
Arguments
|
|
url - String
|
|
Example
{
"id": 4,
"ownedBy": User,
"url": "abc123"
}
Statistics
Description
Aggregate counts describing the whole instance.
Fields
| Field Name | Description |
|---|---|
badgesDisplayed - Int!
|
Number of trophy badges users have chosen to display. |
badgesRewarded - Int!
|
|
chatMessages - Int!
|
|
chatRooms - Int!
|
|
comments - Int!
|
|
emails - Int!
|
Number of registered email addresses. |
follows - Int!
|
|
groups - Int!
|
|
inviteCodes - Int!
|
|
inviteCodesExpired - Int!
|
|
inviteCodesRedeemed - Int!
|
|
invites - Int!
|
|
locations - Int!
|
|
notifications - Int!
|
|
posts - Int!
|
|
reports - Int!
|
|
shouts - Int!
|
|
tags - Int!
|
|
users - Int!
|
Number of active (non-deleted) user accounts. |
usersDeleted - Int!
|
|
usersVerified - Int!
|
Example
{
"badgesDisplayed": 123,
"badgesRewarded": 123,
"chatMessages": 123,
"chatRooms": 987,
"comments": 123,
"emails": 123,
"follows": 987,
"groups": 987,
"inviteCodes": 987,
"inviteCodesExpired": 987,
"inviteCodesRedeemed": 987,
"invites": 123,
"locations": 123,
"notifications": 987,
"posts": 123,
"reports": 123,
"shouts": 123,
"tags": 123,
"users": 123,
"usersDeleted": 123,
"usersVerified": 987
}
String
Description
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"xyz789"
Tag
Description
A free-form hashtag. The tag's text is its id. Tags are created implicitly from post content (unlike the curated Category taxonomy).
Example
{
"_id": "abc123",
"deleted": true,
"disabled": true,
"id": 4,
"taggedCount": 123,
"taggedCountUnique": 123,
"taggedPosts": [Post]
}
Upload
Description
The Upload scalar type represents a file upload, sent as multipart/form-data per the GraphQL multipart request spec.
Example
Upload
User
Description
A person's account. Most fields are readable by any authenticated user; a few (email, notification and invite settings) are restricted to the owner or to admins.
Fields
| Field Name | Description |
|---|---|
_id - String
|
|
about - String
|
The user's profile bio. |
activeCategories - [String]
|
Category slugs the user has activated as their content filter. |
actorId - String
|
ActivityPub actor id, for federated users. |
allowEmbedIframes - Boolean
|
Whether the user permits embedded iframes in content they view. |
avatar - Image
|
|
Arguments
|
|
badgeTrophies - [Badge]!
|
All trophy badges awarded to the user. |
badgeTrophiesCount - Int!
|
|
badgeTrophiesSelected - [Badge!]!
|
Trophy badges the user has chosen to display, in slot order. |
badgeTrophiesUnused - [Badge]!
|
Awarded trophy badges the user is not currently displaying. |
badgeTrophiesUnusedCount - Int!
|
|
badgeVerification - Badge!
|
The user's verification badge. |
blocked - Boolean!
|
Whether there is a block in either direction between this user and the current user. |
categories - [Category]
|
|
Arguments |
|
commentedCount - Int!
|
|
comments - [Comment]!
|
Comments written by this user. |
Arguments |
|
contributions - [Post]!
|
Posts written by this user. |
Arguments |
|
contributionsCount - Int!
|
|
createdAt - String
|
ISO 8601 date-time string of registration. |
deleted - Boolean
|
True once the account has been deleted (soft delete). |
disabled - Boolean
|
True while the account is disabled/deactivated. |
email - String!
|
The user's primary email address. Visible only to the owner or with user.email.readAny. |
emailNotificationSettings - [EmailNotificationSettings]!
|
The user's email notification settings. Visible only to the owner. |
emotions - [_UserEmotions]
|
|
Arguments
|
|
followedBy - [User]!
|
Users who follow this user. |
Arguments |
|
followedByCount - Int!
|
|
followedByCurrentUser - Boolean!
|
Is the currently logged in user following that user? |
following - [User]!
|
Users this user follows. |
Arguments |
|
followingCount - Int!
|
|
friends - [User]!
|
|
Arguments |
|
friendsCount - Int!
|
|
id - ID!
|
|
inviteCodes - [InviteCode]!
|
personal inviteCodes the user has generated |
invited - [User]
|
Users this user has invited. |
Arguments |
|
invitedBy - User
|
The user who invited this user, if any. |
Arguments
|
|
isBlocked - Boolean!
|
Whether this user is blocked by the current user. |
isMuted - Boolean!
|
Whether this user is muted by the current user. |
locale - String
|
The user's preferred UI language. |
location - Location
|
|
locationName - String
|
|
name - String
|
|
publicKey - String
|
The user's public key, for federation/verification. |
redeemedInviteCode - InviteCode
|
The invite code this user redeemed on registration, if any. |
Arguments
|
|
roleName - String
|
The user's single dynamic role name (HAS_ROLE), incl. custom roles. Visible with role.manage. |
shouted - [Post]!
|
Posts this user has shouted (endorsed). |
Arguments |
|
shoutedCount - Int!
|
|
showShoutsPublicly - Boolean
|
Whether the user's shouts are shown publicly on their profile. |
slug - String!
|
URL-safe unique handle for the user. |
socialMedia - [SocialMedia]!
|
|
termsAndConditionsAgreedAt - String
|
When the user last agreed to the terms & conditions. |
termsAndConditionsAgreedVersion - String
|
Version of the terms & conditions the user last agreed to. |
updatedAt - String
|
ISO 8601 date-time string of the last update. |
Example
{
"_id": "abc123",
"about": "abc123",
"activeCategories": ["xyz789"],
"actorId": "abc123",
"allowEmbedIframes": true,
"avatar": Image,
"badgeTrophies": [Badge],
"badgeTrophiesCount": 987,
"badgeTrophiesSelected": [Badge],
"badgeTrophiesUnused": [Badge],
"badgeTrophiesUnusedCount": 987,
"badgeVerification": Badge,
"blocked": false,
"categories": [Category],
"commentedCount": 987,
"comments": [Comment],
"contributions": [Post],
"contributionsCount": 987,
"createdAt": "xyz789",
"deleted": false,
"disabled": false,
"email": "xyz789",
"emailNotificationSettings": [
EmailNotificationSettings
],
"emotions": [_UserEmotions],
"followedBy": [User],
"followedByCount": 987,
"followedByCurrentUser": true,
"following": [User],
"followingCount": 123,
"friends": [User],
"friendsCount": 987,
"id": 4,
"inviteCodes": [InviteCode],
"invited": [User],
"invitedBy": User,
"isBlocked": true,
"isMuted": true,
"locale": "abc123",
"location": Location,
"locationName": "abc123",
"name": "abc123",
"publicKey": "xyz789",
"redeemedInviteCode": InviteCode,
"roleName": "xyz789",
"shouted": [Post],
"shoutedCount": 987,
"showShoutsPublicly": false,
"slug": "abc123",
"socialMedia": [SocialMedia],
"termsAndConditionsAgreedAt": "abc123",
"termsAndConditionsAgreedVersion": "xyz789",
"updatedAt": "xyz789"
}
UserData
Description
A bundle of a user together with their posts, used for GDPR-style data export/inspection.
Fields
| Field Name | Description |
|---|---|
_id - String
|
|
posts - [Post]
|
|
Arguments |
|
user - User!
|
|
Arguments
|
|
Example
{
"_id": "xyz789",
"posts": [Post],
"user": User
}
VideoCallConfig
Description
Whether group video calls are available on this instance.
Fields
| Field Name | Description |
|---|---|
enabled - Boolean!
|
Example
{"enabled": false}
VideoCallJoinPayload
Description
Credentials for connecting to a group's video-call room on the media server.
Example
{
"roomName": "xyz789",
"token": "abc123",
"url": "abc123"
}
VideoCallParticipantCount
Visibility
Description
Who is allowed to see a post.
Values
| Enum Value | Description |
|---|---|
|
|
Visible only to the author's friends. |
|
|
Visible only to the author. |
|
|
Visible to everyone, including logged-out visitors and federated instances. |
Example
"friends"
_CategoryFilter
Fields
| Input Field | Description |
|---|---|
AND - [_CategoryFilter!]
|
|
OR - [_CategoryFilter!]
|
|
id_in - [ID!]
|
Example
{
"AND": [_CategoryFilter],
"OR": [_CategoryFilter],
"id_in": [4]
}
_CategoryOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"createdAt_asc"
_ChatMessageStatusPayloadFilter
Fields
| Input Field | Description |
|---|---|
AND - [_ChatMessageStatusPayloadFilter!]
|
|
OR - [_ChatMessageStatusPayloadFilter!]
|
|
roomId - ID
|
|
roomId_contains - ID
|
|
roomId_ends_with - ID
|
|
roomId_in - [ID!]
|
|
roomId_not - ID
|
|
roomId_not_contains - ID
|
|
roomId_not_ends_with - ID
|
|
roomId_not_in - [ID!]
|
|
roomId_not_starts_with - ID
|
|
roomId_starts_with - ID
|
|
status - String
|
|
status_contains - String
|
|
status_ends_with - String
|
|
status_in - [String!]
|
|
status_not - String
|
|
status_not_contains - String
|
|
status_not_ends_with - String
|
|
status_not_in - [String!]
|
|
status_not_starts_with - String
|
|
status_starts_with - String
|
Example
{
"AND": [_ChatMessageStatusPayloadFilter],
"OR": [_ChatMessageStatusPayloadFilter],
"roomId": "4",
"roomId_contains": 4,
"roomId_ends_with": "4",
"roomId_in": ["4"],
"roomId_not": "4",
"roomId_not_contains": "4",
"roomId_not_ends_with": "4",
"roomId_not_in": ["4"],
"roomId_not_starts_with": 4,
"roomId_starts_with": 4,
"status": "abc123",
"status_contains": "xyz789",
"status_ends_with": "xyz789",
"status_in": ["abc123"],
"status_not": "xyz789",
"status_not_contains": "xyz789",
"status_not_ends_with": "xyz789",
"status_not_in": ["xyz789"],
"status_not_starts_with": "abc123",
"status_starts_with": "xyz789"
}
_ChatMessageStatusPayloadOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_CommentFilter
Fields
| Input Field | Description |
|---|---|
AND - [_CommentFilter!]
|
|
OR - [_CommentFilter!]
|
|
author - _UserFilter
|
|
author_in - [_UserFilter!]
|
|
author_not - _UserFilter
|
|
author_not_in - [_UserFilter!]
|
|
content - String
|
|
content_contains - String
|
|
content_ends_with - String
|
|
content_in - [String!]
|
|
content_not - String
|
|
content_not_contains - String
|
|
content_not_ends_with - String
|
|
content_not_in - [String!]
|
|
content_not_starts_with - String
|
|
content_starts_with - String
|
|
id - ID
|
|
id_in - [ID!]
|
|
id_not - ID
|
|
id_not_in - [ID!]
|
|
post - _PostFilter
|
|
post_in - [_PostFilter!]
|
|
post_not - _PostFilter
|
|
post_not_in - [_PostFilter!]
|
Example
{
"AND": [_CommentFilter],
"OR": [_CommentFilter],
"author": _UserFilter,
"author_in": [_UserFilter],
"author_not": _UserFilter,
"author_not_in": [_UserFilter],
"content": "xyz789",
"content_contains": "abc123",
"content_ends_with": "abc123",
"content_in": ["abc123"],
"content_not": "xyz789",
"content_not_contains": "xyz789",
"content_not_ends_with": "abc123",
"content_not_in": ["abc123"],
"content_not_starts_with": "xyz789",
"content_starts_with": "xyz789",
"id": 4,
"id_in": ["4"],
"id_not": 4,
"id_not_in": [4],
"post": _PostFilter,
"post_in": [_PostFilter],
"post_not": _PostFilter,
"post_not_in": [_PostFilter]
}
_CommentOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"content_asc"
_DonationsFilter
Fields
| Input Field | Description |
|---|---|
AND - [_DonationsFilter!]
|
|
OR - [_DonationsFilter!]
|
|
createdAt - String
|
|
createdAt_contains - String
|
|
createdAt_ends_with - String
|
|
createdAt_in - [String!]
|
|
createdAt_not - String
|
|
createdAt_not_contains - String
|
|
createdAt_not_ends_with - String
|
|
createdAt_not_in - [String!]
|
|
createdAt_not_starts_with - String
|
|
createdAt_starts_with - String
|
|
goal - Int
|
|
goal_gt - Int
|
|
goal_gte - Int
|
|
goal_in - [Int!]
|
|
goal_lt - Int
|
|
goal_lte - Int
|
|
goal_not - Int
|
|
goal_not_in - [Int!]
|
|
id - ID
|
|
id_contains - ID
|
|
id_ends_with - ID
|
|
id_in - [ID!]
|
|
id_not - ID
|
|
id_not_contains - ID
|
|
id_not_ends_with - ID
|
|
id_not_in - [ID!]
|
|
id_not_starts_with - ID
|
|
id_starts_with - ID
|
|
progress - Int
|
|
progress_gt - Int
|
|
progress_gte - Int
|
|
progress_in - [Int!]
|
|
progress_lt - Int
|
|
progress_lte - Int
|
|
progress_not - Int
|
|
progress_not_in - [Int!]
|
|
showDonations - Boolean
|
|
showDonations_not - Boolean
|
|
updatedAt - String
|
|
updatedAt_contains - String
|
|
updatedAt_ends_with - String
|
|
updatedAt_in - [String!]
|
|
updatedAt_not - String
|
|
updatedAt_not_contains - String
|
|
updatedAt_not_ends_with - String
|
|
updatedAt_not_in - [String!]
|
|
updatedAt_not_starts_with - String
|
|
updatedAt_starts_with - String
|
Example
{
"AND": [_DonationsFilter],
"OR": [_DonationsFilter],
"createdAt": "xyz789",
"createdAt_contains": "xyz789",
"createdAt_ends_with": "xyz789",
"createdAt_in": ["xyz789"],
"createdAt_not": "xyz789",
"createdAt_not_contains": "xyz789",
"createdAt_not_ends_with": "xyz789",
"createdAt_not_in": ["abc123"],
"createdAt_not_starts_with": "abc123",
"createdAt_starts_with": "abc123",
"goal": 123,
"goal_gt": 123,
"goal_gte": 987,
"goal_in": [123],
"goal_lt": 987,
"goal_lte": 987,
"goal_not": 123,
"goal_not_in": [123],
"id": 4,
"id_contains": 4,
"id_ends_with": "4",
"id_in": ["4"],
"id_not": 4,
"id_not_contains": 4,
"id_not_ends_with": 4,
"id_not_in": [4],
"id_not_starts_with": 4,
"id_starts_with": "4",
"progress": 987,
"progress_gt": 123,
"progress_gte": 123,
"progress_in": [987],
"progress_lt": 987,
"progress_lte": 123,
"progress_not": 123,
"progress_not_in": [123],
"showDonations": false,
"showDonations_not": true,
"updatedAt": "abc123",
"updatedAt_contains": "abc123",
"updatedAt_ends_with": "xyz789",
"updatedAt_in": ["xyz789"],
"updatedAt_not": "abc123",
"updatedAt_not_contains": "abc123",
"updatedAt_not_ends_with": "xyz789",
"updatedAt_not_in": ["abc123"],
"updatedAt_not_starts_with": "xyz789",
"updatedAt_starts_with": "xyz789"
}
_EMOTEDInput
_EffectivePermissionFilter
Fields
| Input Field | Description |
|---|---|
AND - [_EffectivePermissionFilter!]
|
|
OR - [_EffectivePermissionFilter!]
|
|
group - String
|
|
group_contains - String
|
|
group_ends_with - String
|
|
group_in - [String!]
|
|
group_not - String
|
|
group_not_contains - String
|
|
group_not_ends_with - String
|
|
group_not_in - [String!]
|
|
group_not_starts_with - String
|
|
group_starts_with - String
|
|
key - String
|
|
key_contains - String
|
|
key_ends_with - String
|
|
key_in - [String!]
|
|
key_not - String
|
|
key_not_contains - String
|
|
key_not_ends_with - String
|
|
key_not_in - [String!]
|
|
key_not_starts_with - String
|
|
key_starts_with - String
|
Example
{
"AND": [_EffectivePermissionFilter],
"OR": [_EffectivePermissionFilter],
"group": "abc123",
"group_contains": "xyz789",
"group_ends_with": "abc123",
"group_in": ["xyz789"],
"group_not": "xyz789",
"group_not_contains": "xyz789",
"group_not_ends_with": "xyz789",
"group_not_in": ["xyz789"],
"group_not_starts_with": "xyz789",
"group_starts_with": "xyz789",
"key": "xyz789",
"key_contains": "xyz789",
"key_ends_with": "abc123",
"key_in": ["abc123"],
"key_not": "abc123",
"key_not_contains": "xyz789",
"key_not_ends_with": "abc123",
"key_not_in": ["abc123"],
"key_not_starts_with": "abc123",
"key_starts_with": "xyz789"
}
_EffectivePermissionOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_EventInput
Description
Event details supplied when a post is of type Event.
Example
{
"eventEnd": "abc123",
"eventIsOnline": false,
"eventLocationName": "abc123",
"eventStart": "abc123",
"eventVenue": "xyz789"
}
_FileFilter
Fields
| Input Field | Description |
|---|---|
AND - [_FileFilter!]
|
|
OR - [_FileFilter!]
|
|
duration - Float
|
|
duration_gt - Float
|
|
duration_gte - Float
|
|
duration_in - [Float!]
|
|
duration_lt - Float
|
|
duration_lte - Float
|
|
duration_not - Float
|
|
duration_not_in - [Float!]
|
|
extension - String
|
|
extension_contains - String
|
|
extension_ends_with - String
|
|
extension_in - [String!]
|
|
extension_not - String
|
|
extension_not_contains - String
|
|
extension_not_ends_with - String
|
|
extension_not_in - [String!]
|
|
extension_not_starts_with - String
|
|
extension_starts_with - String
|
|
name - String
|
|
name_contains - String
|
|
name_ends_with - String
|
|
name_in - [String!]
|
|
name_not - String
|
|
name_not_contains - String
|
|
name_not_ends_with - String
|
|
name_not_in - [String!]
|
|
name_not_starts_with - String
|
|
name_starts_with - String
|
|
type - String
|
|
type_contains - String
|
|
type_ends_with - String
|
|
type_in - [String!]
|
|
type_not - String
|
|
type_not_contains - String
|
|
type_not_ends_with - String
|
|
type_not_in - [String!]
|
|
type_not_starts_with - String
|
|
type_starts_with - String
|
|
url - ID
|
|
url_contains - ID
|
|
url_ends_with - ID
|
|
url_in - [ID!]
|
|
url_not - ID
|
|
url_not_contains - ID
|
|
url_not_ends_with - ID
|
|
url_not_in - [ID!]
|
|
url_not_starts_with - ID
|
|
url_starts_with - ID
|
Example
{
"AND": [_FileFilter],
"OR": [_FileFilter],
"duration": 987.65,
"duration_gt": 123.45,
"duration_gte": 987.65,
"duration_in": [123.45],
"duration_lt": 987.65,
"duration_lte": 123.45,
"duration_not": 123.45,
"duration_not_in": [987.65],
"extension": "xyz789",
"extension_contains": "abc123",
"extension_ends_with": "xyz789",
"extension_in": ["xyz789"],
"extension_not": "xyz789",
"extension_not_contains": "abc123",
"extension_not_ends_with": "xyz789",
"extension_not_in": ["abc123"],
"extension_not_starts_with": "xyz789",
"extension_starts_with": "abc123",
"name": "abc123",
"name_contains": "xyz789",
"name_ends_with": "abc123",
"name_in": ["xyz789"],
"name_not": "abc123",
"name_not_contains": "abc123",
"name_not_ends_with": "abc123",
"name_not_in": ["abc123"],
"name_not_starts_with": "abc123",
"name_starts_with": "abc123",
"type": "abc123",
"type_contains": "xyz789",
"type_ends_with": "xyz789",
"type_in": ["xyz789"],
"type_not": "abc123",
"type_not_contains": "abc123",
"type_not_ends_with": "abc123",
"type_not_in": ["abc123"],
"type_not_starts_with": "xyz789",
"type_starts_with": "xyz789",
"url": "4",
"url_contains": 4,
"url_ends_with": 4,
"url_in": [4],
"url_not": "4",
"url_not_contains": 4,
"url_not_ends_with": 4,
"url_not_in": [4],
"url_not_starts_with": "4",
"url_starts_with": "4"
}
_FileOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_FiledReportFilter
Fields
| Input Field | Description |
|---|---|
AND - [_FiledReportFilter!]
|
|
OR - [_FiledReportFilter!]
|
|
createdAt - String
|
|
createdAt_contains - String
|
|
createdAt_ends_with - String
|
|
createdAt_in - [String!]
|
|
createdAt_not - String
|
|
createdAt_not_contains - String
|
|
createdAt_not_ends_with - String
|
|
createdAt_not_in - [String!]
|
|
createdAt_not_starts_with - String
|
|
createdAt_starts_with - String
|
|
reasonCategory - ReasonCategory
|
|
reasonCategory_in - [ReasonCategory!]
|
|
reasonCategory_not - ReasonCategory
|
|
reasonCategory_not_in - [ReasonCategory!]
|
|
reasonDescription - String
|
|
reasonDescription_contains - String
|
|
reasonDescription_ends_with - String
|
|
reasonDescription_in - [String!]
|
|
reasonDescription_not - String
|
|
reasonDescription_not_contains - String
|
|
reasonDescription_not_ends_with - String
|
|
reasonDescription_not_in - [String!]
|
|
reasonDescription_not_starts_with - String
|
|
reasonDescription_starts_with - String
|
|
reportId - ID
|
|
reportId_contains - ID
|
|
reportId_ends_with - ID
|
|
reportId_in - [ID!]
|
|
reportId_not - ID
|
|
reportId_not_contains - ID
|
|
reportId_not_ends_with - ID
|
|
reportId_not_in - [ID!]
|
|
reportId_not_starts_with - ID
|
|
reportId_starts_with - ID
|
Example
{
"AND": [_FiledReportFilter],
"OR": [_FiledReportFilter],
"createdAt": "abc123",
"createdAt_contains": "abc123",
"createdAt_ends_with": "xyz789",
"createdAt_in": ["abc123"],
"createdAt_not": "xyz789",
"createdAt_not_contains": "abc123",
"createdAt_not_ends_with": "xyz789",
"createdAt_not_in": ["xyz789"],
"createdAt_not_starts_with": "xyz789",
"createdAt_starts_with": "xyz789",
"reasonCategory": "advert_products_services_commercial",
"reasonCategory_in": ["advert_products_services_commercial"],
"reasonCategory_not": "advert_products_services_commercial",
"reasonCategory_not_in": ["advert_products_services_commercial"],
"reasonDescription": "abc123",
"reasonDescription_contains": "xyz789",
"reasonDescription_ends_with": "xyz789",
"reasonDescription_in": ["abc123"],
"reasonDescription_not": "xyz789",
"reasonDescription_not_contains": "xyz789",
"reasonDescription_not_ends_with": "xyz789",
"reasonDescription_not_in": ["abc123"],
"reasonDescription_not_starts_with": "abc123",
"reasonDescription_starts_with": "abc123",
"reportId": 4,
"reportId_contains": 4,
"reportId_ends_with": "4",
"reportId_in": ["4"],
"reportId_not": "4",
"reportId_not_contains": "4",
"reportId_not_ends_with": 4,
"reportId_not_in": [4],
"reportId_not_starts_with": "4",
"reportId_starts_with": "4"
}
_FiledReportOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_GroupFilter
Fields
| Input Field | Description |
|---|---|
AND - [_GroupFilter!]
|
|
OR - [_GroupFilter!]
|
|
about_contains - String
|
|
actionRadius_in - [GroupActionRadius!]
|
|
description_contains - String
|
|
groupType_in - [GroupType!]
|
|
id - ID
|
|
id_in - [ID!]
|
|
id_not - ID
|
|
id_not_in - [ID!]
|
|
myRole_in - [GroupMemberRole!]
|
|
name_contains - String
|
|
slug_contains - String
|
Example
{
"AND": [_GroupFilter],
"OR": [_GroupFilter],
"about_contains": "xyz789",
"actionRadius_in": ["continental"],
"description_contains": "abc123",
"groupType_in": ["closed"],
"id": "4",
"id_in": ["4"],
"id_not": "4",
"id_not_in": [4],
"myRole_in": ["admin"],
"name_contains": "xyz789",
"slug_contains": "xyz789"
}
_GroupMemberFilter
Fields
| Input Field | Description |
|---|---|
AND - [_GroupMemberFilter!]
|
|
OR - [_GroupMemberFilter!]
|
Example
{
"AND": [_GroupMemberFilter],
"OR": [_GroupMemberFilter]
}
_GroupMemberOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"_id_asc"
_ImageFilter
Fields
| Input Field | Description |
|---|---|
AND - [_ImageFilter!]
|
|
OR - [_ImageFilter!]
|
|
alt - String
|
|
alt_contains - String
|
|
alt_ends_with - String
|
|
alt_in - [String!]
|
|
alt_not - String
|
|
alt_not_contains - String
|
|
alt_not_ends_with - String
|
|
alt_not_in - [String!]
|
|
alt_not_starts_with - String
|
|
alt_starts_with - String
|
|
aspectRatio - Float
|
|
aspectRatio_gt - Float
|
|
aspectRatio_gte - Float
|
|
aspectRatio_in - [Float!]
|
|
aspectRatio_lt - Float
|
|
aspectRatio_lte - Float
|
|
aspectRatio_not - Float
|
|
aspectRatio_not_in - [Float!]
|
|
sensitive - Boolean
|
|
sensitive_not - Boolean
|
|
transform - String
|
|
transform_contains - String
|
|
transform_ends_with - String
|
|
transform_in - [String!]
|
|
transform_not - String
|
|
transform_not_contains - String
|
|
transform_not_ends_with - String
|
|
transform_not_in - [String!]
|
|
transform_not_starts_with - String
|
|
transform_starts_with - String
|
|
type - String
|
|
type_contains - String
|
|
type_ends_with - String
|
|
type_in - [String!]
|
|
type_not - String
|
|
type_not_contains - String
|
|
type_not_ends_with - String
|
|
type_not_in - [String!]
|
|
type_not_starts_with - String
|
|
type_starts_with - String
|
|
url - ID
|
|
url_contains - ID
|
|
url_ends_with - ID
|
|
url_in - [ID!]
|
|
url_not - ID
|
|
url_not_contains - ID
|
|
url_not_ends_with - ID
|
|
url_not_in - [ID!]
|
|
url_not_starts_with - ID
|
|
url_starts_with - ID
|
Example
{
"AND": [_ImageFilter],
"OR": [_ImageFilter],
"alt": "xyz789",
"alt_contains": "abc123",
"alt_ends_with": "xyz789",
"alt_in": ["xyz789"],
"alt_not": "abc123",
"alt_not_contains": "abc123",
"alt_not_ends_with": "xyz789",
"alt_not_in": ["abc123"],
"alt_not_starts_with": "xyz789",
"alt_starts_with": "xyz789",
"aspectRatio": 987.65,
"aspectRatio_gt": 987.65,
"aspectRatio_gte": 123.45,
"aspectRatio_in": [123.45],
"aspectRatio_lt": 987.65,
"aspectRatio_lte": 123.45,
"aspectRatio_not": 123.45,
"aspectRatio_not_in": [123.45],
"sensitive": true,
"sensitive_not": true,
"transform": "abc123",
"transform_contains": "xyz789",
"transform_ends_with": "abc123",
"transform_in": ["abc123"],
"transform_not": "abc123",
"transform_not_contains": "xyz789",
"transform_not_ends_with": "abc123",
"transform_not_in": ["abc123"],
"transform_not_starts_with": "xyz789",
"transform_starts_with": "xyz789",
"type": "xyz789",
"type_contains": "xyz789",
"type_ends_with": "xyz789",
"type_in": ["xyz789"],
"type_not": "xyz789",
"type_not_contains": "abc123",
"type_not_ends_with": "xyz789",
"type_not_in": ["xyz789"],
"type_not_starts_with": "xyz789",
"type_starts_with": "abc123",
"url": 4,
"url_contains": 4,
"url_ends_with": 4,
"url_in": [4],
"url_not": 4,
"url_not_contains": "4",
"url_not_ends_with": 4,
"url_not_in": ["4"],
"url_not_starts_with": "4",
"url_starts_with": "4"
}
_ImageOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_InviteCodeFilter
Fields
| Input Field | Description |
|---|---|
AND - [_InviteCodeFilter!]
|
|
OR - [_InviteCodeFilter!]
|
|
code - ID
|
|
code_contains - ID
|
|
code_ends_with - ID
|
|
code_in - [ID!]
|
|
code_not - ID
|
|
code_not_contains - ID
|
|
code_not_ends_with - ID
|
|
code_not_in - [ID!]
|
|
code_not_starts_with - ID
|
|
code_starts_with - ID
|
|
comment - String
|
|
comment_contains - String
|
|
comment_ends_with - String
|
|
comment_in - [String!]
|
|
comment_not - String
|
|
comment_not_contains - String
|
|
comment_not_ends_with - String
|
|
comment_not_in - [String!]
|
|
comment_not_starts_with - String
|
|
comment_starts_with - String
|
|
createdAt - String
|
|
createdAt_contains - String
|
|
createdAt_ends_with - String
|
|
createdAt_in - [String!]
|
|
createdAt_not - String
|
|
createdAt_not_contains - String
|
|
createdAt_not_ends_with - String
|
|
createdAt_not_in - [String!]
|
|
createdAt_not_starts_with - String
|
|
createdAt_starts_with - String
|
|
expiresAt - String
|
|
expiresAt_contains - String
|
|
expiresAt_ends_with - String
|
|
expiresAt_in - [String!]
|
|
expiresAt_not - String
|
|
expiresAt_not_contains - String
|
|
expiresAt_not_ends_with - String
|
|
expiresAt_not_in - [String!]
|
|
expiresAt_not_starts_with - String
|
|
expiresAt_starts_with - String
|
|
generatedBy - _UserFilter
|
|
generatedBy_in - [_UserFilter!]
|
|
generatedBy_not - _UserFilter
|
|
generatedBy_not_in - [_UserFilter!]
|
|
redeemedBy - _UserFilter
|
|
redeemedBy_every - _UserFilter
|
|
redeemedBy_in - [_UserFilter!]
|
|
redeemedBy_none - _UserFilter
|
|
redeemedBy_not - _UserFilter
|
|
redeemedBy_not_in - [_UserFilter!]
|
|
redeemedBy_single - _UserFilter
|
|
redeemedBy_some - _UserFilter
|
Example
{
"AND": [_InviteCodeFilter],
"OR": [_InviteCodeFilter],
"code": "4",
"code_contains": 4,
"code_ends_with": 4,
"code_in": [4],
"code_not": 4,
"code_not_contains": "4",
"code_not_ends_with": 4,
"code_not_in": [4],
"code_not_starts_with": 4,
"code_starts_with": 4,
"comment": "xyz789",
"comment_contains": "xyz789",
"comment_ends_with": "xyz789",
"comment_in": ["abc123"],
"comment_not": "xyz789",
"comment_not_contains": "xyz789",
"comment_not_ends_with": "xyz789",
"comment_not_in": ["abc123"],
"comment_not_starts_with": "xyz789",
"comment_starts_with": "xyz789",
"createdAt": "xyz789",
"createdAt_contains": "abc123",
"createdAt_ends_with": "abc123",
"createdAt_in": ["xyz789"],
"createdAt_not": "abc123",
"createdAt_not_contains": "abc123",
"createdAt_not_ends_with": "xyz789",
"createdAt_not_in": ["abc123"],
"createdAt_not_starts_with": "xyz789",
"createdAt_starts_with": "abc123",
"expiresAt": "abc123",
"expiresAt_contains": "xyz789",
"expiresAt_ends_with": "abc123",
"expiresAt_in": ["abc123"],
"expiresAt_not": "abc123",
"expiresAt_not_contains": "abc123",
"expiresAt_not_ends_with": "abc123",
"expiresAt_not_in": ["xyz789"],
"expiresAt_not_starts_with": "abc123",
"expiresAt_starts_with": "xyz789",
"generatedBy": _UserFilter,
"generatedBy_in": [_UserFilter],
"generatedBy_not": _UserFilter,
"generatedBy_not_in": [_UserFilter],
"redeemedBy": _UserFilter,
"redeemedBy_every": _UserFilter,
"redeemedBy_in": [_UserFilter],
"redeemedBy_none": _UserFilter,
"redeemedBy_not": _UserFilter,
"redeemedBy_not_in": [_UserFilter],
"redeemedBy_single": _UserFilter,
"redeemedBy_some": _UserFilter
}
_InviteCodeOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_LocationMapBoxFilter
Fields
| Input Field | Description |
|---|---|
AND - [_LocationMapBoxFilter!]
|
|
OR - [_LocationMapBoxFilter!]
|
|
id - ID
|
|
id_contains - ID
|
|
id_ends_with - ID
|
|
id_in - [ID!]
|
|
id_not - ID
|
|
id_not_contains - ID
|
|
id_not_ends_with - ID
|
|
id_not_in - [ID!]
|
|
id_not_starts_with - ID
|
|
id_starts_with - ID
|
|
place_name - String
|
|
place_name_contains - String
|
|
place_name_ends_with - String
|
|
place_name_in - [String!]
|
|
place_name_not - String
|
|
place_name_not_contains - String
|
|
place_name_not_ends_with - String
|
|
place_name_not_in - [String!]
|
|
place_name_not_starts_with - String
|
|
place_name_starts_with - String
|
Example
{
"AND": [_LocationMapBoxFilter],
"OR": [_LocationMapBoxFilter],
"id": 4,
"id_contains": 4,
"id_ends_with": 4,
"id_in": [4],
"id_not": "4",
"id_not_contains": "4",
"id_not_ends_with": 4,
"id_not_in": [4],
"id_not_starts_with": 4,
"id_starts_with": "4",
"place_name": "abc123",
"place_name_contains": "xyz789",
"place_name_ends_with": "abc123",
"place_name_in": ["abc123"],
"place_name_not": "xyz789",
"place_name_not_contains": "abc123",
"place_name_not_ends_with": "xyz789",
"place_name_not_in": ["abc123"],
"place_name_not_starts_with": "abc123",
"place_name_starts_with": "xyz789"
}
_LocationMapBoxOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_MEMBER_OFFilter
Fields
| Input Field | Description |
|---|---|
AND - [_MEMBER_OFFilter!]
|
|
OR - [_MEMBER_OFFilter!]
|
|
createdAt - String
|
|
createdAt_contains - String
|
|
createdAt_ends_with - String
|
|
createdAt_in - [String!]
|
|
createdAt_not - String
|
|
createdAt_not_contains - String
|
|
createdAt_not_ends_with - String
|
|
createdAt_not_in - [String!]
|
|
createdAt_not_starts_with - String
|
|
createdAt_starts_with - String
|
|
role - GroupMemberRole
|
|
role_in - [GroupMemberRole!]
|
|
role_not - GroupMemberRole
|
|
role_not_in - [GroupMemberRole!]
|
|
updatedAt - String
|
|
updatedAt_contains - String
|
|
updatedAt_ends_with - String
|
|
updatedAt_in - [String!]
|
|
updatedAt_not - String
|
|
updatedAt_not_contains - String
|
|
updatedAt_not_ends_with - String
|
|
updatedAt_not_in - [String!]
|
|
updatedAt_not_starts_with - String
|
|
updatedAt_starts_with - String
|
Example
{
"AND": [_MEMBER_OFFilter],
"OR": [_MEMBER_OFFilter],
"createdAt": "abc123",
"createdAt_contains": "xyz789",
"createdAt_ends_with": "xyz789",
"createdAt_in": ["xyz789"],
"createdAt_not": "xyz789",
"createdAt_not_contains": "xyz789",
"createdAt_not_ends_with": "xyz789",
"createdAt_not_in": ["abc123"],
"createdAt_not_starts_with": "xyz789",
"createdAt_starts_with": "abc123",
"role": "admin",
"role_in": ["admin"],
"role_not": "admin",
"role_not_in": ["admin"],
"updatedAt": "xyz789",
"updatedAt_contains": "abc123",
"updatedAt_ends_with": "abc123",
"updatedAt_in": ["xyz789"],
"updatedAt_not": "abc123",
"updatedAt_not_contains": "xyz789",
"updatedAt_not_ends_with": "abc123",
"updatedAt_not_in": ["abc123"],
"updatedAt_not_starts_with": "xyz789",
"updatedAt_starts_with": "xyz789"
}
_MEMBER_OFOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_MessageFilter
Fields
| Input Field | Description |
|---|---|
AND - [_MessageFilter!]
|
|
OR - [_MessageFilter!]
|
|
author - _UserFilter
|
|
author_in - [_UserFilter!]
|
|
author_not - _UserFilter
|
|
author_not_in - [_UserFilter!]
|
|
content - String
|
|
content_contains - String
|
|
content_ends_with - String
|
|
content_in - [String!]
|
|
content_not - String
|
|
content_not_contains - String
|
|
content_not_ends_with - String
|
|
content_not_in - [String!]
|
|
content_not_starts_with - String
|
|
content_starts_with - String
|
|
createdAt - String
|
|
createdAt_contains - String
|
|
createdAt_ends_with - String
|
|
createdAt_in - [String!]
|
|
createdAt_not - String
|
|
createdAt_not_contains - String
|
|
createdAt_not_ends_with - String
|
|
createdAt_not_in - [String!]
|
|
createdAt_not_starts_with - String
|
|
createdAt_starts_with - String
|
|
distributed - Boolean
|
|
distributed_not - Boolean
|
|
files - _FileFilter
|
|
files_every - _FileFilter
|
|
files_in - [_FileFilter!]
|
|
files_none - _FileFilter
|
|
files_not - _FileFilter
|
|
files_not_in - [_FileFilter!]
|
|
files_single - _FileFilter
|
|
files_some - _FileFilter
|
|
id - ID
|
|
id_contains - ID
|
|
id_ends_with - ID
|
|
id_in - [ID!]
|
|
id_not - ID
|
|
id_not_contains - ID
|
|
id_not_ends_with - ID
|
|
id_not_in - [ID!]
|
|
id_not_starts_with - ID
|
|
id_starts_with - ID
|
|
indexId - Int
|
|
indexId_gt - Int
|
|
indexId_gte - Int
|
|
indexId_in - [Int!]
|
|
indexId_lt - Int
|
|
indexId_lte - Int
|
|
indexId_not - Int
|
|
indexId_not_in - [Int!]
|
|
room - _RoomFilter
|
|
room_in - [_RoomFilter!]
|
|
room_not - _RoomFilter
|
|
room_not_in - [_RoomFilter!]
|
|
saved - Boolean
|
|
saved_not - Boolean
|
|
updatedAt - String
|
|
updatedAt_contains - String
|
|
updatedAt_ends_with - String
|
|
updatedAt_in - [String!]
|
|
updatedAt_not - String
|
|
updatedAt_not_contains - String
|
|
updatedAt_not_ends_with - String
|
|
updatedAt_not_in - [String!]
|
|
updatedAt_not_starts_with - String
|
|
updatedAt_starts_with - String
|
Example
{
"AND": [_MessageFilter],
"OR": [_MessageFilter],
"author": _UserFilter,
"author_in": [_UserFilter],
"author_not": _UserFilter,
"author_not_in": [_UserFilter],
"content": "xyz789",
"content_contains": "xyz789",
"content_ends_with": "xyz789",
"content_in": ["xyz789"],
"content_not": "xyz789",
"content_not_contains": "xyz789",
"content_not_ends_with": "abc123",
"content_not_in": ["abc123"],
"content_not_starts_with": "abc123",
"content_starts_with": "abc123",
"createdAt": "xyz789",
"createdAt_contains": "xyz789",
"createdAt_ends_with": "xyz789",
"createdAt_in": ["xyz789"],
"createdAt_not": "abc123",
"createdAt_not_contains": "xyz789",
"createdAt_not_ends_with": "xyz789",
"createdAt_not_in": ["abc123"],
"createdAt_not_starts_with": "xyz789",
"createdAt_starts_with": "abc123",
"distributed": true,
"distributed_not": false,
"files": _FileFilter,
"files_every": _FileFilter,
"files_in": [_FileFilter],
"files_none": _FileFilter,
"files_not": _FileFilter,
"files_not_in": [_FileFilter],
"files_single": _FileFilter,
"files_some": _FileFilter,
"id": 4,
"id_contains": "4",
"id_ends_with": "4",
"id_in": [4],
"id_not": 4,
"id_not_contains": "4",
"id_not_ends_with": "4",
"id_not_in": [4],
"id_not_starts_with": "4",
"id_starts_with": 4,
"indexId": 123,
"indexId_gt": 123,
"indexId_gte": 987,
"indexId_in": [123],
"indexId_lt": 987,
"indexId_lte": 987,
"indexId_not": 123,
"indexId_not_in": [987],
"room": _RoomFilter,
"room_in": [_RoomFilter],
"room_not": _RoomFilter,
"room_not_in": [_RoomFilter],
"saved": false,
"saved_not": false,
"updatedAt": "xyz789",
"updatedAt_contains": "xyz789",
"updatedAt_ends_with": "abc123",
"updatedAt_in": ["xyz789"],
"updatedAt_not": "xyz789",
"updatedAt_not_contains": "xyz789",
"updatedAt_not_ends_with": "abc123",
"updatedAt_not_in": ["abc123"],
"updatedAt_not_starts_with": "abc123",
"updatedAt_starts_with": "xyz789"
}
_MessageOrdering
Values
| Enum Value | Description |
|---|---|
|
|
Example
"indexId_desc"
_PermissionFilter
Fields
| Input Field | Description |
|---|---|
AND - [_PermissionFilter!]
|
|
OR - [_PermissionFilter!]
|
|
available - Boolean
|
|
available_not - Boolean
|
|
description - String
|
|
description_contains - String
|
|
description_ends_with - String
|
|
description_in - [String!]
|
|
description_not - String
|
|
description_not_contains - String
|
|
description_not_ends_with - String
|
|
description_not_in - [String!]
|
|
description_not_starts_with - String
|
|
description_starts_with - String
|
|
gatedBy - String
|
|
gatedBy_contains - String
|
|
gatedBy_ends_with - String
|
|
gatedBy_in - [String!]
|
|
gatedBy_not - String
|
|
gatedBy_not_contains - String
|
|
gatedBy_not_ends_with - String
|
|
gatedBy_not_in - [String!]
|
|
gatedBy_not_starts_with - String
|
|
gatedBy_starts_with - String
|
|
group - String
|
|
group_contains - String
|
|
group_ends_with - String
|
|
group_in - [String!]
|
|
group_not - String
|
|
group_not_contains - String
|
|
group_not_ends_with - String
|
|
group_not_in - [String!]
|
|
group_not_starts_with - String
|
|
group_starts_with - String
|
|
key - String
|
|
key_contains - String
|
|
key_ends_with - String
|
|
key_in - [String!]
|
|
key_not - String
|
|
key_not_contains - String
|
|
key_not_ends_with - String
|
|
key_not_in - [String!]
|
|
key_not_starts_with - String
|
|
key_starts_with - String
|
Example
{
"AND": [_PermissionFilter],
"OR": [_PermissionFilter],
"available": true,
"available_not": true,
"description": "abc123",
"description_contains": "xyz789",
"description_ends_with": "xyz789",
"description_in": ["xyz789"],
"description_not": "xyz789",
"description_not_contains": "abc123",
"description_not_ends_with": "xyz789",
"description_not_in": ["abc123"],
"description_not_starts_with": "xyz789",
"description_starts_with": "xyz789",
"gatedBy": "xyz789",
"gatedBy_contains": "abc123",
"gatedBy_ends_with": "abc123",
"gatedBy_in": ["abc123"],
"gatedBy_not": "xyz789",
"gatedBy_not_contains": "xyz789",
"gatedBy_not_ends_with": "abc123",
"gatedBy_not_in": ["abc123"],
"gatedBy_not_starts_with": "abc123",
"gatedBy_starts_with": "abc123",
"group": "abc123",
"group_contains": "abc123",
"group_ends_with": "xyz789",
"group_in": ["abc123"],
"group_not": "xyz789",
"group_not_contains": "xyz789",
"group_not_ends_with": "xyz789",
"group_not_in": ["abc123"],
"group_not_starts_with": "xyz789",
"group_starts_with": "abc123",
"key": "abc123",
"key_contains": "abc123",
"key_ends_with": "xyz789",
"key_in": ["abc123"],
"key_not": "xyz789",
"key_not_contains": "xyz789",
"key_not_ends_with": "xyz789",
"key_not_in": ["abc123"],
"key_not_starts_with": "abc123",
"key_starts_with": "xyz789"
}
_PermissionOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_PermissionsChangedFilter
Fields
| Input Field | Description |
|---|---|
AND - [_PermissionsChangedFilter!]
|
|
OR - [_PermissionsChangedFilter!]
|
|
roleName - String
|
|
roleName_contains - String
|
|
roleName_ends_with - String
|
|
roleName_in - [String!]
|
|
roleName_not - String
|
|
roleName_not_contains - String
|
|
roleName_not_ends_with - String
|
|
roleName_not_in - [String!]
|
|
roleName_not_starts_with - String
|
|
roleName_starts_with - String
|
Example
{
"AND": [_PermissionsChangedFilter],
"OR": [_PermissionsChangedFilter],
"roleName": "abc123",
"roleName_contains": "xyz789",
"roleName_ends_with": "xyz789",
"roleName_in": ["xyz789"],
"roleName_not": "xyz789",
"roleName_not_contains": "xyz789",
"roleName_not_ends_with": "xyz789",
"roleName_not_in": ["xyz789"],
"roleName_not_starts_with": "abc123",
"roleName_starts_with": "xyz789"
}
_PermissionsChangedOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_PinnedPostCountsFilter
Fields
| Input Field | Description |
|---|---|
AND - [_PinnedPostCountsFilter!]
|
|
OR - [_PinnedPostCountsFilter!]
|
|
currentlyPinnedPosts - Int
|
|
currentlyPinnedPosts_gt - Int
|
|
currentlyPinnedPosts_gte - Int
|
|
currentlyPinnedPosts_in - [Int!]
|
|
currentlyPinnedPosts_lt - Int
|
|
currentlyPinnedPosts_lte - Int
|
|
currentlyPinnedPosts_not - Int
|
|
currentlyPinnedPosts_not_in - [Int!]
|
Example
{
"AND": [_PinnedPostCountsFilter],
"OR": [_PinnedPostCountsFilter],
"currentlyPinnedPosts": 987,
"currentlyPinnedPosts_gt": 987,
"currentlyPinnedPosts_gte": 987,
"currentlyPinnedPosts_in": [987],
"currentlyPinnedPosts_lt": 123,
"currentlyPinnedPosts_lte": 123,
"currentlyPinnedPosts_not": 987,
"currentlyPinnedPosts_not_in": [987]
}
_PinnedPostCountsOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_PolicyChangeEventFilter
Fields
| Input Field | Description |
|---|---|
AND - [_PolicyChangeEventFilter!]
|
|
OR - [_PolicyChangeEventFilter!]
|
|
actor - String
|
|
actor_contains - String
|
|
actor_ends_with - String
|
|
actor_in - [String!]
|
|
actor_not - String
|
|
actor_not_contains - String
|
|
actor_not_ends_with - String
|
|
actor_not_in - [String!]
|
|
actor_not_starts_with - String
|
|
actor_starts_with - String
|
|
key - PolicyKey
|
|
key_in - [PolicyKey!]
|
|
key_not - PolicyKey
|
|
key_not_in - [PolicyKey!]
|
|
timestamp - String
|
|
timestamp_contains - String
|
|
timestamp_ends_with - String
|
|
timestamp_in - [String!]
|
|
timestamp_not - String
|
|
timestamp_not_contains - String
|
|
timestamp_not_ends_with - String
|
|
timestamp_not_in - [String!]
|
|
timestamp_not_starts_with - String
|
|
timestamp_starts_with - String
|
|
value - String
|
|
value_contains - String
|
|
value_ends_with - String
|
|
value_in - [String!]
|
|
value_not - String
|
|
value_not_contains - String
|
|
value_not_ends_with - String
|
|
value_not_in - [String!]
|
|
value_not_starts_with - String
|
|
value_starts_with - String
|
Example
{
"AND": [_PolicyChangeEventFilter],
"OR": [_PolicyChangeEventFilter],
"actor": "xyz789",
"actor_contains": "xyz789",
"actor_ends_with": "abc123",
"actor_in": ["abc123"],
"actor_not": "xyz789",
"actor_not_contains": "abc123",
"actor_not_ends_with": "xyz789",
"actor_not_in": ["xyz789"],
"actor_not_starts_with": "xyz789",
"actor_starts_with": "abc123",
"key": "apiKeysEnabled",
"key_in": ["apiKeysEnabled"],
"key_not": "apiKeysEnabled",
"key_not_in": ["apiKeysEnabled"],
"timestamp": "xyz789",
"timestamp_contains": "abc123",
"timestamp_ends_with": "xyz789",
"timestamp_in": ["xyz789"],
"timestamp_not": "xyz789",
"timestamp_not_contains": "xyz789",
"timestamp_not_ends_with": "abc123",
"timestamp_not_in": ["xyz789"],
"timestamp_not_starts_with": "abc123",
"timestamp_starts_with": "abc123",
"value": "abc123",
"value_contains": "abc123",
"value_ends_with": "abc123",
"value_in": ["xyz789"],
"value_not": "xyz789",
"value_not_contains": "abc123",
"value_not_ends_with": "abc123",
"value_not_in": ["xyz789"],
"value_not_starts_with": "xyz789",
"value_starts_with": "abc123"
}
_PolicyChangeEventOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_PolicyDefaultsFilter
Fields
| Input Field | Description |
|---|---|
AND - [_PolicyDefaultsFilter!]
|
|
OR - [_PolicyDefaultsFilter!]
|
Example
{
"AND": [_PolicyDefaultsFilter],
"OR": [_PolicyDefaultsFilter]
}
_PolicyDefaultsOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"_id_asc"
_PolicyFilter
Fields
| Input Field | Description |
|---|---|
AND - [_PolicyFilter!]
|
|
OR - [_PolicyFilter!]
|
|
apiKeysEnabled - Boolean
|
|
apiKeysEnabled_not - Boolean
|
|
apiKeysMaxPerUser - Int
|
|
apiKeysMaxPerUser_gt - Int
|
|
apiKeysMaxPerUser_gte - Int
|
|
apiKeysMaxPerUser_in - [Int!]
|
|
apiKeysMaxPerUser_lt - Int
|
|
apiKeysMaxPerUser_lte - Int
|
|
apiKeysMaxPerUser_not - Int
|
|
apiKeysMaxPerUser_not_in - [Int!]
|
|
askForRealName - Boolean
|
|
askForRealName_not - Boolean
|
|
badgesEnabled - Boolean
|
|
badgesEnabled_not - Boolean
|
|
categoriesActive - Boolean
|
|
categoriesActive_not - Boolean
|
|
inviteCodesGroupPerUser - Int
|
|
inviteCodesGroupPerUser_gt - Int
|
|
inviteCodesGroupPerUser_gte - Int
|
|
inviteCodesGroupPerUser_in - [Int!]
|
|
inviteCodesGroupPerUser_lt - Int
|
|
inviteCodesGroupPerUser_lte - Int
|
|
inviteCodesGroupPerUser_not - Int
|
|
inviteCodesGroupPerUser_not_in - [Int!]
|
|
inviteCodesPersonalPerUser - Int
|
|
inviteCodesPersonalPerUser_gt - Int
|
|
inviteCodesPersonalPerUser_gte - Int
|
|
inviteCodesPersonalPerUser_in - [Int!]
|
|
inviteCodesPersonalPerUser_lt - Int
|
|
inviteCodesPersonalPerUser_lte - Int
|
|
inviteCodesPersonalPerUser_not - Int
|
|
inviteCodesPersonalPerUser_not_in - [Int!]
|
|
inviteLinkLimit - Int
|
|
inviteLinkLimit_gt - Int
|
|
inviteLinkLimit_gte - Int
|
|
inviteLinkLimit_in - [Int!]
|
|
inviteLinkLimit_lt - Int
|
|
inviteLinkLimit_lte - Int
|
|
inviteLinkLimit_not - Int
|
|
inviteLinkLimit_not_in - [Int!]
|
|
inviteRegistration - Boolean
|
|
inviteRegistration_not - Boolean
|
|
maxGroupPinnedPosts - Int
|
|
maxGroupPinnedPosts_gt - Int
|
|
maxGroupPinnedPosts_gte - Int
|
|
maxGroupPinnedPosts_in - [Int!]
|
|
maxGroupPinnedPosts_lt - Int
|
|
maxGroupPinnedPosts_lte - Int
|
|
maxGroupPinnedPosts_not - Int
|
|
maxGroupPinnedPosts_not_in - [Int!]
|
|
maxPinnedPosts - Int
|
|
maxPinnedPosts_gt - Int
|
|
maxPinnedPosts_gte - Int
|
|
maxPinnedPosts_in - [Int!]
|
|
maxPinnedPosts_lt - Int
|
|
maxPinnedPosts_lte - Int
|
|
maxPinnedPosts_not - Int
|
|
maxPinnedPosts_not_in - [Int!]
|
|
publicRegistration - Boolean
|
|
publicRegistration_not - Boolean
|
|
requireLocation - Boolean
|
|
requireLocation_not - Boolean
|
|
showContentFilterHeaderMenu - Boolean
|
|
showContentFilterHeaderMenu_not - Boolean
|
|
showContentFilterMasonryGrid - Boolean
|
|
showContentFilterMasonryGrid_not - Boolean
|
|
showGroupButtonInHeader - Boolean
|
|
showGroupButtonInHeader_not - Boolean
|
Example
{
"AND": [_PolicyFilter],
"OR": [_PolicyFilter],
"apiKeysEnabled": true,
"apiKeysEnabled_not": false,
"apiKeysMaxPerUser": 123,
"apiKeysMaxPerUser_gt": 987,
"apiKeysMaxPerUser_gte": 123,
"apiKeysMaxPerUser_in": [123],
"apiKeysMaxPerUser_lt": 987,
"apiKeysMaxPerUser_lte": 987,
"apiKeysMaxPerUser_not": 123,
"apiKeysMaxPerUser_not_in": [987],
"askForRealName": false,
"askForRealName_not": false,
"badgesEnabled": true,
"badgesEnabled_not": false,
"categoriesActive": true,
"categoriesActive_not": true,
"inviteCodesGroupPerUser": 123,
"inviteCodesGroupPerUser_gt": 123,
"inviteCodesGroupPerUser_gte": 987,
"inviteCodesGroupPerUser_in": [987],
"inviteCodesGroupPerUser_lt": 987,
"inviteCodesGroupPerUser_lte": 123,
"inviteCodesGroupPerUser_not": 123,
"inviteCodesGroupPerUser_not_in": [123],
"inviteCodesPersonalPerUser": 987,
"inviteCodesPersonalPerUser_gt": 987,
"inviteCodesPersonalPerUser_gte": 123,
"inviteCodesPersonalPerUser_in": [123],
"inviteCodesPersonalPerUser_lt": 987,
"inviteCodesPersonalPerUser_lte": 987,
"inviteCodesPersonalPerUser_not": 123,
"inviteCodesPersonalPerUser_not_in": [123],
"inviteLinkLimit": 123,
"inviteLinkLimit_gt": 123,
"inviteLinkLimit_gte": 123,
"inviteLinkLimit_in": [987],
"inviteLinkLimit_lt": 123,
"inviteLinkLimit_lte": 987,
"inviteLinkLimit_not": 123,
"inviteLinkLimit_not_in": [123],
"inviteRegistration": true,
"inviteRegistration_not": true,
"maxGroupPinnedPosts": 987,
"maxGroupPinnedPosts_gt": 987,
"maxGroupPinnedPosts_gte": 123,
"maxGroupPinnedPosts_in": [123],
"maxGroupPinnedPosts_lt": 987,
"maxGroupPinnedPosts_lte": 987,
"maxGroupPinnedPosts_not": 123,
"maxGroupPinnedPosts_not_in": [123],
"maxPinnedPosts": 987,
"maxPinnedPosts_gt": 987,
"maxPinnedPosts_gte": 987,
"maxPinnedPosts_in": [123],
"maxPinnedPosts_lt": 123,
"maxPinnedPosts_lte": 987,
"maxPinnedPosts_not": 123,
"maxPinnedPosts_not_in": [987],
"publicRegistration": false,
"publicRegistration_not": true,
"requireLocation": true,
"requireLocation_not": true,
"showContentFilterHeaderMenu": false,
"showContentFilterHeaderMenu_not": false,
"showContentFilterMasonryGrid": true,
"showContentFilterMasonryGrid_not": false,
"showGroupButtonInHeader": false,
"showGroupButtonInHeader_not": true
}
_PolicyLastChangeFilter
Fields
| Input Field | Description |
|---|---|
AND - [_PolicyLastChangeFilter!]
|
|
OR - [_PolicyLastChangeFilter!]
|
|
actor - String
|
|
actor_contains - String
|
|
actor_ends_with - String
|
|
actor_in - [String!]
|
|
actor_not - String
|
|
actor_not_contains - String
|
|
actor_not_ends_with - String
|
|
actor_not_in - [String!]
|
|
actor_not_starts_with - String
|
|
actor_starts_with - String
|
|
timestamp - String
|
|
timestamp_contains - String
|
|
timestamp_ends_with - String
|
|
timestamp_in - [String!]
|
|
timestamp_not - String
|
|
timestamp_not_contains - String
|
|
timestamp_not_ends_with - String
|
|
timestamp_not_in - [String!]
|
|
timestamp_not_starts_with - String
|
|
timestamp_starts_with - String
|
Example
{
"AND": [_PolicyLastChangeFilter],
"OR": [_PolicyLastChangeFilter],
"actor": "abc123",
"actor_contains": "abc123",
"actor_ends_with": "abc123",
"actor_in": ["xyz789"],
"actor_not": "xyz789",
"actor_not_contains": "abc123",
"actor_not_ends_with": "abc123",
"actor_not_in": ["xyz789"],
"actor_not_starts_with": "xyz789",
"actor_starts_with": "abc123",
"timestamp": "xyz789",
"timestamp_contains": "xyz789",
"timestamp_ends_with": "abc123",
"timestamp_in": ["xyz789"],
"timestamp_not": "xyz789",
"timestamp_not_contains": "abc123",
"timestamp_not_ends_with": "xyz789",
"timestamp_not_in": ["abc123"],
"timestamp_not_starts_with": "xyz789",
"timestamp_starts_with": "xyz789"
}
_PolicyLastChangeOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_PolicyOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_PolicyValueChangedFilter
Fields
| Input Field | Description |
|---|---|
AND - [_PolicyValueChangedFilter!]
|
|
OR - [_PolicyValueChangedFilter!]
|
|
key - PolicyKey
|
|
key_in - [PolicyKey!]
|
|
key_not - PolicyKey
|
|
key_not_in - [PolicyKey!]
|
|
value - String
|
|
value_contains - String
|
|
value_ends_with - String
|
|
value_in - [String!]
|
|
value_not - String
|
|
value_not_contains - String
|
|
value_not_ends_with - String
|
|
value_not_in - [String!]
|
|
value_not_starts_with - String
|
|
value_starts_with - String
|
Example
{
"AND": [_PolicyValueChangedFilter],
"OR": [_PolicyValueChangedFilter],
"key": "apiKeysEnabled",
"key_in": ["apiKeysEnabled"],
"key_not": "apiKeysEnabled",
"key_not_in": ["apiKeysEnabled"],
"value": "abc123",
"value_contains": "xyz789",
"value_ends_with": "xyz789",
"value_in": ["xyz789"],
"value_not": "abc123",
"value_not_contains": "abc123",
"value_not_ends_with": "xyz789",
"value_not_in": ["abc123"],
"value_not_starts_with": "xyz789",
"value_starts_with": "xyz789"
}
_PolicyValueChangedOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_PostEMOTEDFilter
_PostEmotions
_PostFilter
Fields
| Input Field | Description |
|---|---|
AND - [_PostFilter!]
|
|
OR - [_PostFilter!]
|
|
author - _UserFilter
|
|
author_in - [_UserFilter!]
|
|
author_not - _UserFilter
|
|
author_not_in - [_UserFilter!]
|
|
categories - _CategoryFilter
|
|
categories_every - _CategoryFilter
|
|
categories_in - [_CategoryFilter!]
|
|
categories_none - _CategoryFilter
|
|
categories_not - _CategoryFilter
|
|
categories_not_in - [_CategoryFilter!]
|
|
categories_single - _CategoryFilter
|
|
categories_some - _CategoryFilter
|
|
comments - _CommentFilter
|
|
comments_every - _CommentFilter
|
|
comments_in - [_CommentFilter!]
|
|
comments_none - _CommentFilter
|
|
comments_not - _CommentFilter
|
|
comments_not_in - [_CommentFilter!]
|
|
comments_single - _CommentFilter
|
|
comments_some - _CommentFilter
|
|
content - String
|
|
content_contains - String
|
|
content_ends_with - String
|
|
content_in - [String!]
|
|
content_not - String
|
|
content_not_contains - String
|
|
content_not_ends_with - String
|
|
content_not_in - [String!]
|
|
content_not_starts_with - String
|
|
content_starts_with - String
|
|
emotions - _PostEMOTEDFilter
|
|
emotions_every - _PostEMOTEDFilter
|
|
emotions_in - [_PostEMOTEDFilter!]
|
|
emotions_none - _PostEMOTEDFilter
|
|
emotions_not - _PostEMOTEDFilter
|
|
emotions_not_in - [_PostEMOTEDFilter!]
|
|
emotions_single - _PostEMOTEDFilter
|
|
emotions_some - _PostEMOTEDFilter
|
|
eventEnd_gte - String
|
|
eventStart_gte - String
|
|
group - _GroupFilter
|
|
groupPinned - Boolean
|
|
hasLocation - Boolean
|
|
id - ID
|
|
id_in - [ID!]
|
|
id_not - ID
|
|
id_not_in - [ID!]
|
|
language - String
|
|
language_in - [String!]
|
|
language_not - String
|
|
language_not_in - [String!]
|
|
pinned - Boolean
|
|
postType_in - [PostType]
|
|
postsInMyGroups - Boolean
|
|
shoutedBy_some - _UserFilter
|
|
skipPinnedFilter - Boolean
|
|
slug - String
|
|
slug_contains - String
|
|
slug_ends_with - String
|
|
slug_in - [String!]
|
|
slug_not - String
|
|
slug_not_contains - String
|
|
slug_not_ends_with - String
|
|
slug_not_in - [String!]
|
|
slug_not_starts_with - String
|
|
slug_starts_with - String
|
|
tags - _TagFilter
|
|
tags_every - _TagFilter
|
|
tags_in - [_TagFilter!]
|
|
tags_none - _TagFilter
|
|
tags_not - _TagFilter
|
|
tags_not_in - [_TagFilter!]
|
|
tags_single - _TagFilter
|
|
tags_some - _TagFilter
|
|
title - String
|
|
title_contains - String
|
|
title_ends_with - String
|
|
title_in - [String!]
|
|
title_not - String
|
|
title_not_contains - String
|
|
title_not_ends_with - String
|
|
title_not_in - [String!]
|
|
title_not_starts_with - String
|
|
title_starts_with - String
|
|
visibility - Visibility
|
|
visibility_in - [Visibility!]
|
|
visibility_not - Visibility
|
|
visibility_not_in - [Visibility!]
|
Example
{
"AND": [_PostFilter],
"OR": [_PostFilter],
"author": _UserFilter,
"author_in": [_UserFilter],
"author_not": _UserFilter,
"author_not_in": [_UserFilter],
"categories": _CategoryFilter,
"categories_every": _CategoryFilter,
"categories_in": [_CategoryFilter],
"categories_none": _CategoryFilter,
"categories_not": _CategoryFilter,
"categories_not_in": [_CategoryFilter],
"categories_single": _CategoryFilter,
"categories_some": _CategoryFilter,
"comments": _CommentFilter,
"comments_every": _CommentFilter,
"comments_in": [_CommentFilter],
"comments_none": _CommentFilter,
"comments_not": _CommentFilter,
"comments_not_in": [_CommentFilter],
"comments_single": _CommentFilter,
"comments_some": _CommentFilter,
"content": "xyz789",
"content_contains": "xyz789",
"content_ends_with": "abc123",
"content_in": ["abc123"],
"content_not": "abc123",
"content_not_contains": "abc123",
"content_not_ends_with": "abc123",
"content_not_in": ["abc123"],
"content_not_starts_with": "xyz789",
"content_starts_with": "abc123",
"emotions": _PostEMOTEDFilter,
"emotions_every": _PostEMOTEDFilter,
"emotions_in": [_PostEMOTEDFilter],
"emotions_none": _PostEMOTEDFilter,
"emotions_not": _PostEMOTEDFilter,
"emotions_not_in": [_PostEMOTEDFilter],
"emotions_single": _PostEMOTEDFilter,
"emotions_some": _PostEMOTEDFilter,
"eventEnd_gte": "abc123",
"eventStart_gte": "abc123",
"group": _GroupFilter,
"groupPinned": true,
"hasLocation": false,
"id": 4,
"id_in": [4],
"id_not": "4",
"id_not_in": ["4"],
"language": "abc123",
"language_in": ["abc123"],
"language_not": "abc123",
"language_not_in": ["xyz789"],
"pinned": true,
"postType_in": ["Article"],
"postsInMyGroups": true,
"shoutedBy_some": _UserFilter,
"skipPinnedFilter": true,
"slug": "xyz789",
"slug_contains": "abc123",
"slug_ends_with": "abc123",
"slug_in": ["xyz789"],
"slug_not": "abc123",
"slug_not_contains": "abc123",
"slug_not_ends_with": "abc123",
"slug_not_in": ["xyz789"],
"slug_not_starts_with": "abc123",
"slug_starts_with": "xyz789",
"tags": _TagFilter,
"tags_every": _TagFilter,
"tags_in": [_TagFilter],
"tags_none": _TagFilter,
"tags_not": _TagFilter,
"tags_not_in": [_TagFilter],
"tags_single": _TagFilter,
"tags_some": _TagFilter,
"title": "xyz789",
"title_contains": "abc123",
"title_ends_with": "xyz789",
"title_in": ["xyz789"],
"title_not": "xyz789",
"title_not_contains": "xyz789",
"title_not_ends_with": "abc123",
"title_not_in": ["abc123"],
"title_not_starts_with": "abc123",
"title_starts_with": "xyz789",
"visibility": "friends",
"visibility_in": ["friends"],
"visibility_not": "friends",
"visibility_not_in": ["friends"]
}
_PostInput
Description
References a post by id.
Fields
| Input Field | Description |
|---|---|
id - ID!
|
Example
{"id": 4}
_PostOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"content_asc"
_RoleFilter
Fields
| Input Field | Description |
|---|---|
AND - [_RoleFilter!]
|
|
OR - [_RoleFilter!]
|
|
memberCount - Int
|
|
memberCount_gt - Int
|
|
memberCount_gte - Int
|
|
memberCount_in - [Int!]
|
|
memberCount_lt - Int
|
|
memberCount_lte - Int
|
|
memberCount_not - Int
|
|
memberCount_not_in - [Int!]
|
|
name - String
|
|
name_contains - String
|
|
name_ends_with - String
|
|
name_in - [String!]
|
|
name_not - String
|
|
name_not_contains - String
|
|
name_not_ends_with - String
|
|
name_not_in - [String!]
|
|
name_not_starts_with - String
|
|
name_starts_with - String
|
|
protected - Boolean
|
|
protected_not - Boolean
|
Example
{
"AND": [_RoleFilter],
"OR": [_RoleFilter],
"memberCount": 123,
"memberCount_gt": 123,
"memberCount_gte": 987,
"memberCount_in": [123],
"memberCount_lt": 123,
"memberCount_lte": 123,
"memberCount_not": 987,
"memberCount_not_in": [123],
"name": "abc123",
"name_contains": "xyz789",
"name_ends_with": "xyz789",
"name_in": ["abc123"],
"name_not": "xyz789",
"name_not_contains": "abc123",
"name_not_ends_with": "abc123",
"name_not_in": ["abc123"],
"name_not_starts_with": "xyz789",
"name_starts_with": "abc123",
"protected": false,
"protected_not": true
}
_RoleOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_RoomFilter
Fields
| Input Field | Description |
|---|---|
AND - [_RoomFilter!]
|
|
OR - [_RoomFilter!]
|
|
createdAt - String
|
|
createdAt_contains - String
|
|
createdAt_ends_with - String
|
|
createdAt_in - [String!]
|
|
createdAt_not - String
|
|
createdAt_not_contains - String
|
|
createdAt_not_ends_with - String
|
|
createdAt_not_in - [String!]
|
|
createdAt_not_starts_with - String
|
|
createdAt_starts_with - String
|
|
id - ID
|
|
id_contains - ID
|
|
id_ends_with - ID
|
|
id_in - [ID!]
|
|
id_not - ID
|
|
id_not_contains - ID
|
|
id_not_ends_with - ID
|
|
id_not_in - [ID!]
|
|
id_not_starts_with - ID
|
|
id_starts_with - ID
|
|
lastMessageAt - String
|
|
lastMessageAt_contains - String
|
|
lastMessageAt_ends_with - String
|
|
lastMessageAt_in - [String!]
|
|
lastMessageAt_not - String
|
|
lastMessageAt_not_contains - String
|
|
lastMessageAt_not_ends_with - String
|
|
lastMessageAt_not_in - [String!]
|
|
lastMessageAt_not_starts_with - String
|
|
lastMessageAt_starts_with - String
|
|
unreadCount - Int
|
|
unreadCount_gt - Int
|
|
unreadCount_gte - Int
|
|
unreadCount_in - [Int!]
|
|
unreadCount_lt - Int
|
|
unreadCount_lte - Int
|
|
unreadCount_not - Int
|
|
unreadCount_not_in - [Int!]
|
|
updatedAt - String
|
|
updatedAt_contains - String
|
|
updatedAt_ends_with - String
|
|
updatedAt_in - [String!]
|
|
updatedAt_not - String
|
|
updatedAt_not_contains - String
|
|
updatedAt_not_ends_with - String
|
|
updatedAt_not_in - [String!]
|
|
updatedAt_not_starts_with - String
|
|
updatedAt_starts_with - String
|
|
users - _UserFilter
|
|
users_every - _UserFilter
|
|
users_in - [_UserFilter!]
|
|
users_none - _UserFilter
|
|
users_not - _UserFilter
|
|
users_not_in - [_UserFilter!]
|
|
users_single - _UserFilter
|
|
users_some - _UserFilter
|
Example
{
"AND": [_RoomFilter],
"OR": [_RoomFilter],
"createdAt": "abc123",
"createdAt_contains": "abc123",
"createdAt_ends_with": "xyz789",
"createdAt_in": ["xyz789"],
"createdAt_not": "abc123",
"createdAt_not_contains": "xyz789",
"createdAt_not_ends_with": "abc123",
"createdAt_not_in": ["xyz789"],
"createdAt_not_starts_with": "xyz789",
"createdAt_starts_with": "xyz789",
"id": "4",
"id_contains": "4",
"id_ends_with": 4,
"id_in": [4],
"id_not": 4,
"id_not_contains": 4,
"id_not_ends_with": "4",
"id_not_in": ["4"],
"id_not_starts_with": "4",
"id_starts_with": 4,
"lastMessageAt": "xyz789",
"lastMessageAt_contains": "abc123",
"lastMessageAt_ends_with": "abc123",
"lastMessageAt_in": ["abc123"],
"lastMessageAt_not": "xyz789",
"lastMessageAt_not_contains": "abc123",
"lastMessageAt_not_ends_with": "xyz789",
"lastMessageAt_not_in": ["xyz789"],
"lastMessageAt_not_starts_with": "xyz789",
"lastMessageAt_starts_with": "abc123",
"unreadCount": 123,
"unreadCount_gt": 987,
"unreadCount_gte": 987,
"unreadCount_in": [987],
"unreadCount_lt": 123,
"unreadCount_lte": 123,
"unreadCount_not": 123,
"unreadCount_not_in": [123],
"updatedAt": "abc123",
"updatedAt_contains": "xyz789",
"updatedAt_ends_with": "xyz789",
"updatedAt_in": ["abc123"],
"updatedAt_not": "xyz789",
"updatedAt_not_contains": "xyz789",
"updatedAt_not_ends_with": "abc123",
"updatedAt_not_in": ["abc123"],
"updatedAt_not_starts_with": "xyz789",
"updatedAt_starts_with": "abc123",
"users": _UserFilter,
"users_every": _UserFilter,
"users_in": [_UserFilter],
"users_none": _UserFilter,
"users_not": _UserFilter,
"users_not_in": [_UserFilter],
"users_single": _UserFilter,
"users_some": _UserFilter
}
_RoomOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"createdAt_desc"
_TagFilter
Fields
| Input Field | Description |
|---|---|
AND - [_TagFilter!]
|
|
OR - [_TagFilter!]
|
|
id - ID
|
|
id_in - [ID!]
|
|
id_not - ID
|
|
id_not_in - [ID!]
|
|
taggedPosts - _PostFilter
|
|
taggedPosts_every - _PostFilter
|
|
taggedPosts_in - [_PostFilter!]
|
|
taggedPosts_none - _PostFilter
|
|
taggedPosts_not - _PostFilter
|
|
taggedPosts_not_in - [_PostFilter!]
|
|
taggedPosts_single - _PostFilter
|
|
taggedPosts_some - _PostFilter
|
Example
{
"AND": [_TagFilter],
"OR": [_TagFilter],
"id": 4,
"id_in": ["4"],
"id_not": "4",
"id_not_in": [4],
"taggedPosts": _PostFilter,
"taggedPosts_every": _PostFilter,
"taggedPosts_in": [_PostFilter],
"taggedPosts_none": _PostFilter,
"taggedPosts_not": _PostFilter,
"taggedPosts_not_in": [_PostFilter],
"taggedPosts_single": _PostFilter,
"taggedPosts_some": _PostFilter
}
_TagOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"id_asc"
_UserDataFilter
Fields
| Input Field | Description |
|---|---|
AND - [_UserDataFilter!]
|
|
OR - [_UserDataFilter!]
|
Example
{
"AND": [_UserDataFilter],
"OR": [_UserDataFilter]
}
_UserDataOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"_id_asc"
_UserEMOTEDFilter
Fields
| Input Field | Description |
|---|---|
AND - [_UserEMOTEDFilter!]
|
|
OR - [_UserEMOTEDFilter!]
|
|
Post - _PostFilter
|
|
createdAt - String
|
|
createdAt_contains - String
|
|
createdAt_ends_with - String
|
|
createdAt_in - [String!]
|
|
createdAt_not - String
|
|
createdAt_not_contains - String
|
|
createdAt_not_ends_with - String
|
|
createdAt_not_in - [String!]
|
|
createdAt_not_starts_with - String
|
|
createdAt_starts_with - String
|
|
emotion - Emotion
|
|
emotion_in - [Emotion!]
|
|
emotion_not - Emotion
|
|
emotion_not_in - [Emotion!]
|
|
updatedAt - String
|
|
updatedAt_contains - String
|
|
updatedAt_ends_with - String
|
|
updatedAt_in - [String!]
|
|
updatedAt_not - String
|
|
updatedAt_not_contains - String
|
|
updatedAt_not_ends_with - String
|
|
updatedAt_not_in - [String!]
|
|
updatedAt_not_starts_with - String
|
|
updatedAt_starts_with - String
|
Example
{
"AND": [_UserEMOTEDFilter],
"OR": [_UserEMOTEDFilter],
"Post": _PostFilter,
"createdAt": "xyz789",
"createdAt_contains": "abc123",
"createdAt_ends_with": "abc123",
"createdAt_in": ["xyz789"],
"createdAt_not": "abc123",
"createdAt_not_contains": "abc123",
"createdAt_not_ends_with": "abc123",
"createdAt_not_in": ["xyz789"],
"createdAt_not_starts_with": "xyz789",
"createdAt_starts_with": "xyz789",
"emotion": "angry",
"emotion_in": ["angry"],
"emotion_not": "angry",
"emotion_not_in": ["angry"],
"updatedAt": "abc123",
"updatedAt_contains": "xyz789",
"updatedAt_ends_with": "abc123",
"updatedAt_in": ["abc123"],
"updatedAt_not": "abc123",
"updatedAt_not_contains": "xyz789",
"updatedAt_not_ends_with": "abc123",
"updatedAt_not_in": ["abc123"],
"updatedAt_not_starts_with": "abc123",
"updatedAt_starts_with": "xyz789"
}
_UserEmotions
_UserFilter
Fields
| Input Field | Description |
|---|---|
AND - [_UserFilter!]
|
|
OR - [_UserFilter!]
|
|
about_contains - String
|
|
followedBy - _UserFilter
|
|
followedBy_every - _UserFilter
|
|
followedBy_in - [_UserFilter!]
|
|
followedBy_none - _UserFilter
|
|
followedBy_not - _UserFilter
|
|
followedBy_not_in - [_UserFilter!]
|
|
followedBy_single - _UserFilter
|
|
followedBy_some - _UserFilter
|
|
following - _UserFilter
|
|
following_every - _UserFilter
|
|
following_in - [_UserFilter!]
|
|
following_none - _UserFilter
|
|
following_not - _UserFilter
|
|
following_not_in - [_UserFilter!]
|
|
following_single - _UserFilter
|
|
following_some - _UserFilter
|
|
friends - _UserFilter
|
|
friends_every - _UserFilter
|
|
friends_in - [_UserFilter!]
|
|
friends_none - _UserFilter
|
|
friends_not - _UserFilter
|
|
friends_not_in - [_UserFilter!]
|
|
friends_single - _UserFilter
|
|
friends_some - _UserFilter
|
|
hasLocation - Boolean
|
|
id - ID
|
|
id_in - [ID!]
|
|
id_not - ID
|
|
id_not_in - [ID!]
|
|
name_contains - String
|
|
slug_contains - String
|
Example
{
"AND": [_UserFilter],
"OR": [_UserFilter],
"about_contains": "xyz789",
"followedBy": _UserFilter,
"followedBy_every": _UserFilter,
"followedBy_in": [_UserFilter],
"followedBy_none": _UserFilter,
"followedBy_not": _UserFilter,
"followedBy_not_in": [_UserFilter],
"followedBy_single": _UserFilter,
"followedBy_some": _UserFilter,
"following": _UserFilter,
"following_every": _UserFilter,
"following_in": [_UserFilter],
"following_none": _UserFilter,
"following_not": _UserFilter,
"following_not_in": [_UserFilter],
"following_single": _UserFilter,
"following_some": _UserFilter,
"friends": _UserFilter,
"friends_every": _UserFilter,
"friends_in": [_UserFilter],
"friends_none": _UserFilter,
"friends_not": _UserFilter,
"friends_not_in": [_UserFilter],
"friends_single": _UserFilter,
"friends_some": _UserFilter,
"hasLocation": false,
"id": 4,
"id_in": [4],
"id_not": "4",
"id_not_in": ["4"],
"name_contains": "xyz789",
"slug_contains": "abc123"
}
_UserOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"about_asc"
_groupSearchResultsFilter
Fields
| Input Field | Description |
|---|---|
AND - [_groupSearchResultsFilter!]
|
|
OR - [_groupSearchResultsFilter!]
|
|
groupCount - Int
|
|
groupCount_gt - Int
|
|
groupCount_gte - Int
|
|
groupCount_in - [Int!]
|
|
groupCount_lt - Int
|
|
groupCount_lte - Int
|
|
groupCount_not - Int
|
|
groupCount_not_in - [Int!]
|
Example
{
"AND": [_groupSearchResultsFilter],
"OR": [_groupSearchResultsFilter],
"groupCount": 987,
"groupCount_gt": 123,
"groupCount_gte": 987,
"groupCount_in": [123],
"groupCount_lt": 123,
"groupCount_lte": 123,
"groupCount_not": 123,
"groupCount_not_in": [987]
}
_groupSearchResultsOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_hashtagSearchResultsFilter
Fields
| Input Field | Description |
|---|---|
AND - [_hashtagSearchResultsFilter!]
|
|
OR - [_hashtagSearchResultsFilter!]
|
|
hashtagCount - Int
|
|
hashtagCount_gt - Int
|
|
hashtagCount_gte - Int
|
|
hashtagCount_in - [Int!]
|
|
hashtagCount_lt - Int
|
|
hashtagCount_lte - Int
|
|
hashtagCount_not - Int
|
|
hashtagCount_not_in - [Int!]
|
Example
{
"AND": [_hashtagSearchResultsFilter],
"OR": [_hashtagSearchResultsFilter],
"hashtagCount": 987,
"hashtagCount_gt": 123,
"hashtagCount_gte": 987,
"hashtagCount_in": [987],
"hashtagCount_lt": 987,
"hashtagCount_lte": 987,
"hashtagCount_not": 123,
"hashtagCount_not_in": [123]
}
_hashtagSearchResultsOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_postSearchResultsFilter
Fields
| Input Field | Description |
|---|---|
AND - [_postSearchResultsFilter!]
|
|
OR - [_postSearchResultsFilter!]
|
|
postCount - Int
|
|
postCount_gt - Int
|
|
postCount_gte - Int
|
|
postCount_in - [Int!]
|
|
postCount_lt - Int
|
|
postCount_lte - Int
|
|
postCount_not - Int
|
|
postCount_not_in - [Int!]
|
Example
{
"AND": [_postSearchResultsFilter],
"OR": [_postSearchResultsFilter],
"postCount": 123,
"postCount_gt": 987,
"postCount_gte": 987,
"postCount_in": [987],
"postCount_lt": 987,
"postCount_lte": 987,
"postCount_not": 987,
"postCount_not_in": [987]
}
_postSearchResultsOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"
_userSearchResultsFilter
Fields
| Input Field | Description |
|---|---|
AND - [_userSearchResultsFilter!]
|
|
OR - [_userSearchResultsFilter!]
|
|
userCount - Int
|
|
userCount_gt - Int
|
|
userCount_gte - Int
|
|
userCount_in - [Int!]
|
|
userCount_lt - Int
|
|
userCount_lte - Int
|
|
userCount_not - Int
|
|
userCount_not_in - [Int!]
|
Example
{
"AND": [_userSearchResultsFilter],
"OR": [_userSearchResultsFilter],
"userCount": 987,
"userCount_gt": 123,
"userCount_gte": 987,
"userCount_in": [123],
"userCount_lt": 123,
"userCount_lte": 123,
"userCount_not": 123,
"userCount_not_in": [987]
}
_userSearchResultsOrdering
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"_id_asc"