GraphQL API Reference
We provide all services that Talk can provide via the GraphQL API documented below. For a primer about GraphQL, visit http://graphql.org/.
If you’re already familiar with GraphQL, visit GraphQL API Overview to see how to interact with Talk’s GraphQL endpoint.
GraphQL Schema
Schema
Mutations
createComment will create a Comment as the current logged in User.
createCommentReply will create a Comment as the current logged in User that is in reply to another Comment.
editComment will allow the author of a comment to change the body within the time allotment.
updateSettings will update the Settings for the given Tenant.
rotateSSOSigningSecret can be used to rotate a given active SigningSecret.
deactivateSSOSigningSecret will deactivate a given deactivated SigningSecret.
deleteSSOSigningSecret will delete a given inactive SigningSecret.
createCommentReaction will create a Reaction authored by the current logged in User on a Comment.
removeCommentReaction will remove a Reaction authored by the current logged in User on a Comment if it exists.
createCommentDontAgree will create a DontAgree authored by the current logged in User on a Comment.
removeCommentDontAgree will remove a DontAgree authored by the current logged in User on a Comment if it exists.
createCommentFlag will create a Flag authored by the current logged in User on a given Comment.
featureComment will mark a given Comment as featured.
unfeatureComment will remove the featured tag from a Comment that is featured.
createStory will create the provided Story.
updateStory will update the given Story.
updateStory will update the given Story's settings.
closeStory will close the given story for commenting.
openStory will open the given story for commenting.
mergeStories will merge two stories together, merging their comment streams. This operation is irreversible.
removeStory will remove the given Story.
scrapeStory will scrape the given Story and update the scraped metadata.
approveComment will mark the Comment as APPROVED.
rejectComment will mark the Comment as REJECTED.
inviteUsers will send emails to the users with a new account at the designated role.
setUsername will set the username on the current User if they have not set one before. This mutation will fail if the username is already set.
updateBio will update the users bio.
updateUsername will update the users username.
setEmail will set the email address on the current User if they have not set one already. This mutation will fail if the email address is already set.
setPassword will set the password on the current User if they have not set one already. This mutation will fail if the password is already set.
updatePassword allows the current logged in User to change their password if they already have one associated with them.
requestAccountDeletion allows the current logged in User to request to delete their account.
deleteUserAccount will delete the target user now.
cancelAccountDeletion allows the current logged in User to cancel the request to delete their account
createToken allows an administrator to create a Token based on the current logged in User.
deactivateToken will deactivate the current logged in User's Token based on the input.
updateUserUsername allows administrators to update a given User's username to the one provided.
updateEmail will update the current users email address.
updateNotificationSettings can be used to update the notification settings for the current logged in user.
updateUserMediaSettings can be used to update the media preferences for the current logged in user.
updateUserEmail allows administrators to update a given User's email address to the one provided.
updateUserAvatar allows administrators to update a given User's avatar to the one provided.
updateUserRole will update a given User's role.
promoteUser will allow the viewer to add one or many scopes that applies to the viewer. If the target user was not already a site moderator, their role is set to site moderator.
demoteUser will allow the viewer to remove one or many scopes that applies to the viewer and the target user. If the target user does not have any remaining scopes, they are set to commenter.
updateUserModerationScopes will update the moderation scopes for a given user. This is used to limit the scopes for which a given moderator can moderate if they also have the moderator role.
banUser will ban a specific User from interacting with Comments.
removeUserBan will remove an active ban from a User if they have one.
suspendUser will suspend a specific User from interacting with Comments.
warnUser will warn a user and prevent them from commenting until they acknowledge
removeUserWarning will remove a user warning
acknowledgWarning will remove a warning
removeUserSuspension will remove an active suspension from a User if they have one.
ignoreUser will mark the given User as ignored by the current logged in User.
removeUserIgnore will remove the given User from the ignored user list from the current logged in User.
requestCommentsDownload allows a user to request to download their comments.
requestUserCommentsDownload allows a user to request to download their comments.
premodUser sets a user to mandatory premod
removeUserPremod removes a user from mandatory premod
createModeratorNote creates a note on a user account.
deleteModeratorNote deletes a note on a user account.
enableFeatureFlag will enable a given FEATURE_FLAG.
disableFeatureFlag will disable a given FEATURE_FLAG
createAnnouncement creates a global announcement.
deleteAnnouncement removes a global announcement.
createWebhookEndpoint will create a new WebhookEndpoint.
updateWebhookEndpoint will update a WebhookEndpoint.
enableWebhookEndpoint will enable a WebhookEndpoint to recieve new events.
disableWebhookEndpoint will disable a WebhookEndpoint from recieving new events.
deleteWebhookEndpoint will delete a WebhookEndpoint.
rotateWebhookEndpointSigningSecret will roll the current active secret to a new key.
createExternalModerationPhase will create a new ExternalModerationPhase.
updateExternalModerationPhase will update a ExternalModerationPhase.
enableExternalModerationPhase will enable a ExternalModerationPhase to recieve new comments.
disableExternalModerationPhase will disable a ExternalModerationPhase from recieving new comments.
deleteExternalModerationPhase will delete a ExternalModerationPhase.
rotateExternalModerationPhaseSigningSecret will roll the current active secret to a new key.
updateStoryMode will set the story mode.
addStoryExpert adds an expert to a story.
removeStoryExpert removes an expert from a story.
testSMTP sends a test email.
Query
comments returns a filtered comments connection that can be paginated. This is a fairly expensive edge to filter against, moderation queues should utlilize the dedicated edges for more optimized responses.
story is a specific article that can be identified by either an ID or a URL.
stream will load a specific story that can be identified by either an ID or a URL and will create the story if that feature is enabled.
stories returns filtered stories that can be paginated.
user will return the user referenced by their ID.
TODO: evaluate adding a profile based lookup.
users returns filtered users that can be paginated.
TODO: evaluate adding status based filtering.
viewer is the current logged in User. If no user is currently logged in, it will return null. This is the only nullable field that can be returned that depends on the authentication state that will not throw an error.
settings is the Settings for a given Tenant.
discoverOIDCConfiguration will discover the OpenID Connect configuration based on the provided issuer. Discovery is not supported on all providers, and is described in the OpenID Connect Discovery 1.0 incorporating errata set 1:
https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfig
If the provider does not support discovery, the response will be null.
debugScrapeStoryMetadata will return the information that Coral was able to scrape from the given URL. No data will be saved related to the Story based on this scrape.
moderationQueues returns the set of ModerationQueues that are available for
all stories or if given the story identified by the storyID
.
sections will return the unique sections used by this Tenant.
activeStories is the list of most recently commented on stories identified
by their lastCommentedAt
field
webhookEndpint will return a specific WebhookEndpoint if it exists.
queues returns information on queues used in Coral to manage
externalModerationPhase will return a specific ExternalModerationPhase if it exists.
Object Types
ActionCounts
ActionCounts returns the counts of each action for an item.
reaction returns the counts for the reaction action on an item.
dontAgree returns the counts for the dontAgree action on an item. This edge is restricted to administrators and moderators.
flag returns the counts for the flag action on an item. This edge is restricted to administrators and moderators.
ActionPresence
ActionPresence returns whether or not a given item has one of the following actions on it. This is typically used to determine if a given user has left one of the following actions.
Announcement
Announcement is an organization-wide announcement displayed above the stream for a set duration
id is a canonical identifier for this Annoucnement, used to dismiss on front-end.
content is the content displayed for the announcement.
createdAt is the creation date.
disableAt is the computed date at which announcement will be invalid.
duration determines how long the announcement will be valid for.
ApproveCommentPayload
Auth
Auth contains all the settings related to authentication and authorization.
integrations are the set of configurations for the variations of authentication solutions.
sessionDuration determines the duration in seconds for which an access token is valid
AuthenticationTargetFilter
AuthenticationTargetFilter when non-null, will specify the targets that a specific authentication integration will be enabled on.
AuthIntegrations
local stores configuration related to email/password based logins.
sso stores configuration related to Single Sign On based logins.
oidc stores configuration related to OpenID Connect based logins.
google stores configuration related to Google based logins.
facebook stores configuration related to Facebook based logins.
BanStatus
BanStatus contains information about a ban for a given User.
active when true, indicates that the given user is banned.
sites is a list of sites that the user has been site banned on.
history is the list of all ban events against a specific User.
BanStatusHistory
BanStatusHistory is the list of all ban events against a specific User.
active when true, indicates that the given user is banned.
createdBy is the User that suspended the User. If null
, the then the given
User was banned by the system.
createdAt is the time that the given User was banned.
message is sent to banned user via email.
sites are set when the ban was created to perform a site specific ban.
CloseCommenting
CloseCommenting contains settings related to the automatic closing of commenting on Stories.
auto when true will configure the automatic close on each story as they are created based on the current configured timeout option.
timeout is the amount of seconds from the createdAt
timestamp that a given
story will be considered closed.
message when provided will be the message that shows when the comment stream is closed for commenting.
Comment
Comment is a comment left by a User on an Story or another Comment as a reply.
id is the identifier of the Comment.
body is the content of the Comment, and is an alias to the body of the
currentRevision.body
.
revision is the current revision of the Comment's body.
revisionHistory stores the previous CommentRevision's, with the most recent edit last.
createdAt is the date in which the Comment was created.
author is the User that authored the Comment.
status represents the Comment's current status.
statusHistory returns a CommentModerationActionConnection that will list the history of moderator actions performed on the Comment, with the most recent last.
parentCount is the number of direct parents for this Comment. Currently this value is the same as depth.
depth is the number of levels that a given comment is deep.
replyCount is the number of replies. Only direct replies to this Comment are counted. Removed comments are included in this count.
replies will return the replies to this Comment.
parent is the immediate parent of a given comment.
rootParent is the highest level parent Comment. This Comment would have been left on the Story itself.
parents returns a CommentsConnection that allows accessing direct parents of the given Comment.
editing returns details about the edit status of a Comment.
actionCounts stores the counts of all the actions for the Comment.
reactions is the actual Flags that were left by the Users or the system.
flags is the actual Flags that were left by the Users or the system.
viewerActionPresence stores the presence information for all the actions left by the current User on this Comment.
story is the Story that the Comment was written on.
The permalink for this comment.
tags are the list of tags assigned to the Comment.
deleted is whether the comment has been deleted.
canModerate returns true if the current user can moderate this Comment.
site is the Site referenced by the Story for this Comment.
rating is the optional rating that is attached to the Comment.
CommentCounts
totalPublished will return the count of all published Comments.
tags stores the counts of all the Tags against Comment's on this Story.
statuses stores the counts of all the statuses against Comments on this Story.
CommenterAccountFeatures
CommenterAccountFeatures stores the configuration for commenter account features.
CommentModerationAction
revision is the moderated CommentRevision.
status represents the status that was assigned by the moderator.
moderator is the User that performed the Moderator action. If null, this means that the system has assigned the moderation status.
createdAt is the time that the CommentModerationAction was created.
CommentModerationActionConnection
edges are a subset of CommentModerationActionEdge's.
nodes is a list of CommentModerationAction's.
pageInfo is information to aid in pagination.
CommentModerationActionEdge
node is the CommentModerationAction for this edge.
cursor is used in pagination.
CommentRevision
id is the identifier of the CommentRevision.
comment is the reference to the original Comment associated with the current Comment.
actionCounts stores the counts of all the actions for the CommentRevision specifically.
body is the content of the CommentRevision. If null, it indicates that the body text was deleted.
media is the optional media object attached to this revision.
metadata stores details on a CommentRevision.
createdAt is the time that the CommentRevision was created.
CommentRevisionMetadata
perspective stores metadata associated with the pipeline analysis of this revision's body.
wordList metadata stores extra status details about what occurred during word list analysis of this comment revision.
CommentRevisionPerspectiveMetadata
score is the value detected from the perspective API. This is returned as the percentage chance it would be considered toxic and can be compared to the defined threshold value.
CommentRevisionWordListMetadata
timedOut is whether the wordlist analysis timed out when this revision of the comment was sent through the moderation phases.
CommentsConnection
CommentsConnection represents a subset of a comment list.
edges are a subset of CommentEdge's.
nodes is a list of Comment's.
pageInfo is information to aid in pagination.
CommentStatusCounts
The comment is not PREMOD, but was not applied a moderation status by a moderator.
The comment has been approved by a moderator.
The comment has been rejected by a moderator.
The comment was created while the stories premoderation option was on, and new comments that haven't been moderated yet are referred to as "premoderated" or "premod" comments.
SYSTEM_WITHHELD represents a comment that was withheld by the system because it was flagged by an internal process for further review.
CreateCommentPayload
CreateCommentPayload contains the created Comment after the createComment mutation.
edge is the possibly created comment edge.
clientMutationId is required for Relay support.
CreateCommentReplyPayload
CreateCommentReplyPayload contains the created Comment after the createCommentReply mutation.
edge is the possibly created comment edge.
clientMutationId is required for Relay support.
CreateExternalModerationPhasePayload
clientMutationId is required for Relay support.
phase is the ExternalModerationPhase that we just created.
settings is the updated settings also containing the new phase.
CreateWebhookEndpointPayload
clientMutationId is required for Relay support.
endpoint is the endpoint that we just created.
settings is the updated settings also containing the new endpoint.
CustomExternalIntegration
phases is all the external moderation phases for this Tenant.
DeleteExternalModerationPhasePayload
clientMutationId is required for Relay support.
phase is the ExternalModerationPhase that we just deleted.
DeleteWebhookEndpointPayload
clientMutationId is required for Relay support.
endpoint is the endpoint that we just deleted.
DisableExternalModerationPhasePayload
clientMutationId is required for Relay support.
phase is the ExternalModerationPhase that we just disabled.
DisableFeatureFlagPayload
clientMutationId is required for Relay support.
flags is the current set of flags enabled.
DisableWebhookEndpointPayload
clientMutationId is required for Relay support.
endpoint is the endpoint that we just disabled.
DiscoveredOIDCConfiguration
DiscoveredOIDCConfiguration contains the discovered Provider Metadata as defined in:
https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata
Discovery is not supported on all providers, and is described in the OpenID Connect Discovery 1.0 incorporating errata set 1:
https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfig
issuer is defined as the issuer
in:
https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata
authorizationURL is defined as the authorization_endpoint
in:
https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata
tokenURL is defined as the token_endpoint
in:
https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata
jwksURI is defined as the jwks_uri
in:
https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata
DontAgreeActionCounts
DontAgreeActionCounts stores all the counts for the counts for the dontAgree action on a given item.
total is the total number of dontAgree actions against a given item.
EnableExternalModerationPhasePayload
clientMutationId is required for Relay support.
phase is the ExternalModerationPhase that we just enabled.
EnableFeatureFlagPayload
clientMutationId is required for Relay support.
flags is the current set of flags enabled.
EnableWebhookEndpointPayload
clientMutationId is required for Relay support.
endpoint is the endpoint that we just enabled.
ExternalIntegrations
akismet provides integration with the Akismet Spam detection service.
perspective provides integration with the Perspective API comment analysis platform.
external provides integration details for external moderation phases that can be used in the moderation pipeline.
ExternalMediaConfiguration
enabled is true when external media objects are enabled.
ExternalModerationPhase
ExternalModerationPhase describes a phase use in the moderation pipeline that calls out to an external resource as defined by the provided URL.
id identifies this particular External Moderation Phase.
name is the name assigned to this ExternalModerationPhase for identification purposes.
enabled when true, will use this phase in the moderation pipeline.
url is the actual URL that should be called.
format is the format of the comment body sent.
timeout is the number of milliseconds that this moderation is maximum expected to take before it is skipped.
signingSecret is the secret used to sign outgoing requests to the url during the moderation pipeline.
FacebookAuthIntegration
enabled, when true, will enable Facebook as an authentication integration.
allowRegistration when true will allow users that have not signed up before with this authentication integration to sign up.
targetFilter will restrict where the authentication integration should be displayed. If the value of targetFilter is null, then the authentication integration should be displayed in all targets.
clientID is the Client Identifier as provided by the Facebook Developer Console.
clientSecret is the Client Secret as provided by the Facebook Developer Console.
callbackURL is the URL that the user should be redirected to in order to continue the authentication flow. This field is not stored, and is instead computed from the Tenant.
redirectURL is the URL that the user should be redirected to in order to start an authentication flow with the given integration. This field is not stored, and is instead computed from the Tenant.
FacebookProfile
FeatureCommentPayload
Flag
flagger is the User that created the Flag. If this is null, then the system created the Flag.
reason is the selected reason why the Flag is being created. If the reason is not defined, or existed from a previous version of Coral, it will return null to avoid errors.
additionalDetails stores information from the User as to why the Flag was created or is relevant.
FlagActionCounts
FlagActionCounts stores all the counts for the counts for the flag action on a given item and the reason counts.
total is the total number of flags against a given item.
reasons stores the counts for the various reasons that an item could be flagged for.
FlagReasonActionCounts
GiphyMedia
GiphyMedia is a particular GIF that is provided by the Giphy platform.
url is the URL to a image of the GIF.
original is the URL to a image of the GIF.
still is a thumbnail preview of the GIF.
video is a URL to the mp4 video of the GIF.
width is the width of the GIF in pixels.
height is the height of the GIF in pixels.
title is the title of the GIF.
GoogleAuthIntegration
enabled, when true, will enable Google as an authentication integration.
allowRegistration when true will allow users that have not signed up before with this authentication integration to sign up.
targetFilter will restrict where the authentication integration should be displayed. If the value of targetFilter is null, then the authentication integration should be displayed in all targets.
clientID is the Client Identifier as provided by the Google API Console.
clientSecret is the Client Secret as provided by the Google API Console.
callbackURL is the URL that the user should be redirected to in order to continue the authentication flow. This field is not stored, and is instead computed from the Tenant.
redirectURL is the URL that the user should be redirected to in order to start an authentication flow with the given integration. This field is not stored, and is instead computed from the Tenant.
GoogleProfile
Invite
Invite represents a given User that is pending registration that has been invited by an Administrator.
id is the identifier for the Invite.
email is the email address that will be assigned and used for the invited User.
role is the USER_ROLE that the User will be assigned upon account creation.
createdBy is the User that created the Invite.
createdAt is the time that the Invite was created on.
LocalAuthIntegration
allowRegistration when true will allow users that have not signed up before with this authentication integration to sign up.
targetFilter will restrict where the authentication integration should be displayed. If the value of targetFilter is null, then the authentication integration should be displayed in all targets.
LocalProfile
MediaConfiguration
twitter is the configuration for Twitter support.
youtube is the configuration for YouTube support.
giphy is the configuration for Giphy support.
external is the configuration for external images.
ModerationQueue
ModerationQueue returns the Comments associated with a Moderation Queue.
id is a canonical identifier for this specific moderation queue.
count will return the number of Comments that are in this queue.
comments are the comments on the ModerationQueue.
ModerationQueues
ModerationQueues are the list of ModerationQueue's that are supported inside Coral that can be used to moderate Comments.
unmoderated will return a ModerationQueue for all Comments that have not been moderated yet.
reported will return a ModerationQueue for all Comments that have been published, have not been moderated by a human yet, and have been reported by a User via a flag.
pending will return a ModerationQueue for all Comments that were held back by the system and require moderation in order to be published.
NewCommentersConfiguration
NewCommenterConfiguration specifies the features that apply to new commenters
OIDCAuthIntegration
OIDCAuthIntegration provides a way to store Open ID Connect credentials. This will be used in the admin to provide staff logins for users.
enabled, when true, allows the integration to be enabled.
allowRegistration when true will allow users that have not signed up before with this authentication integration to sign up.
targetFilter will restrict where the authentication integration should be displayed. If the value of targetFilter is null, then the authentication integration should be displayed in all targets.
name is the label assigned to reference the provider of the OIDC integration, and will be used in situations where the name of the provider needs to be displayed, like the login button.
callbackURL is the URL that the user should be redirected to in order to continue the authentication flow with the given integration. This field is not stored, and is instead computed from the Tenant.
redirectURL is the URL that the user should be redirected to in order to start an authentication flow with the given integration. This field is not stored, and is instead computed from the Tenant.
clientID is the Client Identifier as defined in:
clientSecret is the Client Secret as defined in:
authorizationURL is defined as the authorization_endpoint
in:
https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata
tokenURL is defined as the token_endpoint
in:
https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata
jwksURI is defined as the jwks_uri
in:
https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata
issuer is defined as the issuer
in:
https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata
Organization
Organization stores information about the organization behind this specific instance of Coral.
PageInfo
Indicates that there are more nodes after this subset.
Included for legacy Relay reasons. Always set to false.
Included for legacy Relay reasons. Always set to null.
Specifies the last node's cursor for forwards pagination.
PerspectiveExternalIntegration
enabled when True will enable the integration.
The endpoint that Coral should use to communicate with the perspective API.
The key for the Perspective API integration.
The threshold that given a specific toxic comment score, the comment will be marked by Coral as toxic.
model is the Perspective model to use.
When True, comments sent will not be stored by the Google Perspective API.
When True, comment moderation decisions will be sent to the Google Perspective API to help improve the comment analysis algorithms.
PremodStatus
active when true, indicates that the given user is set to pre-mod.
history is the list of all suspension events against a specific User.
Queue
counts is the current counts associated with the Queue.
Queues
mailer is the Queue associated with the Mailer queue.
scraper is the Queue associated with the Scraper queue.
notifier is the Queue associated with the Notifier queue.
webhook is the Queue associated with the Webhook queue.
rejector is the Queue associated with the Rejector queue.
ReactionActionCounts
ReactionActionCounts stores all the counts for the counts for the reaction action on a given item.
total is the total number of reactions against a given item.
ReactionConfiguration
ReactionConfiguration stores the configuration for reactions used across this Tenant.
icon is the string representing the icon to be used for the reactions.
iconActive is the string representing the icon that should be used when the icon should be considered active.
label is the string placed beside the reaction icon to provide better context.
labelActive is the string placed beside the reaction icon to provide better context when it has been selected.
sortLabel is the string placed inside of the sort menu to sort for comment with most reactions.
color is the hex color code that can be used to change the color of the button.
ReactionsConnection
edges are a subset of FlagEdge's.
nodes is a list of Flags.
pageInfo is information to aid in pagination.
RecentCommentHistory
RecentCommentHistory returns data associated with a User's recent commenting history within the specified timeFrame configured.
statuses stores the counts of all the statuses against Comments by a User within the timeFrame configured.
RecentCommentHistoryConfiguration
RecentCommentHistoryConfiguration controls the beheviour around when comments from Users should be marked for pre-moderation automatically once they have reached the trigger rate for rejected comments.
enabled when true will pre-moderate users new comments once they have reached the trigger rejection rate.
timeFrame specifies the number of seconds that comments from a given User will be taken into account when computing their rejection rate.
triggerRejectionRate specifies the percentage of comments that a given User may have before their comments will then be placed into pre-moderation until the rejection rate decreases.
RejectCommentPayload
RequestCommentsDownloadPayload
clientMutationId is required for Relay support.
RotateExternalModerationPhaseSigningSecretPayload
clientMutationId is required for Relay support.
phase is the ExternalModerationPhase that we just updated.
RotateWebhookEndpointSigningSecretPayload
clientMutationId is required for Relay support.
endpoint is the endpoint that we just updated.
RTEConfiguration
enabled when true turns on basic RTE features including bold, italic, quote, and bullet list.
strikethrough when true turns on the strikethrough feature.
spoiler when true turns on the spoiler feature.
sarcasm when true turns on the sarcasm feature.
Settings
Settings stores the global settings for a given Tenant.
id is a canonical identifier for this Tenant.
domain is the domain that is associated with this Tenant.
webhooks store the webhook configuration.
webhookEvents returns all the events that can trigger webhooks.
staticURI if configured, is the static URI used to serve static files from.
locale is the specified locale for this Tenant.
live provides configuration options related to live updates for stories on this site.
moderation is the moderation mode for all Stories on the site.
communityGuidelines will be shown in the comments stream.
premodLinksEnable will put all comments that contain links into premod.
closeCommenting contains settings related to the automatic closing of commenting on Stories.
customCSSURL is the URL of the custom CSS used to display on the frontend.
disableCommenting will disable commenting site-wide.
editCommentWindowLength is the length of time (in seconds) after a comment is posted that it can still be edited by the author.
charCount stores the character count moderation settings.
organization stores information about the organization behind this specific instance of Coral.
email is the set of credentials and settings associated with the organization.
slack is the configuration for slack communication
wordList will return a given list of words.
auth contains all the settings related to authentication and authorization.
integrations contains all the external integrations that can be enabled.
recentCommentHistory is the set of settings related to how automatic pre-moderation is controlled.
reaction specifies the configuration for reactions.
staff specifies the configuration for the staff badges assigned to users with any role above COMMENTER.
accountFeatures stores the configuration for commenter account features.
stories stores the configuration around stories.
media is the configuration media content attached to Comment's.
featureFlags provides the enabled feature flags.
createdAt is the time that the Settings was created at.
newCommenters is the configuration for how new commenters comments are treated.
premoderateSuspectWords when enabled will cause any comments that contain suspect words to be sent to pre-moderation to be reviewed by a moderator prior to being presented in stream.
announcement is the currently active Announcement.
multisite is whether multiple sites exist for this tenant.
rte is the configuration of the Rich-Text-Editor.
memberBios is whether members can define a bio for their account.
SigningSecret
kid is the identifier for the key used when verifying tokens issued by the provider.
secret is the actual underlying secret used to verify the tokens with.
createdAt is the date that the key was created at.
lastUsedAt is the time that the
rotatedAt is the time that the token was rotated out.
inactiveAt is the date that the token can no longer be used to validate tokens.
Site
id is the identifier of the Site.
name is the name of the Site.
allowedOrigins are the allowed origins for embeds.
canModerate when true indicates that the current user can moderate comments left on this Site.
topStories will return stories that have had the most comments within the last 24 hours on this Site.
createdAt is when the site was created.
SlackChannel
enabled is whether this Slack channel is enabled to send comments to its correlated web hook
name is the name assigned to the Slack channel
hookURL defines the URL that comments will be sent to
triggers are the filters of types of comments that will be sent to the correlated channel
SlackChannelTriggers
reportedComments is whether this channel will receive reported comments
pendingComments is whether this channel will receive pending comments
featuredComments is whether this channel will receive featured comments
allComents is whether the channel will receive all comments
staffComments is whether the channel will receive staff comments
SlackConfiguration
channels is the set of Slack channels configured to receive comments
SSOAuthIntegration
SSOAuthIntegration is an AuthIntegration that provides a secret to the admins of a tenant, where they can sign a SSO payload with it to provide to the embed to allow single sign on.
allowRegistration when true will allow users that have not signed up before with this authentication integration to sign up.
targetFilter will restrict where the authentication integration should be displayed. If the value of targetFilter is null, then the authentication integration should be displayed in all targets.
signingSecrets are the different SigningSecret's used by this Tenant.
key is the secret that is used to sign tokens.
[DEPRECATED] field is deprecated in favour of signingSecrets
keyGeneratedAt is the Time that the key was effective from.
[DEPRECATED] field is deprecated in favour of signingSecrets
SSOProfile
StaffConfiguration
StaffConfiguration specifies the configuration for the staff badges assigned to users with any role above COMMENTER.
label is the string used when displaying the STAFF badge to users.
[DEPRECATED] deprecated in favour of staffLabel
staffLabel is the string used when displaying the STAFF badge to users.
moderatorLabel is the string used when displaying the MODERATOR badge to users.
adminLabel is the string used when displaying the ADMIN badge to users
Story
Story is an Article or Page where Comments are written on by Users.
id is the identifier of the Story.
status is the status of the Story.
url is the url that the Story is located on.
metadata stores the scraped metadata from the Story page.
scrapedAt is the Time that the Story had it's metadata scraped at. If the time is null, the Story has not been scraped yet.
featuredComments are the Comments with the FEATURED tag on the Story.
comments are the comments on the Story.
Arguments | |
---|---|
rating: Int | rating allows filtering for comments with a specific rating. If this feature has not been enabled on this tenant or story, this option has no effect. |
tag: TAG | This is a workaround to allow filtering for current Q&A functionality. This is used to filter on UNANSWERED to populate its corresponding Unanswered questions tab. In the future, we want a dedicated edge for unansweredComments. |
commentActionCounts stores the counts of all the actions against this Story and it's Comments.
moderationQueues returns the set of ModerationQueues that are available for this Story.
closedAt is the Time that the Story is closed for commenting. If null or in the future, the story is not yet closed.
isClosed returns true when the Story is currently closed for commenting.
commentCounts stores all the counts of Comments that are left on the Comment.
createdAt is the date that the Story was created at.
settings is the set of Settings on a Story that inherit from the global settings.
lastCommentedAt is the last time someone commented on this story.
canModerate returns true if the current user can moderate comments on this Story.
site is the site associated with the story
viewerCount is the number of viewers active on this Story.
ratings is information about ratings that is attached to this story by published comments.
viewerRating is the Comment with a rating that the viewer has already added to this story.
StoryConfiguration
StoryConfiguration stores the configuration for working with stories.
scraping stores configuration around story scraping.
disableLazy when true, will only allow lookups of stories created via the API.
StoryMetadata
StoryMetadata stores all the metadata that is scraped using the scraping tools inside Coral. Coral utilizes metascraper which uses a variety of filters derived from The Open Graph Protocol to scan for metadata on the page.
title stores the scraped title from the Story page.
author stores the scraped author from the Story page.
description stores the scraped description from the Story page.
image stores the scraped image from the Story page.
publishedAt stores the scraped publication date from the Story page.
modifiedAt stores the scraped modified date from the Story page.
section stores the scraped section from the Story page.
StoryScrapingConfiguration
StoryScrapingConfiguration stores the configuration around story scraping.
enabled, when true, enables stories to be scraped. When disabled, stories will only be looked up instead, and must be created via the API directly.
proxyURL when specified, allows scraping requests to use the provided proxy. All requests will then be passed through the appropriote proxy as parsed by the proxy-agent package.
customUserAgent when specified will override the user agent used by fetch requests made during the scraping process.
StorySettings
live provides configuration options related to live updates on this Story.
moderation determines whether or not this is a PRE or POST moderated story.
premodLinksEnable will put all comments that contain links into premod.
messageBox stores settings related to the Story Message Box.
mode is the specified mode that the story should be updated with.
experts are used during Q&A mode to assign users to answer questions on a Q&A stream. It is an optional parameter and is only used when the story stream is in Q&A mode.
SuspensionStatus
SuspensionStatus stores the user suspension status as well as the history of changes.
active when true, indicates that the given user is suspended.
until is the time that the current user suspension is over.
history is the list of all suspension events against a specific User.
SuspensionStatusHistory
SuspensionStatusHistory is the list of all suspension events against a specific User.
active is true when the given suspension status time range applies now.
from is the time range that the suspension is active for.
createdBy is the User that suspended the User. If null
, the then the given
User was suspended by the system.
createdAt is the time that the suspension was created at.
modifiedBy is the User that cancelled/edited the suspension. If null
, then
the suspension has not been cancelled/edited, or has been edited by the
system.
modifiedAt is the time that the suspension was cancelled/edited. If null
,
then the suspension has not been cancelled/edited.
message is sent to suspended user via email.
TestSMTPPayload
TwitterMediaConfiguration
enabled is true when twitter media objects are enabled.
UpdateExternalModerationPhasePayload
clientMutationId is required for Relay support.
phase is the ExternalModerationPhase that we just updated.
UpdateSettingsPayload
UpdateSettingsPayload contains the updated Settings after the updateSettings mutation.
UpdateWebhookEndpointPayload
clientMutationId is required for Relay support.
endpoint is the endpoint that we just created.
User
User is someone that leaves Comments, and logs in.
id is the identifier of the User.
username is the name of the User visible to other Users.
avatar is the url to the avatar for a specific User.
badges are user display badges
email is the current email address for the User.
duplicateEmail is set on users that have a matching email with another user in the database. Only relevant during the account completion process.
emailVerified when true indicates that the given email address has been verified.
profiles is the array of profiles assigned to the user.
role is the current role of the User.
moderatorNotes are notes left by moderators about the User.
ignoreable is a computed property based on the user's role. Typically, users with elevated privileges aren't allowed to be ignored.
comments are the comments written by the User.
allComments are comments regardless of visibility status.
rejectedComments are comments that have been rejected.
ongoingDiscussions are stories where the given user has written comments in sorted by their last comment date.
recentCommentHistory returns recent commenting history by the User.
commentModerationActionHistory returns a CommentModerationActionConnection that this User has created.
status stores the user status information regarding moderation state.
tokens lists the access tokens associated with the account.
ignoredUsers will return the list of ignored users.
notifications stores the notification settings for the given User.
createdAt is the time that the User was created at.
lastDownloadedAt the last time the user made a download request of their account data.
scheduledDeletionDate is the time when the User is scheduled to be deleted.
deletedAt is the time when the User was deleted.
moderationScopes describes the scopes for moderation. These only apply when the user has a MODERATOR role.
ssoURL is the url for managing sso account
mediaSettings are the user's preferences around media stream behaviour.
bio is a user-defined biography.
UserMediaSettings
UserMediaSettings are the user's preferences around embed stream behaviour.
unfurlEmbeds is whether the user has chosen to immediately show embed contents without having to click "Show Tweet", "Show GIF", etc.
UserModerationScopes
UserModerationScopes describes the scopes for moderation. These only apply when the user has a MODERATOR role.
UsernameStatus
history is the list of all usernames for this user
UserNotificationSettings
UserNotificationSettings stores the notification settings for a given User.
onReply, when true, will enable notifications to be sent to users that have replies to their comments.
onFeatured, when true, will enable notifications to be sent to users that have their comment's featured.
onStaffReplies when true, will enable notifications to be sent to users that have a staff member reply to their comments. These notifications will supercede notifications that would have been sent for a basic reply notification.
onModeration when true, will enable notifications to be sent to users when a comment that they wrote that was previously unpublished, becomes published due to a moderator action.
digestFrequency is the frequency to send notifications.
UserStatus
UserStatus stores the user status information regarding moderation state.
current represents the current statuses applied to the User.
username stores the history of username changes for this user
banned stores the user banned status as well as the history of changes.
suspension stores the user suspension status as well as the history of changes.
premod stores the user premod status as well as the history of changes.
warning stores the user warning status as well as the history of warnings
WarningStatus
active when true, indicates that the given user has been warned but has not acknowledged it.
message is the current message for the warning on the User.
history will return the status history items for warnings.
WarningStatusHistory
active when true, indicates that the given user has been warned but has not acknowledged the warning.
createdBy is the user that warned the commenter
createdAt is the time the user was warned
acknowledgedAt is the time the commenter acknowledged the warning. if null
then the warning
has not been acknowledged
message is the custom message sent to the commenter
WebhookConfiguration
endpoints is all the configured endpoints that should receive events.
WebhookEndpoint
id is the unique identifier for this specific endpoint.
enabled when true will enable events to be sent to this endpoint.
url is the URL that we will POST event data to.
signingSecret is the current secret used to sign the events sent out.
deliveries store the deliveries for each event sent for the last 50 events.
all is true when all events are subscribed to.
events are the specific event names that this endpoint is configured to send for.
YouTubeMediaConfiguration
enabled is true when youtube media objects are enabled.
Input Types
AcknowledgeWarningInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
AddStoryExpertInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
storyID: ID! | storyID is the story to add the expert to. |
userID: ID! | userID is the user to add as an expert to the story. |
ApproveCommentInput
Arguments | |
---|---|
commentID: ID! | commentID is the ID of the Comment that was approved. |
commentRevisionID: ID! | commentRevisionID is the ID of the CommentRevision that is being approved. |
clientMutationId: String! | clientMutationId is required for Relay support. |
BanUserInput
Arguments | |
---|---|
userID: ID! | userID is the ID of the User that should have their account banned. |
clientMutationId: String! | clientMutationId is required for Relay support. |
message: String! | message is sent to banned user via email. |
siteIDs: [ID!] | site ID's to scope the ban to. |
rejectExistingComments: Boolean | whether or not to reject all the user's previous comments when banning them. |
CancelAccountDeletionInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
CloseStoryInput
Arguments | |
---|---|
id: ID! | id is the identifier of the Story used either when the Story was created via the API or from Coral when it was lazily created. |
clientMutationId: String! | clientMutationId is required for Relay support. |
CommenterAccountFeaturesInput
CommenterAccountFeatures stores the configuration for commenter account features.
Arguments | |
---|---|
changeUsername: Boolean | changeUsername when true, non-sso user may change username every 14 days |
downloadComments: Boolean | downloadComments when true, user may download their comment history |
deleteAccount: Boolean | deleteAccount when true, non-sso user may permanently delete their account |
CreateAnnouncementInput
Arguments | |
---|---|
content: String! | content of the announcement. |
clientMutationId: String! | clientMutationId is required for Relay support. |
CreateCommentDontAgreeInput
Arguments | |
---|---|
commentID: ID! | commentID is the Comment's ID that we want to create a DontAgree on. |
commentRevisionID: ID! | commentRevisionID is the revision ID of the Comment that we're creating the DontAgree on. |
additionalDetails: String | additionalDetails stores information from the User as to why the Flag was created or is relevant. |
clientMutationId: String! | clientMutationId is required for Relay support. |
CreateCommentFlagInput
Arguments | |
---|---|
commentID: ID! | commentID is the Comment's ID that we want to create a Flag on. |
commentRevisionID: ID! | commentRevisionID is the revision ID of the Comment that we're creating the Flag on. |
reason: COMMENT_FLAG_REPORTED_REASON! | reason is the selected reason why the Flag is being created. |
additionalDetails: String | additionalDetails stores information from the User as to why the Flag was created or is relevant. |
clientMutationId: String! | clientMutationId is required for Relay support. |
CreateCommentInput
CreateCommentInput provides the input for the createComment Mutation.
Arguments | |
---|---|
nudge: Boolean | nudge when true will instead return an error related to recoverable moderation faults such as a toxic comment or spam comment to provide user feedback to nudge the user to correct the comment. |
storyID: ID! | storyID is the ID of the Story where we are creating a comment on. |
body: String! | body is the Comment body, the content of the Comment. |
clientMutationId: String! | clientMutationId is required for Relay support. |
media: CreateCommentMediaInput | media is the optional media attachment to be added to a Comment. |
rating: Int | rating is the optional rating that can be added to a Comment. |
CreateCommentMediaInput
CreateCommentMediaInput is used for creating media to be attached to a Comment.
Arguments | |
---|---|
type: String! | type specifies the type of media that can be attached. Valid values for this
are: |
id: String | id refers to a foreign id for the specific media provider. |
url: String! | url is the URL to the media resource. |
width: String | width is the width to the media resource. |
height: String | height is the height to the media resource. |
CreateCommentReactionInput
Arguments | |
---|---|
commentID: ID! | commentID is the Comment's ID that we want to create a Reaction on. |
commentRevisionID: ID! | commentRevisionID is the revision ID of the Comment that we're creating the Reaction on. |
clientMutationId: String! | clientMutationId is required for Relay support. |
CreateCommentReplyInput
CreateCommentReplyInput provides the input for the createCommentReply Mutation.
Arguments | |
---|---|
nudge: Boolean | nudge when true will instead return an error related to recoverable moderation faults such as a toxic comment or spam comment to provide user feedback to nudge the user to correct the comment. |
storyID: ID! | storyID is the ID of the Story where we are creating a comment on. |
parentID: ID! | parentID is the ID of the Comment that we are replying to. |
parentRevisionID: ID! | parentRevisionID is the ID of the CommentRevision that we are replying to. |
body: String! | body is the Comment body, the content of the Comment. |
clientMutationId: String! | clientMutationId is required for Relay support. |
media: CreateCommentMediaInput | media is the optional media attachment to be added to a Comment. |
CreateExternalModerationPhaseInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
name: String! | name is the name assigned to this ExternalModerationPhase for identification purposes. |
url: String! | url is the URL that Coral will POST moderation queries to. |
format: COMMENT_BODY_FORMAT! | format is the format of the comment body sent. |
timeout: Int! | timeout is the number of milliseconds that this moderation is maximum expected to take before it is skipped. |
CreateModeratorNoteInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
body: String! | body is the content of the Note |
userID: ID! | userID the id of the User who is the subject of the note. |
CreateSite
Arguments | |
---|---|
name: String! | name is the name of the Site. |
allowedOrigins: [String!]! | allowedOrigins are the allowed origins for embeds. |
CreateSiteInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
site: CreateSite! | site is the input for the Site to create. |
CreateStory
CreateStory is the input required to create a Story.
Arguments | |
---|---|
id: ID! | id is the identifier of the Story. |
url: String! | url is the url that the Story is located on. |
mode: STORY_MODE | mode is the specified mode that the story should be created with. |
metadata: StoryMetadataInput | metadata is the set of information relating to this Story that would normally be scraped, but can be provided here. |
closedAt: Time | closedAt when provided specifies the date that the given story will be closed at. If not provided, the story close will use the settings to determine the automatic close date. |
CreateStoryInput
Arguments | |
---|---|
story: CreateStory! | story is the Story input needed to create a Story. |
clientMutationId: String! | clientMutationId is required for Relay support. |
CreateTokenInput
Arguments | |
---|---|
name: String! | name is the desired name for the Token. |
clientMutationId: String! | clientMutationId is required for Relay support. |
CreateWebhookEndpointInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
url: String! | url is the URL that Coral will POST event data to. |
all: Boolean! | all is true when all events are subscribed to. |
events: [WEBHOOK_EVENT_NAME!]! | events are the specific event names that this endpoint is configured to send for. |
DeactivateSSOSigningSecretInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
kid: ID! | kid is the ID of the SigningSecret being deactivated. |
DeactivateTokenInput
Arguments | |
---|---|
id: ID! | id is the ID of the Token that should be deactivated. |
clientMutationId: String! | clientMutationId is required for Relay support. |
DeleteAnnouncementInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
DeleteExternalModerationPhaseInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
id: ID! | id is the ID of the ExternalModerationPhase being deleted. |
DeleteModeratorNoteInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
userID: ID! | userID is the user who is the subject of the note |
id: ID! | id is the identifier of the note |
DeleteSSOSigningSecretInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
kid: ID! | kid is the ID of the SigningSecret being deleted. |
DeleteUserAccountInput
Arguments | |
---|---|
userID: ID! | userID is the ID of the User being deleted. |
clientMutationId: String! | clientMutationId is required for Relay support. |
DeleteWebhookEndpointInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
id: ID! | id is the ID of the WebhookEndpoint being deleted. |
DemoteUserInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
DisableExternalModerationPhaseInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
id: ID! | id is the ID of the ExternalModerationPhase being disabled. |
DisableFeatureFlagInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
flag: FEATURE_FLAG! | flag is the feature flag to delete. |
DisableWebhookEndpointInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
id: ID! | id is the ID of the WebhookEndpoint being disabled. |
EditCommentInput
EditCommentInput provides the input for the editComment Mutation.
Arguments | |
---|---|
commentID: ID! | commentID is the ID of the comment being edited. |
body: String! | body is the Comment body, the content of the Comment. |
clientMutationId: String! | clientMutationId is required for Relay support. |
media: CreateCommentMediaInput | media is the optional media attachment to be added to a Comment. |
EnableExternalModerationPhaseInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
id: ID! | id is the ID of the ExternalModerationPhase being enabled. |
EnableFeatureFlagInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
flag: FEATURE_FLAG! | flag is the feature flag to create. |
EnableWebhookEndpointInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
id: ID! | id is the ID of the WebhookEndpoint being enabled. |
FeatureCommentInput
Arguments | |
---|---|
commentID: ID! | commentID is the ID of the Comment that should be featured. |
commentRevisionID: ID! | commentRevisionID is the ID of the CommentRevision that should be featured |
clientMutationId: String! | clientMutationId is required for Relay support. |
GiphyMediaConfigurationInput
Arguments | |
---|---|
enabled: Boolean | enabled is true when gif search via giphy and giphy media objects are enabled. |
maxRating: String | maximum allowed rating for gifs, g, pg, pg-13, r |
key: String | key is the API key for Giphy. |
IgnoreUserInput
Arguments | |
---|---|
userID: ID! | userID is the ID of the User that should be ignored. |
clientMutationId: String! | clientMutationId is required for Relay support. |
InviteUsersInput
Arguments | |
---|---|
emails: [String!]! | emails is the email addresses of the Users to be invited. |
role: USER_ROLE! | role is the designated role of the User being invited. |
clientMutationId: String! | clientMutationId is required for Relay support. |
LiveConfigurationInput
LiveConfigurationInput provides configuration options related to live updates.
Arguments | |
---|---|
enabled: Boolean | enabled when true will allow live updates. |
MediaConfigurationInput
Arguments | |
---|---|
twitter: TwitterMediaConfigurationInput | twitter is the configuration for Twitter support. |
youtube: YouTubeMediaConfigurationInput | youtube is the configuration for YouTube support. |
giphy: GiphyMediaConfigurationInput | giphy is the configuration for Giphy support. |
MergeStoriesInput
Arguments | |
---|---|
sourceIDs: [ID!]! | sourceIDs are the list of Story ID's that should have their Comment's moved
onto the Story indicated by |
destinationID: ID! | destinationID is the ID of the Story where all the other "source" Stories will have their Comment's moved onto. |
clientMutationId: String! | clientMutationId is required for Relay support. |
ModerationScopesInput
ModerationScopesInput describes the different scopes that a given moderator could be assigned.
Arguments | |
---|---|
siteIDs: [ID!] | siteIDs is an array of ID's that should be the list of sites that a moderator is limited to. If none are passed, it will remove the scoping for this User. |
NewCommentersConfigurationInput
NewCommenterConfigurationInput specifies the features that apply to new commenters
Arguments | |
---|---|
premodEnabled: Boolean | premodEnabled ensures that new commenters' comments are pre-moderated until they have enough approved comments |
approvedCommentsThreshold: Int | approvedCommentsThreshold is the number of comments a user must have approved before their comments do not require premoderation |
OpenStoryInput
Arguments | |
---|---|
id: ID! | id is the identifier of the Story used either when the Story was created via the API or from Coral when it was lazily created. |
clientMutationId: String! | clientMutationId is required for Relay support. |
PremodUserInput
Arguments | |
---|---|
userID: ID! | userID is the ID of the User that should be premodded. |
clientMutationId: String! | clientMutationId is required for Relay support. |
PromoteUserInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
ReactionConfigurationInput
ReactionConfigurationInput stores the configuration for reactions used across this Tenant.
Arguments | |
---|---|
icon: String | icon is the string representing the icon to be used for the reactions. |
iconActive: String | iconActive is the string representing the icon that should be used when the icon should be considered active. |
label: String | label is the string placed beside the reaction icon to provide better context. |
labelActive: String | labelActive is the string placed beside the reaction icon to provide better context when it has been selected. |
sortLabel: String | sortLabel is the string placed inside of the sort menu to sort for comment with most reactions. |
color: String | color is the hex color code that can be used to change the color of the button. |
RecentCommentHistoryConfigurationInput
RecentCommentHistoryConfigurationInput controls the beheviour around when comments from Users should be marked for pre-moderation automatically once they have reached the trigger rate for rejected comments.
Arguments | |
---|---|
enabled: Boolean | enabled when true will pre-moderate users new comments once they have reached the trigger rejection rate. |
timeFrame: Int | timeFrame specifies the number of seconds that comments from a given User will be taken into account when computing their rejection rate. |
triggerRejectionRate: Float | triggerRejectionRate specifies the percentage of comments that a given User may have before their comments will then be placed into pre-moderation until the rejection rate decreases. |
RejectCommentInput
Arguments | |
---|---|
commentID: ID! | commentID is the ID of the Comment that was rejected. |
commentRevisionID: ID! | commentRevisionID is the ID of the CommentRevision that is being rejected. |
clientMutationId: String! | clientMutationId is required for Relay support. |
RemoveCommentDontAgreeInput
Arguments | |
---|---|
commentID: ID! | commentID is the Comment's ID that we want to remove a DontAgree on. |
clientMutationId: String! | clientMutationId is required for Relay support. |
RemoveCommentReactionInput
Arguments | |
---|---|
commentID: ID! | commentID is the Comment's ID that we want to remove a Reaction on. |
clientMutationId: String! | clientMutationId is required for Relay support. |
RemovePremodUserInput
Arguments | |
---|---|
userID: ID! | userID is the ID of the User that should be premodded. |
clientMutationId: String! | clientMutationId is required for Relay support. |
RemoveStoryExpertInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
storyID: ID! | storyID is the story to remove the expert from. |
userID: ID! | userID is the user to remove as an expert from the story. |
RemoveStoryInput
Arguments | |
---|---|
id: ID! | id is the identifier of the Story used either when the Story was created via the API or from Coral when it was lazily created. |
includeComments: Boolean | includeComments when true will remove any Comment's that were left on the Story. This option should be used rarely, instead preferring to updating the Story URL and/or merging with the correct Story. |
clientMutationId: String! | clientMutationId is required for Relay support. |
RemoveUserBanInput
Arguments | |
---|---|
userID: ID! | userID is the ID of the User that should have their account un-banned. |
clientMutationId: String! | clientMutationId is required for Relay support. |
RemoveUserIgnoreInput
Arguments | |
---|---|
userID: ID! | userID is the ID of the User that should have the ignore removed. |
clientMutationId: String! | clientMutationId is required for Relay support. |
RemoveUserSuspensionInput
Arguments | |
---|---|
userID: ID! | userID is the ID of the User that should have their active suspensions removed. |
clientMutationId: String! | clientMutationId is required for Relay support. |
RemoveUserWarningInput
Arguments | |
---|---|
userID: ID! | userID is the ID of the User that should be warned. |
clientMutationId: String! | clientMutationId is required for Relay support. |
RequestAccountDeletionInput
Arguments | |
---|---|
password: String! | password to verify for the current User. |
clientMutationId: String! | clientMutationId is required for Relay support. |
RequestCommentsDownloadInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
RequestUserCommentsDownloadInput
Arguments | |
---|---|
userID: ID! | userID specifies user to download comments for |
clientMutationId: String! | clientMutationId is required for Relay support. |
RotateExternalModerationPhaseSigningSecretInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
id: ID! | id is the ID of the ExternalModerationPhase being updated. |
inactiveIn: Int! | inactiveIn is the number of seconds that the current active Secret should be kept active. |
RotateSSOSigningSecretInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
inactiveIn: Int! | inactiveIn is the number of seconds that the current active SigningSecret should be kept active (allow signed tokens signed with this secret) before rejecting them. |
RotateWebhookEndpointSigningSecretInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
id: ID! | id is the ID of the WebhookEndpoint being updated. |
inactiveIn: Int! | inactiveIn is the number of seconds that the current active Secret should be kept active. |
RTEConfigurationInput
RTEConfigurationInput specifies the configuration for the rte.
Arguments | |
---|---|
enabled: Boolean! | enabled when true turns on basic RTE features including bold, italic, quote, and bullet list. |
strikethrough: Boolean! | strikethrough when true turns on the strikethrough feature. |
spoiler: Boolean! | spoiler when true turns on the spoiler feature. |
ScrapeStoryInput
Arguments | |
---|---|
id: ID! | id is the identifier of the Story used either when the Story was created via the API or from Coral when it was lazily created. |
clientMutationId: String! | clientMutationId is required for Relay support. |
SectionFilter
Arguments | |
---|---|
name: String | name when provided will filter only those comments/stories that have this section. When name is not provided or is null, only comments/stories without a section (uncategorized) will be returned. In order to return all comments/stories regardless of section, specify null or undefined for this filter option. |
SetEmailInput
Arguments | |
---|---|
email: String! | email is the email address to be associated with the User. |
clientMutationId: String! | clientMutationId is required for Relay support. |
SetPasswordInput
Arguments | |
---|---|
password: String! | password is the password that should be associated with the User. |
clientMutationId: String! | clientMutationId is required for Relay support. |
SettingsAkismetExternalIntegrationInput
Arguments | |
---|---|
enabled: Boolean | enabled when True will enable the integration. |
ipBased: Boolean | ipBased when True will enable IP-based spam detection. |
key: String | The key for the Akismet integration. |
site: String | The site (blog) for the Akismet integration. |
SettingsAuthInput
Auth contains all the settings related to authentication and authorization.
Arguments | |
---|---|
integrations: SettingsAuthIntegrationsInput | integrations are the set of configurations for the variations of authentication solutions. |
sessionDuration: Int! | sessionDuration determines the duration in seconds for which an access token is valid |
SettingsAuthIntegrationsInput
Arguments | |
---|---|
local: SettingsLocalAuthIntegrationInput | local stores configuration related to email/password based logins. |
sso: SettingsSSOAuthIntegrationInput | sso stores configuration related to Single Sign On based logins. |
oidc: SettingsOIDCAuthIntegrationInput | oidc stores configuration related to OpenID Connect based logins. |
google: SettingsGoogleAuthIntegrationInput | google stores configuration related to Google based logins. |
facebook: SettingsFacebookAuthIntegrationInput | facebook stores configuration related to Facebook based logins. |
SettingsCharCountInput
Arguments | |
---|---|
enabled: Boolean | enabled when true, enables the character count moderation phase. |
min: Int | min is the smallest length of a Comment that may be posted. |
max: Int | max is the largest length of a Comment that may be posted. |
SettingsCloseCommentingInput
Arguments | |
---|---|
auto: Boolean | auto when true will configure the automatic close on each story as they are created based on the current configured timeout option. |
timeout: Int | timeout is the amount of seconds from the |
message: String | message when provided will be the message that shows when the comment stream is closed for commenting. |
SettingsCommunityGuidelinesInput
Arguments | |
---|---|
enabled: Boolean | enable set to true will show the guidelines above the message box. |
content: String | content of the guidelines. |
SettingsDisableCommentingInput
Arguments | |
---|---|
enabled: Boolean | enabled when true will disable commenting site-wide. |
message: String | message will be shown above the comment stream while commenting is disabled site-wide. |
SettingsEmailConfigurationInput
Arguments | |
---|---|
enabled: Boolean | enabled when True, will enable the emailing functionality in Coral. |
SettingsExternalIntegrationsInput
Arguments | |
---|---|
akismet: SettingsAkismetExternalIntegrationInput | akismet provides integration with the Akismet Spam detection service. |
perspective: SettingsPerspectiveExternalIntegrationInput | perspective provides integration with the Perspective API comment analysis platform. |
SettingsFacebookAuthIntegrationInput
Arguments | |
---|---|
enabled: Boolean | enabled, when true, will enable Facebook as an authentication integration. |
allowRegistration: Boolean | allowRegistration when true will allow users that have not signed up before with this authentication integration to sign up. |
targetFilter: SettingsAuthenticationTargetFilterInput | targetFilter will restrict where the authentication integration should be displayed. If the value of targetFilter is null, then the authentication integration should be displayed in all targets. |
clientID: String | clientID is the Client Identifier as provided by the Facebook Developer Console. |
clientSecret: String | clientSecret is the Client Secret as provided by the Facebook Developer Console. |
SettingsGoogleAuthIntegrationInput
Arguments | |
---|---|
enabled: Boolean | enabled, when true, will enable Google as an authentication integration. |
allowRegistration: Boolean | allowRegistration when true will allow users that have not signed up before with this authentication integration to sign up. |
targetFilter: SettingsAuthenticationTargetFilterInput | targetFilter will restrict where the authentication integration should be displayed. If the value of targetFilter is null, then the authentication integration should be displayed in all targets. |
clientID: String | clientID is the Client Identifier as provided by the Google API Console. |
clientSecret: String | clientSecret is the Client Secret as provided by the Google API Console. |
SettingsInput
SettingsInput is the partial type of the Settings type for performing mutations.
Arguments | |
---|---|
live: LiveConfigurationInput | live provides configuration options related to live updates for stories on this site. |
moderation: MODERATION_MODE | moderation is the moderation mode for all Stories on the site. |
communityGuidelines: SettingsCommunityGuidelinesInput | communityGuidelines will be shown in the comments stream. |
premodLinksEnable: Boolean | premodLinksEnable will put all comments that contain links into premod. |
customCSSURL: String | customCSSURL is the URL of the custom CSS used to display on the frontend. |
disableCommenting: SettingsDisableCommentingInput | disableCommenting will disable commenting site-wide. |
editCommentWindowLength: Int | editCommentWindowLength is the length of time (in seconds) after a comment is posted that it can still be edited by the author. |
organization: SettingsOrganizationInput | organization stores information about the organization behind this specific instance of Coral. |
closeCommenting: SettingsCloseCommentingInput | closeCommenting contains settings related to the automatic closing of commenting on Stories. |
wordList: SettingsWordListInput | wordList will return a given list of words. |
email: SettingsEmailConfigurationInput | email is the set of credentials and settings associated with the organization. |
auth: SettingsAuthInput | auth contains all the settings related to authentication and authorization. |
integrations: SettingsExternalIntegrationsInput | integrations contains all the external integrations that can be enabled. |
recentCommentHistory: RecentCommentHistoryConfigurationInput | recentCommentHistory is the set of settings related to how automatic pre-moderation is controlled. |
charCount: SettingsCharCountInput | charCount stores the character count moderation settings. |
stories: StoryConfigurationInput | stories stores the configuration around stories. |
reaction: ReactionConfigurationInput | reaction specifies the configuration for reactions. |
staff: StaffConfigurationInput | staff specifies the configuration for the staff badges assigned to users with any role above COMMENTER. |
accountFeatures: CommenterAccountFeaturesInput | accountFeatures specifies the configuration for accounts. |
slack: SlackConfigurationInput | slack specifies the configuration for Slack integration. |
locale: Locale | locale specifies the locale for this Tenant. |
newCommenters: NewCommentersConfigurationInput | newCommenters is the configuration for how new commenters comments are treated. |
premoderateSuspectWords: Boolean | premoderateSuspectWords when enabled will cause any comments that contain suspect words to be sent to pre-moderation to be reviewed by a moderator prior to being presented in stream. |
rte: RTEConfigurationInput | rte is the configuration of the Rich-Text-Editor. |
media: MediaConfigurationInput | media is the configuration media content attached to Comment's. |
memberBios: Boolean | memberBios is whether members can define a bio for their account. |
SettingsLocalAuthIntegrationInput
Arguments | |
---|---|
allowRegistration: Boolean | allowRegistration when true will allow users that have not signed up before with this authentication integration to sign up. |
targetFilter: SettingsAuthenticationTargetFilterInput | targetFilter will restrict where the authentication integration should be displayed. If the value of targetFilter is null, then the authentication integration should be displayed in all targets. |
SettingsOIDCAuthIntegrationInput
Arguments | |
---|---|
enabled: Boolean | enabled, when true, allows the integration to be enabled. |
allowRegistration: Boolean | allowRegistration when true will allow users that have not signed up before with this authentication integration to sign up. |
targetFilter: SettingsAuthenticationTargetFilterInput | targetFilter will restrict where the authentication integration should be displayed. If the value of targetFilter is null, then the authentication integration should be displayed in all targets. |
name: String | name is the label assigned to reference the provider of the OIDC integration, and will be used in situations where the name of the provider needs to be displayed, like the login button. |
clientID: String | clientID is the Client Identifier as defined in: |
clientSecret: String | clientSecret is the Client Secret as defined in: |
authorizationURL: String | authorizationURL is defined as the https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata |
tokenURL: String | tokenURL is defined as the https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata |
jwksURI: String | jwksURI is defined as the https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata |
issuer: String | issuer is defined as the https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata |
SettingsOrganizationInput
Arguments | |
---|---|
name: String | name is the name of the organization. |
contactEmail: String | contactEmail is the email of the organization. |
url: String | url is the URL to the organizations home page. |
SettingsPerspectiveExternalIntegrationInput
Arguments | |
---|---|
enabled: Boolean | enabled when True will enable the integration. |
endpoint: String | The endpoint that Coral should use to communicate with the perspective API. |
key: String | The key for the Perspective API integration. |
model: String | model is the name of the Perspective model to use. |
threshold: Float | The threshold that given a specific toxic comment score, the comment will be marked by Coral as toxic. |
doNotStore: Boolean | When True, comments sent will not be stored by the Google Perspective API. |
sendFeedback: Boolean | When True, moderation actions will be sent to the Google Perspective API. |
SettingsSSOAuthIntegrationInput
Arguments | |
---|---|
allowRegistration: Boolean | allowRegistration when true will allow users that have not signed up before with this authentication integration to sign up. |
targetFilter: SettingsAuthenticationTargetFilterInput | targetFilter will restrict where the authentication integration should be displayed. If the value of targetFilter is null, then the authentication integration should be displayed in all targets. |
SettingsWordListInput
Arguments | |
---|---|
banned: [String!] | banned words will by default reject the comment if it is found. |
suspect: [String!] | suspect words will simply flag the comment. |
SetUsernameInput
Arguments | |
---|---|
username: String! | username is the desired username that should be set to the current User. |
clientMutationId: String! | clientMutationId is required for Relay support. |
SlackChannelConfigurationInput
Arguments | |
---|---|
enabled: Boolean | enabled is whether this Slack channel is enabled to send comments to its correlated web hook |
name: String | name is the name assigned to the Slack channel |
hookURL: String | hookURL defines the URL that comments will be sent to |
triggers: SlackTriggersConfigurationInput | triggers are the filters of types of comments that will be sent to the correlated channel |
SlackConfigurationInput
Arguments | |
---|---|
channels: [SlackChannelConfigurationInput!] | channels are the channels configured for Slack integration |
SlackTriggersConfigurationInput
Arguments | |
---|---|
reportedComments: Boolean | reportedComments is whether this channel will receive reported comments |
pendingComments: Boolean | pendingComments is whether this channel will receive pending comments |
featuredComments: Boolean | featuredComments is whether this channel will receive featured comments |
allComments: Boolean | allComents is whether the channel will receive all comments |
staffComments: Boolean | staffComments is whether the channel will receive staff comments |
StaffConfigurationInput
StaffConfigurationInput specifies the configuration for the staff badges assigned to users with any role above COMMENTER.
Arguments | |
---|---|
staffLabel: String | staffLabel is the string used when displaying the STAFF badge to users. |
adminLabel: String | adminLabel is the string used when displaying the ADMIN badge to users. |
moderatorLabel: String | moderatorLabel is the string used when displaying the MODERATOR badge to users. |
StoryConfigurationInput
StoryConfiguration stores the configuration for working with stories.
Arguments | |
---|---|
scraping: StoryScrapingConfigurationInput | scraping stores configuration around story scraping. |
disableLazy: Boolean | disableLazy when true, will only allow lookups of stories created via the API. |
StoryMessageBoxInput
StoryMessageBoxInput stores settings related to the Story Message Box.
Arguments | |
---|---|
enabled: Boolean | enable when true will enable the Message Box on the comment stream. |
icon: String | icon when set will reference the string for the Message box used by the Message Box. |
content: String | content when set contains the actual markup for the Message Box. |
StoryMetadataInput
StoryMetadataInput is the metadata for a given Story as provided via this API.
Arguments | |
---|---|
title: String | title stores the title from the Story page. |
author: String | author stores the author from the Story page. |
description: String | description stores the description from the Story page. |
image: String | image stores the image from the Story page. |
publishedAt: Time | publishedAt stores the publication date from the Story page. |
modifiedAt: Time | modifiedAt stores the modified date from the Story page. |
section: String | section stores the section from the Story page. |
StoryScrapingConfigurationInput
StoryScrapingConfigurationInput stores the configuration around story scraping.
Arguments | |
---|---|
enabled: Boolean | enabled, when true, enables stories to be scraped. When disabled, stories will only be looked up instead, and must be created via the API directly. |
proxyURL: String | proxyURL when specified, allows scraping requests to use the provided proxy. All requests will then be passed through the appropriote proxy as parsed by the proxy-agent package. |
customUserAgent: String | customUserAgent when specified will override the user agent used by fetch requests made during the scraping process. |
SuspendUserInput
Arguments | |
---|---|
userID: ID! | userID is the ID of the User that should be suspended. |
timeout: Int! | timeout is the length of time (in seconds) that a User should be suspended for. |
clientMutationId: String! | clientMutationId is required for Relay support. |
message: String! | message is sent to suspended user via email. |
TwitterMediaConfigurationInput
Arguments | |
---|---|
enabled: Boolean | enabled is true when twitter media objects are enabled. |
UnfeatureCommentInput
Arguments | |
---|---|
commentID: ID! | commentID is the ID of the featured Comment that should be unfeatured. |
clientMutationId: String! | clientMutationId is required for Relay support. |
UpdateBioInput
Arguments | |
---|---|
bio: String | bio is the desired bio that should be set to the current User. |
clientMutationId: String! | clientMutationId is required for Relay support. |
UpdateEmailInput
Arguments | |
---|---|
email: String! | email is the email address to set for the User. |
password: String! | password is the users password. |
clientMutationId: String! | clientMutationId is required for Relay support. |
UpdateExternalModerationPhaseInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
id: ID! | id is the ID of the ExternalModerationPhase being updated. |
name: String | name is the name assigned to this ExternalModerationPhase for identification purposes. |
url: String | url is the URL that Coral will POST moderation queries to. |
format: COMMENT_BODY_FORMAT | format is the format of the comment body sent. |
timeout: Int | timeout is the number of milliseconds that this moderation is maximum expected to take before it is skipped. |
UpdateNotificationSettingsInput
Arguments | |
---|---|
onReply: Boolean | onReply, when true, will enable notifications to be sent to users that have replies to their comments. |
onFeatured: Boolean | onFeatured, when true, will enable notifications to be sent to users that have their comment's featured. |
onStaffReplies: Boolean | onStaffReplies when true, will enable notifications to be sent to users that have a staff member reply to their comments. These notifications will supercede notifications that would have been sent for a basic reply notification. |
onModeration: Boolean | onModeration when true, will enable notifications to be sent to users when a comment that they wrote that was previously unpublished, becomes published due to a moderator action. |
digestFrequency: DIGEST_FREQUENCY | digestFrequency is the frequency to send notifications. |
clientMutationId: String! | clientMutationId is required for Relay support. |
UpdatePasswordInput
Arguments | |
---|---|
oldPassword: String! | oldPassword is the old password that that should be compared against when trying to change the password before the change. |
newPassword: String! | newPassword is the new password that should be associated with the User. |
clientMutationId: String! | clientMutationId is required for Relay support. |
UpdateSettingsInput
UpdateSettingsInput provides the input for the updateSettings Mutation.
Arguments | |
---|---|
settings: SettingsInput! | settings is the partial set of settings that will be used as a patch against the existing settings object. |
clientMutationId: String! | clientMutationId is required for Relay support. |
UpdateSite
Arguments | |
---|---|
name: String | name is the name of the Site. |
url: String | url is the Site URL, seen in email communications. |
contactEmail: String | contactEmail is the contact email for the Site, seen in email communications. |
allowedOrigins: [String!] | allowedOrigins are the allowed origins for embeds. |
UpdateSiteInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
id: ID! | id is the ID of the Site to update. |
site: UpdateSite! | site is the updates for the Site. |
UpdateStory
UpdateStory is the input required to update a Story.
Arguments | |
---|---|
url: String | url is the url that the Story is located on. |
metadata: StoryMetadataInput | metadata is the set of information relating to this Story that would normally be scraped, but can be provided here. |
UpdateStoryInput
Arguments | |
---|---|
id: ID! | id is the identifier of the Story used either when the Story was created via the API or from Coral when it was lazily created. |
story: UpdateStory! | story contains the fields that should be updated. Any fields not specified will not be changed. |
clientMutationId: String! | clientMutationId is required for Relay support. |
UpdateStoryModeInput
Arguments | |
---|---|
storyID: ID! | storyID is the story id to enable Q&A on. |
mode: STORY_MODE! | mode is the mode to set the story to. |
clientMutationId: String! | clientMutationId is required for Relay support. |
UpdateStorySettings
UpdateStorySettings is the input required to update a Story's Settings.
Arguments | |
---|---|
live: LiveConfigurationInput | live provides configuration options related to live updates on this Story. |
moderation: MODERATION_MODE | moderation determines whether or not this is a PRE or POST moderated story. |
premodLinksEnable: Boolean | premodLinksEnable will put all comments that contain links into premod. |
messageBox: StoryMessageBoxInput | messageBox stores settings related to the Story Message Box. |
UpdateStorySettingsInput
Arguments | |
---|---|
id: ID! | id is the identifier of the Story used either when the Story was created via the API or from Coral when it was lazily created. |
settings: UpdateStorySettings! | settings contains the fields on the story settings that should be updated. Any fields not specified will not be changed. |
clientMutationId: String! | clientMutationId is required for Relay support. |
UpdateUserAvatarInput
Arguments | |
---|---|
userID: ID! | userID is the ID of the User that should have their avatar updated. |
avatar: String | avatar is the URL to the avatar to set for the User. If set to |
clientMutationId: String! | clientMutationId is required for Relay support. |
UpdateUserEmailInput
Arguments | |
---|---|
userID: ID! | userID is the ID of the User that should have their email address updated. |
email: String! | email is the email address to set for the User. |
clientMutationId: String! | clientMutationId is required for Relay support. |
UpdateUserModerationScopesInput
Arguments | |
---|---|
userID: ID! | userID is the ID of the User that should have their role updated. |
moderationScopes: ModerationScopesInput! | moderationScopes defines the scopes that a given moderator should be limited to when |
clientMutationId: String! | clientMutationId is required for Relay support. |
UpdateUsernameInput
Arguments | |
---|---|
username: String! | username is the desired username that should be set to the current User. |
clientMutationId: String! | clientMutationId is required for Relay support. |
UpdateUserRoleInput
Arguments | |
---|---|
userID: ID! | userID is the ID of the User that should have their role updated. |
role: USER_ROLE! | role is the |
clientMutationId: String! | clientMutationId is required for Relay support. |
UpdateUserUsernameInput
Arguments | |
---|---|
userID: ID! | userID is the ID of the User that should have their username updated. |
username: String! | username is the desired username to set for the User. |
clientMutationId: String! | clientMutationId is required for Relay support. |
UpdateWebhookEndpointInput
Arguments | |
---|---|
clientMutationId: String! | clientMutationId is required for Relay support. |
id: ID! | id is the ID of the WebhookEndpoint being updated. |
url: String | url is the URL that Coral will POST event data to. |
all: Boolean | all is true when all events are subscribed to. |
events: [WEBHOOK_EVENT_NAME!] | events are the specific event names that this endpoint is configured to send for. |
WarnUserInput
Arguments | |
---|---|
userID: ID! | userID is the ID of the User that should have their account banned. |
clientMutationId: String! | clientMutationId is required for Relay support. |
message: String! | message is displayed to the user in the stream |
YouTubeMediaConfigurationInput
Arguments | |
---|---|
enabled: Boolean | enabled is true when youtube media objects are enabled. |
Unions
CommentMedia
CommentMedia is the various media types that can be attached to a Comment.
Enums
COMMENT_BODY_FORMAT
COMMENT_BODY_FORMAT describes the various formats that a comment body can be provided in.
HTML | HTML describes the format of the comment body using HTML. |
PLAIN_TEXT | PLAIN_TEXT describes the format of the comment body with the HTML stripped. |
COMMENT_FLAG_REASON
COMMENT_FLAG_REASON is the union of the COMMENT_FLAG_REPORTED_REASON and COMMENT_FLAG_DETECTED_REASON types.
COMMENT_REPORTED_OFFENSIVE | |
COMMENT_REPORTED_ABUSIVE | |
COMMENT_REPORTED_SPAM | |
COMMENT_REPORTED_OTHER | |
COMMENT_REPORTED_BIO | |
COMMENT_DETECTED_TOXIC | |
COMMENT_DETECTED_SPAM | |
COMMENT_DETECTED_LINKS | |
COMMENT_DETECTED_BANNED_WORD | |
COMMENT_DETECTED_SUSPECT_WORD | |
COMMENT_DETECTED_RECENT_HISTORY | |
COMMENT_DETECTED_PREMOD_USER | |
COMMENT_DETECTED_NEW_COMMENTER | |
COMMENT_DETECTED_REPEAT_POST |
COMMENT_FLAG_REPORTED_REASON
COMMENT_FLAG_REPORTED_REASON is a reason that is reported by a User on a Comment.
COMMENT_REPORTED_OFFENSIVE | COMMENT_REPORTED_OFFENSIVE is used when a User reported a Comment as being offensive. |
COMMENT_REPORTED_ABUSIVE | COMMENT_REPORTED_ABUSIVE is used when a User reported a Comment as being abusive. |
COMMENT_REPORTED_SPAM | COMMENT_REPORTED_SPAM is used when a User reported a Comment as appearing like spam. |
COMMENT_REPORTED_OTHER | COMMENT_REPORTED_OTHER is used when a User reported a Comment that doesn't fit into the other reported reasons. |
COMMENT_REPORTED_BIO | COMMENT_REPORTED_BIO is used when a User reports a bio that is offensive or abusive. |
COMMENT_STATUS
NONE | The comment is not PREMOD, but was not applied a moderation status by a moderator. |
APPROVED | The comment has been approved by a moderator. |
REJECTED | The comment has been rejected by a moderator. |
PREMOD | The comment was created while the stories premoderation option was on, and new comments that haven't been moderated yet are referred to as "premoderated" or "premod" comments. |
SYSTEM_WITHHELD | SYSTEM_WITHHELD represents a comment that was withheld by the system because it was flagged by an internal process for further review. |
DIGEST_FREQUENCY
NONE | NONE will have the notifications send immediatly rather than bundling for digesting. |
DAILY | DAILY will queue up the notifications and send them daily. |
HOURLY | HOURLY will queue up the notifications and send them hourly. |
FEATURE_FLAG
SECTIONS | SECTIONS when enabled will allow filtering comments in the moderation queue by section. |
DISABLE_WARN_USER_OF_TOXIC_COMMENT | DISABLE_WARN_USER_OF_TOXIC_COMMENT when enabled will turn off warnings for toxic comments. |
ENABLE_QA | ENABLE_QA when enabled will turn off Q&A features client side. |
DEFAULT_QA_STORY_MODE | DEFAULT_QA_STORY_MODE will set the story mode to QA by default. |
SITE_MODERATOR | SITE_MODERATOR will enable the enhanced Site Moderator role by assigning a new modeartion scope to a user. |
REDUCED_SECURITY_MODE | REDUCED_SECURITY_MODE when true will allow unpersisted queries to be executed in production environments. |
DISCUSSIONS | DISCUSSIONS will enable the discussions tab for the comment stream. |
READ_MORE_NEW_TAB | READ_MORE_NEW_TAB will enable opening a new tab when a user clicks on "read more of this conversation" in the comment stream. |
AVATARS | AVATARS will enable pulling an avatar URL from sso token and displaying it next to user comments |
NEW_COMMENT_COUNT | NEW_COMMENT_COUNT enables the comment count update feature. |
EXTERNAL_MEDIA | EXTERNAL_MEDIA enables embedding external images |
RTE_SARCASM | RTE_SARCASM enables sarcasm RTE feature |
VIEWER_COUNT | VIEWER_COUNT when true will enable the display and tracking of the viewer count. |
ALTERNATE_OLDEST_FIRST_VIEW | ALTERNATE_OLDEST_FIRST_VIEW when enabled will move the create comment form to the bottom of the stream when sorting the comment stream by oldest first. |
ENABLE_RATINGS_AND_REVIEWS | ENABLE_RATINGS_AND_REVIEWS when enabled will allow for the ratings and reviews functionality to be enabled. |
FLATTEN_REPLIES | FLATTEN_REPLIES when enabled, will cause all replies that would normally be hidden by a "Show more of this conversation" button to be displayed linearly sorted by date. |
ENABLE_AMP | ENABLE_AMP will enable support for embedding Coral within AMP pages. |
DISABLE_LIVE_UPDATES | DISABLE_LIVE_UPDATES will disable live updates at the tenant level and overrides the configuration option available in the Admin UI for that tenant. |
MODERATION_MODE
PRE | Comments posted while in |
POST | Comments posted while in |
STORY_MODE
COMMENTS | Coments is when a story is used for general commenting. |
QA | QA is used for when the story is in Q&A mode. |
RATINGS_AND_REVIEWS | RATINGS_AND_REVIEWS is used for when the story should be used for ratings and reviews. |
STORY_STATUS
STORY_STATUS represents filtering states that a Story can be in.
OPEN | OPEN represents when a given Story is open for commenting. |
CLOSED | CLOSED represents when a given Story is not open for commenting. |
TAG
STAFF | STAFF is used when a Comment is written by a User that has the STAFF, ADMIN, or MODERATOR role. |
ADMIN | ADMIN is used when a Comment is written by a User that has the ADMIN, role. |
MODERATOR | MODERATOR is used when a Comment is written by a User that has the MODERATOR, role. |
FEATURED | FEATURED is used when a Comment is marked as such by a staff member. |
EXPERT | EXPERT is used when an a Comment is written by a User that is assigned as an expert on a story. |
UNANSWERED | UNANSWERED is used when a Comment is written by a user and has not been answered by an expert on a Story that is set to Q&A. |
REVIEW | REVIEW is used when a Comment is written with a rating on a Story that is set to Ratings and Reviews. |
QUESTION | QUESTION is used when a Comment is written without a rating on a Story that is set to Ratings and Reviews. |
USER_STATUS
USER_STATUS is used to describe the current state of a User. A User may exist in multiple states.
ACTIVE | ACTIVE is used when a User is not suspended or banned. |
BANNED | BANNED is used when a User is banned. |
SUSPENDED | SUSPENDED is used when a User is currently suspended. |
PREMOD | PREMOD is used when a User is currently set to require pre-moderation. |
WARNED | WARNED is used when a user has been warned about behaviour and has not acknowledged |
USER_STATUS_FILTER
ACTIVE | ACTIVE is used when a User is not suspended or banned. |
BANNED | BANNED is used when a User is banned. |
SUSPENDED | SUSPENDED is used when a User is currently suspended. |
PREMOD | PREMOD is used when a User is currently set to require pre-moderation. |
WARNED | WARNED is used when a user has been warned about behaviour and has not acknowledged |
SITE_BANNED | SITE_BANNED is used when a User is site banned. |
Scalars
Float
The Float
scalar type represents signed double-precision fractional values as specified by IEEE 754.
ID
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.
Int
The Int
scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.