MongooseIM GraphQL API Reference
A static documentation of the MongooseIM GraphQL Admin API
API Endpoints
http://localhost:5551/api/graphql
Queries
account
Description
Account management
Response
Returns an AccountAdminQuery
Example
Query
query account {
account {
listUsers
countUsers
checkPassword {
...CheckPasswordPayloadFragment
}
checkPasswordHash {
...CheckPasswordPayloadFragment
}
checkUser {
...CheckUserPayloadFragment
}
}
}
Response
{
"data": {
"account": {
"listUsers": ["xyz789"],
"countUsers": 987,
"checkPassword": CheckPasswordPayload,
"checkPasswordHash": CheckPasswordPayload,
"checkUser": CheckUserPayload
}
}
}
checkAuth
Description
Check authorization status
Response
Returns an AdminAuthInfo
Example
Query
query checkAuth {
checkAuth {
domain
authStatus
authType
}
}
Response
{
"data": {
"checkAuth": {
"domain": "localhost",
"authStatus": "AUTHORIZED",
"authType": "DOMAIN_ADMIN"
}
}
}
domain
Description
Dynamic domain management
Response
Returns a DomainAdminQuery
Example
Query
query domain {
domain {
domainsByHostType
domainDetails {
...DomainFragment
}
}
}
Response
{
"data": {
"domain": {
"domainsByHostType": ["localhost"],
"domainDetails": Domain
}
}
}
gdpr
Description
Personal data management according to GDPR
Response
Returns a GdprAdminQuery
Example
Query
query gdpr {
gdpr {
retrievePersonalData
}
}
Response
{
"data": {
"gdpr": {
"retrievePersonalData": "abc123"
}
}
}
last
Description
Last activity management
Response
Returns a LastAdminQuery
Example
Query
query last {
last {
getLast {
...LastActivityFragment
}
countActiveUsers
listOldUsers {
...OldUserFragment
}
}
}
Response
{
"data": {
"last": {
"getLast": LastActivity,
"countActiveUsers": 987,
"listOldUsers": [OldUser]
}
}
}
metric
Description
Browse metrics
Response
Returns a MetricAdminQuery
Example
Query
query metric {
metric {
getMetrics {
... on HistogramMetric {
...HistogramMetricFragment
}
... on CounterMetric {
...CounterMetricFragment
}
... on SpiralMetric {
...SpiralMetricFragment
}
... on GaugeMetric {
...GaugeMetricFragment
}
... on MergedInetStatsMetric {
...MergedInetStatsMetricFragment
}
... on RDBMSStatsMetric {
...RDBMSStatsMetricFragment
}
... on VMStatsMemoryMetric {
...VMStatsMemoryMetricFragment
}
... on VMSystemInfoMetric {
...VMSystemInfoMetricFragment
}
... on ProbeQueuesMetric {
...ProbeQueuesMetricFragment
}
}
getMetricsAsDicts {
...MetricDictResultFragment
}
getClusterMetricsAsDicts {
...MetricNodeResultFragment
}
}
}
Response
{
"data": {
"metric": {
"getMetrics": [HistogramMetric],
"getMetricsAsDicts": [MetricDictResult],
"getClusterMetricsAsDicts": [MetricNodeResult]
}
}
}
mnesia
Description
Mnesia internal database management
Response
Returns a MnesiaAdminQuery
Example
Query
query mnesia {
mnesia {
systemInfo {
... on MnesiaStringResponse {
...MnesiaStringResponseFragment
}
... on MnesiaListResponse {
...MnesiaListResponseFragment
}
... on MnesiaIntResponse {
...MnesiaIntResponseFragment
}
}
}
}
Response
{
"data": {
"mnesia": {"systemInfo": [MnesiaStringResponse]}
}
}
muc
Description
MUC room management
Response
Returns a MUCAdminQuery
Example
Query
query muc {
muc {
listRooms {
...MUCRoomsPayloadFragment
}
getRoomConfig {
...MUCRoomConfigFragment
}
listRoomUsers {
...MUCRoomUserFragment
}
listRoomAffiliations {
...MUCRoomAffiliationFragment
}
getRoomMessages {
...StanzasPayloadFragment
}
}
}
Response
{
"data": {
"muc": {
"listRooms": MUCRoomsPayload,
"getRoomConfig": MUCRoomConfig,
"listRoomUsers": [MUCRoomUser],
"listRoomAffiliations": [MUCRoomAffiliation],
"getRoomMessages": StanzasPayload
}
}
}
muc_light
Description
MUC Light room management
Response
Returns a MUCLightAdminQuery
Example
Query
query muc_light {
muc_light {
getRoomMessages {
...StanzasPayloadFragment
}
getRoomConfig {
...RoomFragment
}
listRoomUsers {
...RoomUserFragment
}
listUserRooms
getBlockingList {
...BlockingItemFragment
}
}
}
Response
{
"data": {
"muc_light": {
"getRoomMessages": StanzasPayload,
"getRoomConfig": Room,
"listRoomUsers": [RoomUser],
"listUserRooms": ["alice@localhost"],
"getBlockingList": [BlockingItem]
}
}
}
private
Description
User private storage management
Response
Returns a PrivateAdminQuery
Example
Query
query private {
private {
getPrivate
}
}
Response
{
"data": {
"private": {
"getPrivate": "<message to='bob@localhost' type='chat' from='alice@localhost'><body>Hi!</body></message>"
}
}
}
roster
Description
User roster/contacts management
Response
Returns a RosterAdminQuery
Example
Query
query roster {
roster {
listContacts {
...ContactFragment
}
getContact {
...ContactFragment
}
}
}
Response
{
"data": {
"roster": {
"listContacts": [Contact],
"getContact": Contact
}
}
}
server
Description
Server info and management
Response
Returns a ServerAdminQuery
Example
Query
query server {
server {
status {
...StatusFragment
}
getLoglevel
getCookie
}
}
Response
{
"data": {
"server": {
"status": Status,
"getLoglevel": "NONE",
"getCookie": "abc123"
}
}
}
session
Description
User session management
Response
Returns a SessionAdminQuery
Example
Query
query session {
session {
listSessions {
...SessionFragment
}
countSessions
listUserSessions {
...SessionFragment
}
countUserResources
getUserResource
listUsersWithStatus {
...UserStatusFragment
}
countUsersWithStatus
}
}
Response
{
"data": {
"session": {
"listSessions": [Session],
"countSessions": 987,
"listUserSessions": [Session],
"countUserResources": 987,
"getUserResource": "res1",
"listUsersWithStatus": [UserStatus],
"countUsersWithStatus": 123
}
}
}
stanza
Description
Sending stanzas and querying MAM
Response
Returns a StanzaAdminQuery
Example
Query
query stanza {
stanza {
getLastMessages {
...StanzasPayloadFragment
}
}
}
Response
{"data": {"stanza": {"getLastMessages": StanzasPayload}}}
stat
Description
Server statistics
Response
Returns a StatsAdminQuery
Example
Query
query stat {
stat {
globalStats {
...GlobalStatsFragment
}
domainStats {
...DomainStatsFragment
}
}
}
Response
{
"data": {
"stat": {
"globalStats": GlobalStats,
"domainStats": DomainStats
}
}
}
vcard
Description
vCard management
Response
Returns a VcardAdminQuery
Example
Query
query vcard {
vcard {
getVcard {
...VcardFragment
}
}
}
Response
{"data": {"vcard": {"getVcard": Vcard}}}
Mutations
account
Description
Account management
Response
Returns an AccountAdminMutation
Example
Query
mutation account {
account {
registerUser {
...UserPayloadFragment
}
removeUser {
...UserPayloadFragment
}
banUser {
...UserPayloadFragment
}
changeUserPassword {
...UserPayloadFragment
}
importUsers {
...ImportPayloadFragment
}
}
}
Response
{
"data": {
"account": {
"registerUser": UserPayload,
"removeUser": UserPayload,
"banUser": UserPayload,
"changeUserPassword": UserPayload,
"importUsers": ImportPayload
}
}
}
domain
Description
Dynamic domain management
Response
Returns a DomainAdminMutation
Example
Query
mutation domain {
domain {
addDomain {
...DomainFragment
}
removeDomain {
...DomainFragment
}
requestRemoveDomain {
...DomainFragment
}
enableDomain {
...DomainFragment
}
disableDomain {
...DomainFragment
}
setDomainPassword
deleteDomainPassword
}
}
Response
{
"data": {
"domain": {
"addDomain": Domain,
"removeDomain": Domain,
"requestRemoveDomain": Domain,
"enableDomain": Domain,
"disableDomain": Domain,
"setDomainPassword": "xyz789",
"deleteDomainPassword": "abc123"
}
}
}
httpUpload
Description
Generating upload/download URLs for the files
Response
Returns a HttpUploadAdminMutation
Example
Query
mutation httpUpload {
httpUpload {
getUrl {
...FileUrlsFragment
}
}
}
Response
{"data": {"httpUpload": {"getUrl": FileUrls}}}
inbox
Description
Inbox bin flushing
Response
Returns an InboxAdminMutation
Example
Query
mutation inbox {
inbox {
flushUserBin
flushDomainBin
flushGlobalBin
}
}
Response
{
"data": {
"inbox": {"flushUserBin": 123, "flushDomainBin": 987, "flushGlobalBin": 987}
}
}
last
Description
Last user activity management
Response
Returns a LastAdminMutation
Example
Query
mutation last {
last {
setLast {
...LastActivityFragment
}
removeOldUsers {
...OldUserFragment
}
}
}
Response
{
"data": {
"last": {
"setLast": LastActivity,
"removeOldUsers": [OldUser]
}
}
}
mnesia
Description
Mnesia internal database management
Response
Returns a MnesiaAdminMutation
Example
Query
mutation mnesia {
mnesia {
setMaster
changeNodename
backup
restore
dump
dumpTable
load
installFallback
}
}
Response
{
"data": {
"mnesia": {
"setMaster": "xyz789",
"changeNodename": "xyz789",
"backup": "xyz789",
"restore": "abc123",
"dump": "abc123",
"dumpTable": "abc123",
"load": "abc123",
"installFallback": "xyz789"
}
}
}
muc
Description
MUC room management
Response
Returns a MUCAdminMutation
Example
Query
mutation muc {
muc {
createInstantRoom {
...MUCRoomDescFragment
}
inviteUser
kickUser
sendMessageToRoom
sendPrivateMessage
deleteRoom
changeRoomConfiguration {
...MUCRoomConfigFragment
}
setUserRole
setUserAffiliation
enterRoom
exitRoom
}
}
Response
{
"data": {
"muc": {
"createInstantRoom": MUCRoomDesc,
"inviteUser": "abc123",
"kickUser": "xyz789",
"sendMessageToRoom": "abc123",
"sendPrivateMessage": "abc123",
"deleteRoom": "abc123",
"changeRoomConfiguration": MUCRoomConfig,
"setUserRole": "abc123",
"setUserAffiliation": "xyz789",
"enterRoom": "abc123",
"exitRoom": "xyz789"
}
}
}
muc_light
Description
MUC Light room management
Response
Returns a MUCLightAdminMutation
Example
Query
mutation muc_light {
muc_light {
createRoom {
...RoomFragment
}
changeRoomConfiguration {
...RoomFragment
}
inviteUser
deleteRoom
kickUser
sendMessageToRoom
setBlockingList
}
}
Response
{
"data": {
"muc_light": {
"createRoom": Room,
"changeRoomConfiguration": Room,
"inviteUser": "abc123",
"deleteRoom": "abc123",
"kickUser": "xyz789",
"sendMessageToRoom": "abc123",
"setBlockingList": "abc123"
}
}
}
offline
Description
Deleting old Offline messages
Response
Returns an OfflineAdminMutation
Example
Query
mutation offline {
offline {
deleteExpiredMessages
deleteOldMessages
}
}
Response
{
"data": {
"offline": {
"deleteExpiredMessages": "xyz789",
"deleteOldMessages": "abc123"
}
}
}
private
Description
User private storage management
Response
Returns a PrivateAdminMutation
Example
Query
mutation private {
private {
setPrivate
}
}
Response
{
"data": {
"private": {
"setPrivate": "<message to='bob@localhost' type='chat' from='alice@localhost'><body>Hi!</body></message>"
}
}
}
roster
Description
User roster/contacts management
Response
Returns a RosterAdminMutation
Example
Query
mutation roster {
roster {
addContact
addContacts
subscription
deleteContact
deleteContacts
setMutualSubscription
subscribeToAll
subscribeAllToAll
}
}
Response
{
"data": {
"roster": {
"addContact": "xyz789",
"addContacts": ["xyz789"],
"subscription": "xyz789",
"deleteContact": "xyz789",
"deleteContacts": ["xyz789"],
"setMutualSubscription": "abc123",
"subscribeToAll": ["xyz789"],
"subscribeAllToAll": ["abc123"]
}
}
}
server
Description
Server info and management
Response
Returns a ServerAdminMutation
Example
Query
mutation server {
server {
joinCluster
leaveCluster
removeFromCluster
restart
stop
removeNode
setLoglevel
}
}
Response
{
"data": {
"server": {
"joinCluster": "xyz789",
"leaveCluster": "abc123",
"removeFromCluster": "abc123",
"restart": "xyz789",
"stop": "abc123",
"removeNode": "abc123",
"setLoglevel": "xyz789"
}
}
}
session
Description
User session management
Response
Returns a SessionAdminMutation
Example
Query
mutation session {
session {
kickUserSession {
...KickUserResultFragment
}
kickUser {
...KickUserResultFragment
}
setPresence {
...SessionPayloadFragment
}
}
}
Response
{
"data": {
"session": {
"kickUserSession": KickUserResult,
"kickUser": [KickUserResult],
"setPresence": SessionPayload
}
}
}
stanza
Description
Sending stanzas and querying MAM
Response
Returns a StanzaAdminMutation
Example
Query
mutation stanza {
stanza {
sendMessage {
...SendStanzaPayloadFragment
}
sendMessageHeadLine {
...SendStanzaPayloadFragment
}
sendStanza {
...SendStanzaPayloadFragment
}
}
}
Response
{
"data": {
"stanza": {
"sendMessage": SendStanzaPayload,
"sendMessageHeadLine": SendStanzaPayload,
"sendStanza": SendStanzaPayload
}
}
}
token
Description
OAUTH user token management
Response
Returns a TokenAdminMutation
Example
Query
mutation token {
token {
requestToken {
...TokenFragment
}
revokeToken
}
}
Response
{
"data": {
"token": {
"requestToken": Token,
"revokeToken": "abc123"
}
}
}
vcard
Description
vCard management
Response
Returns a VcardAdminMutation
Example
Query
mutation vcard {
vcard {
setVcard {
...VcardFragment
}
}
}
Response
{"data": {"vcard": {"setVcard": Vcard}}}
Subscriptions
stanza
Response
Returns a StanzaAdminSubscription
Example
Query
subscription stanza {
stanza {
subscribeForMessages {
...StanzaMapFragment
}
}
}
Response
{"data": {"stanza": {"subscribeForMessages": StanzaMap}}}
Types
AccountAdminMutation
Description
Allow admin to manage user accounts.
Fields
| Field Name | Description |
|---|---|
registerUser - UserPayload
|
Register a user. Username will be generated when skipped |
Arguments |
|
removeUser - UserPayload
|
Remove the user's account along with all the associated personal data |
Arguments
|
|
banUser - UserPayload
|
Ban an account: kick sessions and set a random password |
changeUserPassword - UserPayload
|
Change the password of a user |
importUsers - ImportPayload
|
Import users from a CSV file |
Arguments
|
|
Example
{
"registerUser": UserPayload,
"removeUser": UserPayload,
"banUser": UserPayload,
"changeUserPassword": UserPayload,
"importUsers": ImportPayload
}
AccountAdminQuery
Description
Allow admin to get information about accounts.
Fields
| Field Name | Description |
|---|---|
listUsers - [String!]
|
List users per domain |
Arguments
|
|
countUsers - Int
|
Get number of users per domain |
Arguments
|
|
checkPassword - CheckPasswordPayload
|
Check if a password is correct |
checkPasswordHash - CheckPasswordPayload
|
Check if a password hash is correct (allowed methods: md5, sha). Works only for a plain passwords |
checkUser - CheckUserPayload
|
Check if a user exists |
Arguments
|
|
Example
{
"listUsers": ["abc123"],
"countUsers": 123,
"checkPassword": CheckPasswordPayload,
"checkPasswordHash": CheckPasswordPayload,
"checkUser": CheckUserPayload
}
Address
Example
{
"tags": ["HOME"],
"pobox": "abc123",
"extadd": "abc123",
"street": "xyz789",
"locality": "abc123",
"region": "abc123",
"pcode": "abc123",
"country": "xyz789"
}
AddressInput
Example
{
"tags": ["HOME"],
"pobox": "xyz789",
"extadd": "xyz789",
"street": "xyz789",
"locality": "xyz789",
"region": "abc123",
"pcode": "xyz789",
"country": "abc123"
}
AddressTags
Description
Specifies type of an address
Values
| Enum Value | Description |
|---|---|
|
|
Place of residence address |
|
|
Workplace adress |
|
|
Postal code |
|
|
Parcel delivery address |
|
|
Domestic delivery address |
|
|
Preferred delivery address when more than one address is specified |
|
|
International delivery address |
Example
"HOME"
AdminAuthInfo
Description
Information about user request authorization
Fields
| Field Name | Description |
|---|---|
domain - DomainName
|
Authorized for a domain |
authStatus - AuthStatus!
|
Authorization status |
authType - AuthType
|
Authorization as a |
Example
{
"domain": "localhost",
"authStatus": "AUTHORIZED",
"authType": "DOMAIN_ADMIN"
}
Affiliation
Description
User's affiliation
Values
| Enum Value | Description |
|---|---|
|
|
Owner of the room |
|
|
Member of the room |
|
|
User doesn't have any affiliation |
Example
"OWNER"
Agent
Description
Specifies how agent is stored
Types
| Union Types |
|---|
Example
AgentVcard
AgentInput
Fields
| Input Field | Description |
|---|---|
extValue - String
|
Link to external vcard |
vcard - VcardInput
|
Individual vcard container |
Example
{
"extValue": "abc123",
"vcard": VcardInput
}
AgentVcard
Description
Agent vCard
Fields
| Field Name | Description |
|---|---|
vcard - Vcard
|
vCard data |
Example
{"vcard": Vcard}
AuthStatus
Description
All authorization statuses
Values
| Enum Value | Description |
|---|---|
|
|
Request is authorized |
|
|
Request is unauthorized |
Example
"AUTHORIZED"
AuthType
Values
| Enum Value | Description |
|---|---|
|
|
Administrator of the specific domain |
|
|
Global administrator |
|
|
Unauthorized user |
Example
"DOMAIN_ADMIN"
BareJID
Description
JID without a resource
Example
"alice@localhost"
BinValue
Fields
| Field Name | Description |
|---|---|
binValue - String
|
Value in binary form |
Example
{"binValue": "xyz789"}
BlockedEntityType
Description
Type of blocked entity
Values
| Enum Value | Description |
|---|---|
|
|
Individual user |
|
|
MUC Light room |
Example
"USER"
BlockingAction
Description
Type of blocking action
Values
| Enum Value | Description |
|---|---|
|
|
Unblock user/room |
|
|
Block user/room |
Example
"ALLOW"
BlockingInput
Description
Specifies blocking data
Fields
| Input Field | Description |
|---|---|
entityType - BlockedEntityType!
|
Type of entity to block |
action - BlockingAction!
|
Type of blocking action. Default = DENY |
entity - JID!
|
Entity's JID |
Example
{
"entityType": "USER",
"action": "ALLOW",
"entity": "alice@localhost"
}
BlockingItem
Description
Blocking item data
Fields
| Field Name | Description |
|---|---|
entityType - BlockedEntityType!
|
Type of the entity |
action - BlockingAction!
|
Action to be taken |
entity - JID!
|
Entity's JID |
Example
{
"entityType": "USER",
"action": "ALLOW",
"entity": "alice@localhost"
}
Boolean
Description
The Boolean scalar type represents true or false.
CheckPasswordPayload
CheckUserPayload
Contact
Description
The contact or roster item
Fields
| Field Name | Description |
|---|---|
jid - JID!
|
The contact jid |
name - String
|
The contact name |
groups - [String!]
|
The list of the groups the contact belongs to |
subscription - ContactSub
|
The type of the subscription |
ask - ContactAsk
|
The type of the ask |
Example
{
"jid": "alice@localhost",
"name": "abc123",
"groups": ["abc123"],
"subscription": "NONE",
"ask": "SUBSCRIBE"
}
ContactAsk
Description
The contact ask types
Values
| Enum Value | Description |
|---|---|
|
|
Ask to subscribe |
|
|
Ask to unsubscribe |
|
|
Invitation came in |
|
|
Invitation came out |
|
|
Ask for mutual subscription |
|
|
No invitation |
Example
"SUBSCRIBE"
ContactInput
ContactSub
Description
The contact subscription types
Values
| Enum Value | Description |
|---|---|
|
|
The user does not have a subscription to the contact's presence, and the contact does not have a subscription to the user's presence |
|
|
The user and the contact have subscriptions to each other's presence |
|
|
The contact has a subscription to the user's presence, but the user does not have a subscription to the contact's presence |
|
|
The user has a subscription to the contact's presence, but the contact does not have a subscription to the user's presence |
Example
"NONE"
CounterMetric
Fields
| Field Name | Description |
|---|---|
name - [String]
|
Metric name |
type - MetricType
|
Metric type |
value - Int
|
The metric value |
ms_since_reset - Int
|
Time since last reset |
Example
{
"name": ["xyz789"],
"type": "histogram",
"value": 123,
"ms_since_reset": 987
}
DateTime
Description
Date and time represented using YYYY-MM-DDTHH:mm:ssZ format
Example
"2007-12-03T10:15:30Z"
Domain
Description
A dynamic domain representation. Some operation could return incomplete object i.e. some fields can be null.
Fields
| Field Name | Description |
|---|---|
domain - DomainName
|
Domain name |
hostType - String
|
Domain hostType |
status - DomainStatus
|
Is domain enabled? |
Example
{
"domain": "localhost",
"hostType": "abc123",
"status": "ENABLED"
}
DomainAdminMutation
Fields
| Field Name | Description |
|---|---|
addDomain - Domain
|
Add new domain. Only for global admin |
Arguments
|
|
removeDomain - Domain
|
Remove domain. Only for global admin |
Arguments
|
|
requestRemoveDomain - Domain
|
Remove domain asynchronously. Only for global admin |
Arguments
|
|
enableDomain - Domain
|
Enable domain. Only for global admin |
Arguments
|
|
disableDomain - Domain
|
Disable domain. Only for global admin |
Arguments
|
|
setDomainPassword - String
|
Create or update domain admin password |
Arguments
|
|
deleteDomainPassword - String
|
Delete domain admin password. Only for global admin |
Arguments
|
|
Example
{
"addDomain": Domain,
"removeDomain": Domain,
"requestRemoveDomain": Domain,
"enableDomain": Domain,
"disableDomain": Domain,
"setDomainPassword": "abc123",
"deleteDomainPassword": "abc123"
}
DomainAdminQuery
Fields
| Field Name | Description |
|---|---|
domainsByHostType - [DomainName!]
|
Get all enabled domains by hostType. Only for global admin |
Arguments
|
|
domainDetails - Domain
|
Get information about the domain |
Arguments
|
|
Example
{
"domainsByHostType": ["localhost"],
"domainDetails": Domain
}
DomainName
Description
XMPP domain name (domain part of a JID)
Example
"localhost"
DomainStats
DomainStatus
Values
| Enum Value | Description |
|---|---|
|
|
Domain is enabled and ready to route traffic |
|
|
Domain is disabled and won't be loaded into MongooseIM |
|
|
Domain has been marked for deletion and is disabled until all data is removed |
|
|
Domain is deleted and does not exist anymore |
Example
"ENABLED"
Fields
| Field Name | Description |
|---|---|
tags - [EmailTags]
|
Email tags |
userId - String
|
Email address |
Example
{"tags": ["HOME"], "userId": "xyz789"}
EmailInput
Fields
| Input Field | Description |
|---|---|
tags - [EmailTags!]
|
Email tags |
userId - String!
|
Email address |
Example
{"tags": ["HOME"], "userId": "abc123"}
EmailTags
Description
Format or preference of an email
Values
| Enum Value | Description |
|---|---|
|
|
Address associated with a residence |
|
|
Address associated with a place of work |
|
|
Internet addressing type |
|
|
Preferred use of an email address when more than one is specified |
|
|
X.400 addressing type |
Example
"HOME"
External
Fields
| Field Name | Description |
|---|---|
extValue - String
|
URI to an external value |
Example
{"extValue": "abc123"}
FileUrls
FullJID
Description
JID with a resource
Example
"alice@localhost/res1"
GaugeMetric
Fields
| Field Name | Description |
|---|---|
name - [String]
|
Metric name |
type - MetricType
|
Metric type |
value - Int
|
The metric value |
Example
{
"name": ["xyz789"],
"type": "histogram",
"value": 987
}
GdprAdminQuery
Description
Retrieve user's presonal data
Fields
| Field Name | Description |
|---|---|
retrievePersonalData - String
|
Retrieves all personal data from MongooseIM for a given user |
Arguments |
|
Example
{"retrievePersonalData": "abc123"}
GeographicalPosition
GeographicalPositionInput
GlobalStats
Fields
| Field Name | Description |
|---|---|
uptimeSeconds - Int
|
Uptime of the node |
registeredUsers - Int
|
Number of registered users |
onlineUsersNode - Int
|
Number of online users on the node |
onlineUsers - Int
|
Number of online users |
incomingS2S - Int
|
Number of all incoming s2s connections |
outgoingS2S - Int
|
Number of all outgoing s2s connections |
Example
{
"uptimeSeconds": 987,
"registeredUsers": 123,
"onlineUsersNode": 987,
"onlineUsers": 987,
"incomingS2S": 987,
"outgoingS2S": 123
}
Header
HistogramMetric
Fields
| Field Name | Description |
|---|---|
name - [String]
|
Metric name |
type - MetricType
|
Metric type |
n - Int
|
The number of values used in the calculation |
mean - Int
|
Mean value |
min - Int
|
Min value |
max - Int
|
Max value |
median - Int
|
Median value |
p50 - Int
|
50th percentile |
p75 - Int
|
75th percentile |
p90 - Int
|
90th percentile |
p95 - Int
|
95th percentile |
p99 - Int
|
99th percentile |
p999 - Int
|
99.9th percentile |
Example
{
"name": ["abc123"],
"type": "histogram",
"n": 987,
"mean": 987,
"min": 987,
"max": 987,
"median": 123,
"p50": 123,
"p75": 987,
"p90": 123,
"p95": 987,
"p99": 123,
"p999": 987
}
HttpUploadAdminMutation
Description
Allow admin to generate upload/download URL for a file on user's behalf".
Fields
| Field Name | Description |
|---|---|
getUrl - FileUrls
|
Allow admin to generate upload/download URLs for a file on user's behalf |
Arguments
|
|
Example
{"getUrl": FileUrls}
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
ImageData
ImageInput
ImportPayload
Description
Import users payload
Fields
| Field Name | Description |
|---|---|
status - String!
|
Status |
created - [JID!]
|
Users created |
existing - [JID!]
|
Users that were already existing |
notAllowed - [JID!]
|
Users there were not allowed to be created |
invalidJID - [String!]
|
Users with invalid JIDs |
emptyPassword - [JID!]
|
Users with empty passwords |
invalidRecord - [String!]
|
Invalid records |
Example
{
"status": "abc123",
"created": ["alice@localhost"],
"existing": ["alice@localhost"],
"notAllowed": ["alice@localhost"],
"invalidJID": ["abc123"],
"emptyPassword": ["alice@localhost"],
"invalidRecord": ["xyz789"]
}
InboxAdminMutation
Description
Allow admin to flush the inbox bin".
Fields
| Field Name | Description |
|---|---|
flushUserBin - Int
|
Flush the user's bin and return the number of deleted rows |
flushDomainBin - Int
|
Flush the whole domain bin and return the number of deleted rows |
Arguments
|
|
flushGlobalBin - Int
|
Flush the global bin and return the number of deleted rows |
Example
{"flushUserBin": 123, "flushDomainBin": 123, "flushGlobalBin": 987}
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
987
JID
Description
Unique XMPP identifier in the form of node@domain or **node@domain/resource
Example
"alice@localhost"
Key
KeyInput
Keyword
Fields
| Field Name | Description |
|---|---|
keyword - [String]
|
Keywords list |
Example
{"keyword": ["xyz789"]}
KeywordInput
Fields
| Input Field | Description |
|---|---|
keyword - [String!]
|
Keywords list |
Example
{"keyword": ["xyz789"]}
KickUserResult
Description
Kick user session result
Example
{
"jid": "alice@localhost",
"kicked": true,
"code": "xyz789",
"message": "abc123"
}
Label
Fields
| Field Name | Description |
|---|---|
tags - [AddressTags]
|
Label tags |
line - [String]
|
Individual label lines |
Example
{"tags": ["HOME"], "line": ["abc123"]}
LabelInput
Fields
| Input Field | Description |
|---|---|
tags - [AddressTags!]
|
Label tags |
line - [String!]!
|
Individual label lines |
Example
{"tags": ["HOME"], "line": ["abc123"]}
LastActivity
LastAdminMutation
Description
Allow admin to get information about last activity.
Fields
| Field Name | Description |
|---|---|
setLast - LastActivity
|
Set user's last status and timestamp |
removeOldUsers - [OldUser!]
|
Delete users that didn't log in the last days or have never logged in. Globally or for a specified domain. Please use listOldUsers to check which users will be deleted |
Arguments
|
|
Example
{
"setLast": LastActivity,
"removeOldUsers": [OldUser]
}
LastAdminQuery
Description
Allow admin to manage last activity.
Fields
| Field Name | Description |
|---|---|
getLast - LastActivity
|
Get the user's last status and timestamp |
Arguments
|
|
countActiveUsers - Int
|
Get the number of users active from the given timestamp |
Arguments
|
|
listOldUsers - [OldUser!]
|
List users that didn't log in the last days or have never logged in. Globally or for a specified domain |
Arguments
|
|
Example
{
"getLast": LastActivity,
"countActiveUsers": 987,
"listOldUsers": [OldUser]
}
LogLevel
Description
Logs events that equally or more severe than the configured level
Values
| Enum Value | Description |
|---|---|
|
|
Do not log any events |
|
|
Log when system is unusable |
|
|
Log when action must be taken immediately |
|
|
Log critical conditions |
|
|
Log error conditions |
|
|
Log warning conditions |
|
|
Log normal but significant conditions |
|
|
Long informational messages |
|
|
Log debug messages |
|
|
Log everything |
Example
"NONE"
MUCAdminMutation
Description
Allow admin to manage Multi-User Chat rooms.
Fields
| Field Name | Description |
|---|---|
createInstantRoom - MUCRoomDesc
|
Create a MUC room under the given XMPP hostname |
Arguments |
|
inviteUser - String
|
Invite a user to a MUC room |
kickUser - String
|
Kick a user from a MUC room |
Arguments |
|
sendMessageToRoom - String
|
Send a message to a MUC room |
sendPrivateMessage - String
|
Send a private message to a MUC room user |
Arguments |
|
deleteRoom - String
|
Remove a MUC room |
changeRoomConfiguration - MUCRoomConfig
|
Change configuration of a MUC room |
Arguments
|
|
setUserRole - String
|
Change a user role |
Arguments |
|
setUserAffiliation - String
|
Change a user affiliation |
Arguments |
|
enterRoom - String
|
Make a user enter the room with a given nick |
Arguments |
|
exitRoom - String
|
Make a user with the given nick exit the room |
Arguments |
|
Example
{
"createInstantRoom": MUCRoomDesc,
"inviteUser": "xyz789",
"kickUser": "abc123",
"sendMessageToRoom": "xyz789",
"sendPrivateMessage": "abc123",
"deleteRoom": "xyz789",
"changeRoomConfiguration": MUCRoomConfig,
"setUserRole": "abc123",
"setUserAffiliation": "abc123",
"enterRoom": "xyz789",
"exitRoom": "abc123"
}
MUCAdminQuery
Description
Allow admin to get information about Multi-User Chat rooms.
Fields
| Field Name | Description |
|---|---|
listRooms - MUCRoomsPayload
|
Get MUC rooms under the given MUC domain |
Arguments |
|
getRoomConfig - MUCRoomConfig
|
Get configuration of the MUC room |
Arguments
|
|
listRoomUsers - [MUCRoomUser!]
|
Get the user list of a given MUC room |
Arguments
|
|
listRoomAffiliations - [MUCRoomAffiliation!]
|
Get the affiliation list of given MUC room |
Arguments
|
|
getRoomMessages - StanzasPayload
|
Get the MUC room archived messages |
Example
{
"listRooms": MUCRoomsPayload,
"getRoomConfig": MUCRoomConfig,
"listRoomUsers": [MUCRoomUser],
"listRoomAffiliations": [MUCRoomAffiliation],
"getRoomMessages": StanzasPayload
}
MUCAffiliation
Description
User affiliation to a specific room
Values
| Enum Value | Description |
|---|---|
|
|
The user is the owner of the room |
|
|
The user has an administrative role |
|
|
The user is a member of the room |
|
|
The user isn't a member of the room |
|
|
The user doesn't have any affiliation |
Example
"OWNER"
MUCLightAdminMutation
Description
Allow admin to manage Multi-User Chat Light rooms.
Fields
| Field Name | Description |
|---|---|
createRoom - Room
|
Create a MUC light room under the given XMPP hostname |
Arguments
|
|
changeRoomConfiguration - Room
|
Change configuration of a MUC Light room |
Arguments |
|
inviteUser - String
|
Invite a user to a MUC Light room |
deleteRoom - String
|
Remove a MUC Light room |
Arguments
|
|
kickUser - String
|
Kick a user from a MUC Light room |
sendMessageToRoom - String
|
Send a message to a MUC Light room |
setBlockingList - String
|
Set the user's list of blocked entities |
Arguments
|
|
Example
{
"createRoom": Room,
"changeRoomConfiguration": Room,
"inviteUser": "abc123",
"deleteRoom": "abc123",
"kickUser": "xyz789",
"sendMessageToRoom": "xyz789",
"setBlockingList": "abc123"
}
MUCLightAdminQuery
Description
Allow admin to get information about Multi-User Chat Light rooms.
Fields
| Field Name | Description |
|---|---|
getRoomMessages - StanzasPayload
|
Get the MUC Light room archived messages |
getRoomConfig - Room
|
Get configuration of the MUC Light room |
Arguments
|
|
listRoomUsers - [RoomUser!]
|
Get users list of given MUC Light room |
Arguments
|
|
listUserRooms - [JID!]
|
Get the list of MUC Light rooms that the user participates in |
Arguments
|
|
getBlockingList - [BlockingItem!]
|
Get the user's list of blocked entities |
Arguments
|
|
Example
{
"getRoomMessages": StanzasPayload,
"getRoomConfig": Room,
"listRoomUsers": [RoomUser],
"listUserRooms": ["alice@localhost"],
"getBlockingList": [BlockingItem]
}
MUCRole
Description
MUC role types
Values
| Enum Value | Description |
|---|---|
|
|
User is a visitor |
|
|
User can participate in the room |
|
|
User has ability to moderate room |
Example
"VISITOR"
MUCRoomAffiliation
Description
MUC room affiliation data
Fields
| Field Name | Description |
|---|---|
jid - JID!
|
Room's JID |
affiliation - MUCAffiliation!
|
Affiliation type |
Example
{
"jid": "alice@localhost",
"affiliation": "OWNER"
}
MUCRoomConfig
Description
MUC room configuration
Fields
| Field Name | Description |
|---|---|
title - String!
|
Room's title |
description - String!
|
Room's description |
allowChangeSubject - Boolean!
|
Allow to change the room's subject? |
allowQueryUsers - Boolean!
|
Allow to query users? |
allowPrivateMessages - Boolean!
|
Allow private messages? |
allowVisitorStatus - Boolean!
|
Allow visitor status? |
allowVisitorNickchange - Boolean!
|
Allow visitors to change their nicks? |
public - Boolean!
|
Is the room public? |
publicList - Boolean!
|
Is the room on the public list? |
persistent - Boolean!
|
Is the room persistent |
moderated - Boolean!
|
Is the room moderated? |
membersByDefault - Boolean!
|
Should all new occupants be members by default? |
membersOnly - Boolean!
|
Should only users with member affiliation be allowed to join the room? |
allowUserInvites - Boolean!
|
Can users invite others to join the room? |
allowMultipleSession - Boolean!
|
Allow multiple sessions of the room? |
passwordProtected - Boolean!
|
Is the room password protected? |
password - String!
|
Password to the room |
anonymous - Boolean!
|
Are occupants, except from moderators, able see each others real JIDs? |
mayGetMemberList - [String!]!
|
Array of roles and/or privileges that enable retrieving the room's member list |
maxUsers - PosInt
|
Maximum number of users in the room |
logging - Boolean!
|
Does the room enabled logging events to a file on the disk? |
Example
{
"title": "abc123",
"description": "xyz789",
"allowChangeSubject": false,
"allowQueryUsers": true,
"allowPrivateMessages": true,
"allowVisitorStatus": false,
"allowVisitorNickchange": false,
"public": true,
"publicList": false,
"persistent": false,
"moderated": false,
"membersByDefault": false,
"membersOnly": false,
"allowUserInvites": true,
"allowMultipleSession": false,
"passwordProtected": true,
"password": "abc123",
"anonymous": true,
"mayGetMemberList": ["xyz789"],
"maxUsers": 2,
"logging": false
}
MUCRoomConfigInput
Description
MUC rooom configuration input
Fields
| Input Field | Description |
|---|---|
title - String
|
Room's title |
description - String
|
Room's description |
allowChangeSubject - Boolean
|
Allow to change room's subject? |
allowQueryUsers - Boolean
|
Allow to query users? |
allowPrivateMessages - Boolean
|
Allow private messages? |
allowVisitorStatus - Boolean
|
Allow visitor status? |
allowVisitorNickchange - Boolean
|
Allow visitors to change their nicks? |
public - Boolean
|
Is the room public? |
publicList - Boolean
|
Is the room on the public list? |
persistent - Boolean
|
Is the room persistent |
moderated - Boolean
|
Is the room moderated? |
membersByDefault - Boolean
|
Should all new occupants be members by default? |
membersOnly - Boolean
|
Should only users with member affiliation be allowed to join the room? |
allowUserInvites - Boolean
|
Can users invite others to join the room? |
allowMultipleSession - Boolean
|
Allow multiple sessions of the room? |
passwordProtected - Boolean
|
Is the room password protected? |
password - String
|
Password to the room |
anonymous - Boolean
|
Are occupants, except from moderators, able see each others real JIDs? |
mayGetMemberList - [String!]
|
Array of roles and/or privileges that enable retrieving the room's member list |
maxUsers - PosInt
|
Maximum number of users in the room |
logging - Boolean
|
Does the room enabled logging events to a file on the disk? |
Example
{
"title": "abc123",
"description": "xyz789",
"allowChangeSubject": true,
"allowQueryUsers": false,
"allowPrivateMessages": true,
"allowVisitorStatus": true,
"allowVisitorNickchange": true,
"public": false,
"publicList": false,
"persistent": false,
"moderated": false,
"membersByDefault": false,
"membersOnly": false,
"allowUserInvites": true,
"allowMultipleSession": false,
"passwordProtected": true,
"password": "xyz789",
"anonymous": true,
"mayGetMemberList": ["xyz789"],
"maxUsers": 2,
"logging": false
}
MUCRoomDesc
MUCRoomUser
MUCRoomsPayload
Description
MUC rooms payload
Fields
| Field Name | Description |
|---|---|
rooms - [MUCRoomDesc!]
|
List of rooms descriptions |
count - NonNegInt
|
Number of the rooms |
index - NonNegInt
|
Index of the room |
first - String
|
First room title |
last - String
|
Last room title |
Example
{
"rooms": [MUCRoomDesc],
"count": 0,
"index": 0,
"first": "xyz789",
"last": "abc123"
}
MergedInetStatsMetric
Fields
| Field Name | Description |
|---|---|
name - [String]
|
Metric name |
type - MetricType
|
Metric type |
connections - Int
|
Number of connections |
recv_cnt - Int
|
Number of packets received by the socket |
recv_max - Int
|
Size of the largest packet, in bytes, received by the socket |
recv_oct - Int
|
Number of bytes received by the socket |
send_cnt - Int
|
Number of packets sent from the socket |
send_max - Int
|
Size of the largest packet, in bytes, sent from the socket |
send_oct - Int
|
Number of bytes sent from the socket |
send_pend - Int
|
Number of bytes waiting to be sent by the socket |
Example
{
"name": ["xyz789"],
"type": "histogram",
"connections": 987,
"recv_cnt": 123,
"recv_max": 123,
"recv_oct": 987,
"send_cnt": 987,
"send_max": 987,
"send_oct": 123,
"send_pend": 123
}
MetricAdminQuery
Description
Allow admin to get the metric values
Fields
| Field Name | Description |
|---|---|
getMetrics - [MetricResult]
|
Match metrics using a name pattern and return the metric values. Return all metrics if the name is not provided. Name is a list of name segments or an underscore (i.e. path). |
Arguments
|
|
getMetricsAsDicts - [MetricDictResult]
|
Get metrics without using graphql unions. Optionally returns only specified keys (i.e. keys: ["one"] only returns key "one", but not key "count") |
getClusterMetricsAsDicts - [MetricNodeResult]
|
Gather metrics from multiple nodes. Optionally returns only from specified nodes. |
Example
{
"getMetrics": [HistogramMetric],
"getMetricsAsDicts": [MetricDictResult],
"getClusterMetricsAsDicts": [MetricNodeResult]
}
MetricDictEntry
MetricDictResult
Fields
| Field Name | Description |
|---|---|
name - [String]
|
Metric name |
dict - [MetricDictEntry]
|
A list of keys and values |
Example
{
"name": ["abc123"],
"dict": [MetricDictEntry]
}
MetricNodeResult
Fields
| Field Name | Description |
|---|---|
node - String
|
|
result - [MetricDictResult]
|
Example
{
"node": "abc123",
"result": [MetricDictResult]
}
MetricResult
Description
Type of metric result
Example
HistogramMetric
MetricType
Description
Result of a metric
Values
| Enum Value | Description |
|---|---|
|
|
Collects values over a sliding window of 60s and returns appropriate statistical values |
|
|
Returns a number |
|
|
Provides 2 values: total event count and a value in 60s window. Dividing one value by 60 provides an average per-second value over last minute. |
|
|
Consists of value and time in milliseconds elapsed from the last metric update |
|
|
TCP/IP connection statistics from the 'inet' module |
|
|
Metrics of the relational database management system |
|
|
Metrics of the virtual machine memory |
|
|
Information about virtual machine |
|
|
Information about process queue length |
Example
"histogram"
MnesiaAdminMutation
Description
Allow admin to backup, dump, load, restore and modify mnesia database
Fields
| Field Name | Description |
|---|---|
setMaster - String
|
Set mnesia's master node |
Arguments
|
|
changeNodename - String
|
Change nodename from 'fromString' to 'toString' in 'source' backup file and create new 'target' backup file |
backup - String
|
Save mnesia backup to file 'path' |
Arguments
|
|
restore - String
|
Restore mnesia backup from file 'path' |
Arguments
|
|
dump - String
|
Dump mnesia to file 'path' |
Arguments
|
|
dumpTable - String
|
Dump mnesia table 'table' to file 'path' |
load - String
|
Load mnesia from file 'path' that was previously dumped |
Arguments
|
|
installFallback - String
|
Install mnesia fallback |
Arguments
|
|
Example
{
"setMaster": "xyz789",
"changeNodename": "abc123",
"backup": "xyz789",
"restore": "xyz789",
"dump": "abc123",
"dumpTable": "abc123",
"load": "abc123",
"installFallback": "xyz789"
}
MnesiaAdminQuery
Description
Allow admin to acquire information about mnesia database
Fields
| Field Name | Description |
|---|---|
systemInfo - [MnesiaInfo]
|
Get the information about appropriate mnesia property for a specified key, if no keys are provided all the available properties will be returned |
Arguments
|
|
Example
{"systemInfo": [MnesiaStringResponse]}
MnesiaInfo
Types
| Union Types |
|---|
Example
MnesiaStringResponse
MnesiaIntResponse
MnesiaListResponse
MnesiaStringResponse
MutualSubAction
Description
The mutual subscription actions
Values
| Enum Value | Description |
|---|---|
|
|
Add users to contacts with a both subscription type |
|
|
Delete contacts |
Example
"CONNECT"
NameComponents
Example
{
"family": "xyz789",
"givenName": "xyz789",
"middleName": "abc123",
"prefix": "abc123",
"suffix": "abc123"
}
NameComponentsInput
Example
{
"family": "xyz789",
"givenName": "abc123",
"middleName": "xyz789",
"prefix": "abc123",
"suffix": "xyz789"
}
NodeName
Description
Name of the Erlang node. The value self is used to refer to the current node
Example
"mynode@localhost"
NonEmptyString
Description
String that contains at least one character
Example
"xyz789"
NonNegInt
Description
Integer that has a value above or equal to zero
OfflineAdminMutation
Description
Allow admin to delete offline messages from specified domain
Fields
| Field Name | Description |
|---|---|
deleteExpiredMessages - String
|
Delete offline messages whose date has expired |
Arguments
|
|
deleteOldMessages - String
|
Delete messages at least as old as the number of days specified in the parameter |
Arguments
|
|
Example
{
"deleteExpiredMessages": "abc123",
"deleteOldMessages": "abc123"
}
OldUser
Description
The user is considered old when never registered activity in mod_last, or the latest registered activity is older than the given timestamp.
Example
{
"jid": "alice@localhost",
"timestamp": "2007-12-03T10:15:30Z"
}
Organization
OrganizationInput
Phonetic
Fields
| Field Name | Description |
|---|---|
phonetic - String
|
Textual phonetic pronunciation |
Example
{"phonetic": "xyz789"}
PosInt
Description
Integer that has a value above zero
Example
2
PresenceShow
Description
Presence show field values
Values
| Enum Value | Description |
|---|---|
|
|
The entity or resource is online |
|
|
The entity or resource is temporarily away |
|
|
The entity or resource is actively interested in chatting |
|
|
The entity or resource is busy (dnd = 'Do Not Disturb') |
|
|
The entity or resource is away for an extended period (xa = 'eXtended Away') |
Example
"ONLINE"
PresenceType
Description
Presence type field values
Values
| Enum Value | Description |
|---|---|
|
|
The sender is available for communication |
|
|
An error has occurred regarding processing of a previously sent presence stanza |
|
|
A request for an entity's current presence; SHOULD be generated only by a server on behalf of a user |
|
|
The sender wishes to subscribe to the recipient's presence |
|
|
The sender has allowed the recipient to receive their presence |
|
|
Signals that the entity is no longer available for communication |
|
|
The sender is unsubscribing from the receiver's presence |
|
|
The subscription request has been denied or a previously granted subscription has been canceled |
Example
"AVAILABLE"
Privacy
Fields
| Field Name | Description |
|---|---|
tags - [PrivacyClassificationTags]
|
List of privacy classification tags |
Example
{"tags": ["PUBLIC"]}
PrivacyClassificationTags
Values
| Enum Value | Description |
|---|---|
|
|
vCard may be shared with everyone |
|
|
vCard will not be shared |
|
|
vCard may be shared with allowed users |
Example
"PUBLIC"
PrivacyInput
Fields
| Input Field | Description |
|---|---|
tags - [PrivacyClassificationTags!]
|
Privacy classification tag list |
Example
{"tags": ["PUBLIC"]}
PrivateAdminMutation
Description
Allow admin to set the user's private data
Fields
| Field Name | Description |
|---|---|
setPrivate - XmlElement
|
Set the user's private data |
Arguments
|
|
Example
{
"setPrivate": "<message to='bob@localhost' type='chat' from='alice@localhost'><body>Hi!</body></message>"
}
PrivateAdminQuery
Description
Allow admin to get the user's private data
Fields
| Field Name | Description |
|---|---|
getPrivate - XmlElement
|
Get the user's private data |
Arguments |
|
Example
{
"getPrivate": "<message to='bob@localhost' type='chat' from='alice@localhost'><body>Hi!</body></message>"
}
ProbeQueuesMetric
Fields
| Field Name | Description |
|---|---|
name - [String]
|
Metric name |
type - MetricType
|
Metric type |
fsm - Int
|
Number of messages in p1_fsm queue |
regular - Int
|
Number of messages in the erlang process message queues |
total - Int
|
Total number of messages (fsm + regular) |
Example
{
"name": ["xyz789"],
"type": "histogram",
"fsm": 123,
"regular": 123,
"total": 987
}
RDBMSStatsMetric
Fields
| Field Name | Description |
|---|---|
name - [String]
|
Metric name |
type - MetricType
|
Metric type |
workers - Int
|
Number of workers |
recv_cnt - Int
|
Number of packets received by the socket |
recv_max - Int
|
Size of the largest packet, in bytes, received by the socket |
recv_oct - Int
|
Number of bytes received by the socket |
send_cnt - Int
|
Number of packets sent from the socket |
send_max - Int
|
Size of the largest packet, in bytes, sent from the socket |
send_oct - Int
|
Number of bytes sent from the socket |
send_pend - Int
|
Number of bytes waiting to be sent by the socket |
Example
{
"name": ["xyz789"],
"type": "histogram",
"workers": 123,
"recv_cnt": 123,
"recv_max": 987,
"recv_oct": 123,
"send_cnt": 123,
"send_max": 987,
"send_oct": 123,
"send_pend": 123
}
ResourceName
Description
XMPP resource name (resource part of a JID)
Example
"res1"
Room
Description
Room data
Fields
| Field Name | Description |
|---|---|
jid - BareJID!
|
Room's JId |
name - String
|
Name of the room |
subject - String
|
Subject of the room |
participants - [RoomUser!]!
|
List of participants |
options - [RoomConfigDictEntry!]!
|
Configuration options |
Example
{
"jid": "alice@localhost",
"name": "abc123",
"subject": "xyz789",
"participants": [RoomUser],
"options": [RoomConfigDictEntry]
}
RoomConfigDictEntry
RoomConfigDictEntryInput
RoomName
Description
XMPP room name (local part of a JID)
Example
"my-chat-room"
RoomUser
Description
Room user data
Fields
| Field Name | Description |
|---|---|
jid - JID!
|
User's JID |
affiliation - Affiliation!
|
User's affiliation |
Example
{
"jid": "alice@localhost",
"affiliation": "OWNER"
}
RosterAdminMutation
Description
Allow admin to manage user roster/contacts.
Fields
| Field Name | Description |
|---|---|
addContact - String
|
Add a new contact to a user's roster without subscription |
addContacts - [String]!
|
Add new contacts to a user's roster without subscription |
Arguments
|
|
subscription - String
|
Manage the user's subscription to the contact |
Arguments |
|
deleteContact - String
|
Delete user's contact |
deleteContacts - [String]!
|
Delete user's contacts |
setMutualSubscription - String
|
Manage mutual subscription between given users |
Arguments |
|
subscribeToAll - [String]!
|
Set mutual subscriptions between the user and each of the given contacts |
Arguments
|
|
subscribeAllToAll - [String]!
|
Set mutual subscriptions between all of the given contacts |
Arguments
|
|
Example
{
"addContact": "xyz789",
"addContacts": ["abc123"],
"subscription": "abc123",
"deleteContact": "xyz789",
"deleteContacts": ["xyz789"],
"setMutualSubscription": "xyz789",
"subscribeToAll": ["xyz789"],
"subscribeAllToAll": ["xyz789"]
}
RosterAdminQuery
Description
Allow admin to get information about user roster/contacts.
Fields
| Field Name | Description |
|---|---|
listContacts - [Contact!]
|
Get the user's roster/contacts |
Arguments
|
|
getContact - Contact
|
Get the information about the user's specific contact |
Example
{
"listContacts": [Contact],
"getContact": Contact
}
SendStanzaPayload
Description
Send stanza payload
Fields
| Field Name | Description |
|---|---|
id - ID
|
Stanza id |
Example
{"id": "4"}
ServerAdminMutation
Description
Allow admin to manage the node
Fields
| Field Name | Description |
|---|---|
joinCluster - String
|
Join the MongooseIM node to a cluster. Call it on the joining node |
Arguments
|
|
leaveCluster - String
|
Leave a cluster. Call it on the node that is going to leave |
removeFromCluster - String
|
Remove a MongooseIM node from the cluster. Call it from the member of the cluster |
Arguments
|
|
restart - String
|
Restart MongooseIM node |
stop - String
|
Stop MongooseIM node |
removeNode - String
|
Remove a MongooseIM node from Mnesia clustering config |
Arguments
|
|
setLoglevel - String
|
Set MongooseIM node's LogLevel |
Arguments
|
|
Example
{
"joinCluster": "xyz789",
"leaveCluster": "abc123",
"removeFromCluster": "xyz789",
"restart": "xyz789",
"stop": "abc123",
"removeNode": "xyz789",
"setLoglevel": "xyz789"
}
ServerAdminQuery
Description
Allow admin to acquire data about the node
Example
{
"status": Status,
"getLoglevel": "NONE",
"getCookie": "abc123"
}
Session
Description
The information about the session
Fields
| Field Name | Description |
|---|---|
user - JID!
|
The full JID |
connection - String
|
The connection type (e.g. c2s) |
ip - String
|
The session IP address |
port - Int
|
The session port |
priority - Int
|
The priority level of the resource |
node - String
|
The node that the session process belongs to |
uptime - Int
|
The uptime of the session |
Example
{
"user": "alice@localhost",
"connection": "abc123",
"ip": "abc123",
"port": 987,
"priority": 123,
"node": "abc123",
"uptime": 987
}
SessionAdminMutation
Description
Allow admin to manage sessions.
Fields
| Field Name | Description |
|---|---|
kickUserSession - KickUserResult
|
Kick a user session. User JID must contain resource |
kickUser - [KickUserResult!]
|
Kick user sessions |
setPresence - SessionPayload
|
Set presence of a session. User JID should contain resource |
Arguments |
|
Example
{
"kickUserSession": KickUserResult,
"kickUser": [KickUserResult],
"setPresence": SessionPayload
}
SessionAdminQuery
Description
Allow admin to get information about sessions.
Fields
| Field Name | Description |
|---|---|
listSessions - [Session!]
|
Get the list of established sessions for a specified domain or globally |
Arguments
|
|
countSessions - Int
|
Get the number of established sessions for a specified domain or globally |
Arguments
|
|
listUserSessions - [Session!]
|
Get information about all sessions of a user |
Arguments
|
|
countUserResources - Int
|
Get the number of resources of a user |
Arguments
|
|
getUserResource - ResourceName
|
Get the resource string of the n-th session of a user |
listUsersWithStatus - [UserStatus!]
|
Get the list of logged users with this status for a specified domain or globally |
Arguments
|
|
countUsersWithStatus - Int
|
Get the number of logged users with this status for a specified domain or globally |
Arguments
|
|
Example
{
"listSessions": [Session],
"countSessions": 123,
"listUserSessions": [Session],
"countUserResources": 123,
"getUserResource": "res1",
"listUsersWithStatus": [UserStatus],
"countUsersWithStatus": 123
}
SessionPayload
Sound
SoundInput
SpiralMetric
Fields
| Field Name | Description |
|---|---|
name - [String]
|
Metric name |
type - MetricType
|
Metric type |
one - Int
|
One minute value |
count - Int
|
Total value |
Example
{
"name": ["abc123"],
"type": "histogram",
"one": 987,
"count": 987
}
StanzaAdminMutation
Fields
| Field Name | Description |
|---|---|
sendMessage - SendStanzaPayload
|
Send a chat message from a given contact to a local or remote bare or full JID |
sendMessageHeadLine - SendStanzaPayload
|
Send a headline message from a given contact to a local or remote bare or full JID |
sendStanza - SendStanzaPayload
|
Send an arbitrary stanza. Only for global admin |
Arguments
|
|
Example
{
"sendMessage": SendStanzaPayload,
"sendMessageHeadLine": SendStanzaPayload,
"sendStanza": SendStanzaPayload
}
StanzaAdminQuery
Fields
| Field Name | Description |
|---|---|
getLastMessages - StanzasPayload
|
Get last 50 messages to/from a given contact, optionally you can change the limit, specify a date or select only messages exchanged with a specific contact |
Example
{"getLastMessages": StanzasPayload}
StanzaAdminSubscription
StanzaMap
Description
Stanza map data
Fields
| Field Name | Description |
|---|---|
sender - JID
|
Sender's JID |
timestamp - DateTime
|
Stanza's timestamp |
stanza_id - String
|
ID of the stanza |
stanza - XmlElement
|
Stanza's data |
Example
{
"sender": "alice@localhost",
"timestamp": "2007-12-03T10:15:30Z",
"stanza_id": "xyz789",
"stanza": "<message to='bob@localhost' type='chat' from='alice@localhost'><body>Hi!</body></message>"
}
StanzasPayload
Description
Stanza payload data
Fields
| Field Name | Description |
|---|---|
stanzas - [StanzaMap]
|
List of stanza's maps |
limit - Int
|
Max number of stanzas |
Example
{"stanzas": [StanzaMap], "limit": 123}
StatsAdminQuery
Description
Allow admin to get statistics
Fields
| Field Name | Description |
|---|---|
globalStats - GlobalStats
|
Get statistics from all of the nodes. Only for global admin |
domainStats - DomainStats
|
Get statistics from a specific domain |
Arguments
|
|
Example
{
"globalStats": GlobalStats,
"domainStats": DomainStats
}
Status
Description
Status of the server
Fields
| Field Name | Description |
|---|---|
statusCode - StatusCode
|
Code of the status |
message - String
|
Message about the status |
Example
{
"statusCode": "RUNNING",
"message": "abc123"
}
StatusCode
Description
Specifies status of the server
Values
| Enum Value | Description |
|---|---|
|
|
Server is running |
|
|
Server is not running |
Example
"RUNNING"
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
"abc123"
SubAction
Description
The subscription actions
Values
| Enum Value | Description |
|---|---|
|
|
Send the subscription request to a user. Presence type: subscribe |
|
|
Accept the subscription request. Presence type: subscribed |
|
|
Decline the subscription's request. Presence type: unsubscribed |
|
|
Cancel the user's subscription. Presence type: unsubscribe |
Example
"INVITE"
Telephone
Fields
| Field Name | Description |
|---|---|
tags - [TelephoneTags]
|
Telephone tags |
number - String
|
Telephone's number |
Example
{"tags": ["HOME"], "number": "abc123"}
TelephoneInput
Fields
| Input Field | Description |
|---|---|
tags - [TelephoneTags!]
|
Telephone tags |
number - String!
|
Telephone's number |
Example
{"tags": ["HOME"], "number": "xyz789"}
TelephoneTags
Description
Specifies intended use of a telphone number
Values
| Enum Value | Description |
|---|---|
|
|
Number associated with a residence |
|
|
Number associated with a workplace |
|
|
Voice telephone number |
|
|
Facsimile telephone number |
|
|
Paging device telephone number |
|
|
Number has voice messaging support |
|
|
Cellular telephone number |
|
|
Video conferencing telephone number |
|
|
Bulletin board system telephone number |
|
|
Modem connected telephone number |
|
|
ISDN service telephone number |
|
|
Personal communication services telephone number |
|
|
Preferred use of a telephone number |
Example
"HOME"
Token
TokenAdminMutation
UserName
Description
XMPP user name (local part of a JID)
Example
"alice"
UserPayload
UserStatus
VMStatsMemoryMetric
Fields
| Field Name | Description |
|---|---|
name - [String]
|
Metric name |
type - MetricType
|
Metric type |
total - Int
|
The total amount of memory in bytes currently allocated (processes_used + system) |
processes_used - Int
|
The total amount of memory in bytes allocated for Erlang processes |
atom_used - Int
|
The total amount of memory in bytes allocated for atoms |
binary - Int
|
The total amount of memory in bytes allocated for binaries |
ets - Int
|
The total amount of memory in bytes allocated for ETS tables |
system - Int
|
The total amount of memory in bytes allocated for the emulator |
Example
{
"name": ["xyz789"],
"type": "histogram",
"total": 987,
"processes_used": 987,
"atom_used": 987,
"binary": 987,
"ets": 123,
"system": 123
}
VMSystemInfoMetric
Fields
| Field Name | Description |
|---|---|
name - [String]
|
Metric name |
type - MetricType
|
Metric type |
port_count - Int
|
Current number of open Erlang ports |
port_limit - Int
|
Maximum allowed number of open Erlang ports |
process_count - Int
|
Current number of Erlang processes |
process_limit - Int
|
Maximum allowed number of Erlang processes |
ets_limit - Int
|
Maximum number of ETS tables |
Example
{
"name": ["xyz789"],
"type": "histogram",
"port_count": 987,
"port_limit": 123,
"process_count": 123,
"process_limit": 987,
"ets_limit": 123
}
Vcard
Fields
| Field Name | Description |
|---|---|
formattedName - String
|
Formatted name from Vcard |
nameComponents - NameComponents
|
Person's name details |
nickname - [String]
|
User's nickname |
photo - [Image]
|
User's photo |
birthday - [String]
|
Birthday date |
address - [Address]
|
User's addresses |
label - [Label]
|
Formatted text corresponding to delivery address |
telephone - [Telephone]
|
User's telephone number |
email - [Email]
|
User's email |
jabberId - [String]
|
User's JID |
mailer - [String]
|
User's mail agent type |
timeZone - [String]
|
User's timezone |
geo - [GeographicalPosition]
|
Geographical position |
title - [String]
|
Job title, functional position or function |
role - [String]
|
User's role, occupation, or business category |
logo - [Image]
|
Logo image |
agent - [Agent]
|
Person who will act on behalf of the user or resource associated with the vCard |
org - [Organization]
|
Organizational name and units associated |
categories - [Keyword]
|
Application specific category information |
note - [String]
|
Note about user |
prodId - [String]
|
Identifier of product that generated the vCard property |
rev - [String]
|
Last revised property. The value must be an ISO 8601 formatted UTC date/time |
sortString - [String]
|
Sort string property |
sound - [Sound]
|
Formatted name pronunciation property |
uid - [String]
|
Unique identifier property |
url - [String]
|
Directory URL property |
desc - [String]
|
Free-form descriptive text |
class - [Privacy]
|
Privacy classification property |
key - [Key]
|
Authentication credential or encryption key property |
Example
{
"formattedName": "xyz789",
"nameComponents": NameComponents,
"nickname": ["abc123"],
"photo": [ImageData],
"birthday": ["xyz789"],
"address": [Address],
"label": [Label],
"telephone": [Telephone],
"email": [Email],
"jabberId": ["abc123"],
"mailer": ["abc123"],
"timeZone": ["xyz789"],
"geo": [GeographicalPosition],
"title": ["abc123"],
"role": ["abc123"],
"logo": [ImageData],
"agent": [AgentVcard],
"org": [Organization],
"categories": [Keyword],
"note": ["abc123"],
"prodId": ["xyz789"],
"rev": ["xyz789"],
"sortString": ["xyz789"],
"sound": [Phonetic],
"uid": ["abc123"],
"url": ["xyz789"],
"desc": ["xyz789"],
"class": [Privacy],
"key": [Key]
}
VcardAdminMutation
Description
Allow admin to set user's vcard
Fields
| Field Name | Description |
|---|---|
setVcard - Vcard
|
Set a new vcard for a user |
Arguments
|
|
Example
{"setVcard": Vcard}
VcardAdminQuery
VcardInput
Fields
| Input Field | Description |
|---|---|
formattedName - String!
|
Formatted name from Vcard |
nameComponents - NameComponentsInput!
|
Person's name details |
nickname - [String]
|
User's nickname |
photo - [ImageInput!]
|
User's photo |
birthday - [String!]
|
Birthday date |
address - [AddressInput!]
|
User's address |
label - [LabelInput!]
|
Formatted text corresponding to delivery address |
telephone - [TelephoneInput!]
|
User's telephone number |
email - [EmailInput!]
|
User's email |
jabberId - [String!]
|
User's JID |
mailer - [String!]
|
User's mail agent type |
timeZone - [String!]
|
User's timezone |
geo - [GeographicalPositionInput!]
|
Geographical position |
title - [String!]
|
Job title, functional position or function |
role - [String!]
|
User's role, occupation, or business category |
logo - [ImageInput!]
|
Logo image |
agent - [AgentInput!]
|
Person who will act on behalf of the user or resource associated with the vCard |
org - [OrganizationInput!]
|
Organizational name and units associated |
categories - [KeywordInput!]
|
Application specific category information |
note - [String!]
|
Note about user |
prodId - [String!]
|
Identifier of product that generated the vCard property |
rev - [String!]
|
Last revised property. The value must be an ISO 8601 formatted UTC date/time |
sortString - [String!]
|
Sort string property |
sound - [SoundInput!]
|
Formatted name pronunciation property |
uid - [String!]
|
Unique identifier property |
url - [String!]
|
Directory URL property |
desc - [String!]
|
Free-form descriptive text |
class - [PrivacyInput!]
|
Privacy classification property |
key - [KeyInput!]
|
Authentication credential or encryption key property |
Example
{
"formattedName": "xyz789",
"nameComponents": NameComponentsInput,
"nickname": ["xyz789"],
"photo": [ImageInput],
"birthday": ["abc123"],
"address": [AddressInput],
"label": [LabelInput],
"telephone": [TelephoneInput],
"email": [EmailInput],
"jabberId": ["abc123"],
"mailer": ["xyz789"],
"timeZone": ["xyz789"],
"geo": [GeographicalPositionInput],
"title": ["abc123"],
"role": ["xyz789"],
"logo": [ImageInput],
"agent": [AgentInput],
"org": [OrganizationInput],
"categories": [KeywordInput],
"note": ["xyz789"],
"prodId": ["abc123"],
"rev": ["xyz789"],
"sortString": ["abc123"],
"sound": [SoundInput],
"uid": ["xyz789"],
"url": ["abc123"],
"desc": ["xyz789"],
"class": [PrivacyInput],
"key": [KeyInput]
}
XmlElement
Description
String containing the XML document
Example
"<message to='bob@localhost' type='chat' from='alice@localhost'><body>Hi!</body></message>"