Suggest Edits

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

Fields
createComment(input: CreateCommentInput!): CreateCommentResponse!

Creates a comment on the asset.

createFlag(flag: CreateFlagInput!): CreateFlagResponse!

Creates a flag on an entity.

createDontAgree(dontagree: CreateDontAgreeInput!): CreateDontAgreeResponse!

Creates a don't agree action on an entity.

deleteAction(id: ID!): DeleteActionResponse

Delete an action based on the action id.

editComment(id: ID!, asset_id: ID!, edit: EditCommentInput): EditCommentResponse!

Edit a comment

Sets the suspension status on a given user. Requires the MODERATOR role. Mutation is restricted.

Sets the suspension status on a given user. Requires the MODERATOR role. Mutation is restricted.

Sets the always premod status on a given user. Requires the MODERATOR role. Mutation is restricted.

Sets the always premod status on a given user. Requires the MODERATOR role. Mutation is restricted.

banUser(input: BanUserInput!): BanUsersResponse

Sets the ban status on a given user. Requires the MODERATOR role. Mutation is restricted.

unbanUser(input: UnbanUserInput!): UnbanUserResponse

Sets the ban status on a given user. Requires the MODERATOR role. Mutation is restricted.

approveUsername(id: ID!): SetUsernameStatusResponse

Sets the username status on a given user to APPROVED. Requires the MODERATOR role. Mutation is restricted.

rejectUsername(id: ID!): SetUsernameStatusResponse

Sets the username status on a given user to REJECTED. Requires the MODERATOR role. Mutation is restricted.

changeUsername(id: ID!, username: String!): ChangeUsernameResponse

Changes the username to the desired username. Mutation is restricted to those users with permission do to so.

setUsername(id: ID!, username: String!): SetUsernameResponse

Sets the username to the desired username if the user has not had a chance to set their username. Mutation is restricted to those users with permission do to so that have not done so before.

setCommentStatus(id: ID!, status: COMMENT_STATUS!): SetCommentStatusResponse

Sets Comment status. Requires the ADMIN role. Mutation is restricted.

Add a tag.

Removes a tag.

setUserRole(id: ID!, role: USER_ROLES): SetUserRoleResponse

Set's a given users role to the one provided. If null is passed, the user will not have any role.

updateAssetSettings(id: ID!, input: AssetSettingsInput!): UpdateAssetSettingsResponse

Updates settings on a given asset. Mutation is restricted.

updateAssetStatus(id: ID!, input: UpdateAssetStatusInput!): UpdateAssetStatusResponse

Updates the status of an asset allowing you to close/reopen an asset for commenting. Mutation is restricted.

closeAsset(id: ID!): CloseAssetResponse

closeAsset will close the asset for commenting based on server time.

updateSettings will update the global settings. Mutation is restricted.

ignoreUser(id: ID!): IgnoreUserResponse

Ignore comments by another user

createToken(input: CreateTokenInput!): CreateTokenResponse!

CreateToken will create a token that is attached to the current user. Mutation is restricted.

RevokeToken will revoke an existing token. Mutation is restricted.

stopIgnoringUser(id: ID!): StopIgnoringUserResponse

Stop Ignoring comments by another user.

forceScrapeAsset(id: ID!): ForceScrapeAssetResponse

forceScrapeAsset will force scrape the Asset with the given ID.

delUser(id: ID!): DelUserResponse

delUser will delete the user with the specified id.

changePassword allows the current user to change their password that have an associated local user account.

updateEmailAddress changes the email address of the current logged in user.

attachLocalAuth will attach a new local authentication profile to an account.

Creates a respect on an entity.

requestDownloadLink: RequestDownloadLinkResponse

requestDownloadLink will request a download link be sent to the primary users email address.

requestAccountDeletion: RequestAccountDeletionResponse

requestAccountDeletion requests that the current account get deleted. The mutation will return the date that the account is scheduled to be deleted.

cancelAccountDeletion: CancelAccountDeletionResponse

cancelAccountDeletion will cancel a pending account deletion that was previously scheduled.

downloadUser(id: ID!): DownloadUserResponse

downloadUser will provide an account download for the indicated User. This mutation requires the ADMIN role.

updateNotificationSettings will update the current user's notification settings.

Query

Fields
settings: Settings

Site wide settings and defaults.

comment(id: ID!): Comment

Finds a specific comment based on it's id.

All assets. Requires the ADMIN role.

asset(id: ID, url: String): Asset

Find or create an asset by url, or just find with the ID.

comments(query: CommentsQuery!): CommentConnection

Comments returned based on a query.

commentCount(query: CommentCountQuery!): Int

Return the count of comments satisfied by the query. Note that this edge is expensive as it is not batched. Requires the ADMIN role.

userCount(query: UserCountQuery!): Int

Return the count of users satisfied by the query. Note that this edge is expensive as it is not batched. This field is restricted.

me: User

The currently logged in user based on the request. Requires any logged in role.

users(query: UsersQuery!): UserConnection

Users returned based on a query. Requires the ADMIN role.

user(id: ID!): User

a single User by id

Object Types

AlwaysPremodStatus

Fields
status: Boolean!

AlwaysPremodStatusHistory

Fields
status: Boolean!
assigned_by: User
created_at: Date!

AlwaysPremodUserResponse

Implements
Fields
errors: [UserError!]

Asset

Where comments are made on.

Fields
id: ID!

The current ID of the asset.

title: String

The scraped title of the asset.

url: String

The URL that the asset is located on.

comments(query: CommentsQuery = {statuses: [NONE, ACCEPTED], limit: 10, sortOrder: DESC, sortBy: CREATED_AT, excludeDeleted: false}, deep: Boolean = false): CommentConnection

The comments that are attached to the asset. When deep is true, the comments returned will be at all depths.

comment(id: ID!): Comment

A Comment from the Asset by comment's ID

commentCount(tags: [String!]): Int

The count of top level comments on the asset.

totalCommentCount(tags: [String!]): Int

The total count of all comments made on the asset.

settings: Settings!

The settings (rectified with the global settings) that should be applied to this asset.

closedAt: Date

The date that the asset was closed at.

isClosed: Boolean!

True if asset is closed.

action_summaries: [AssetActionSummary!]

Summary of all Actions against all entities associated with the Asset. (likes, flags, etc.). Requires the ADMIN role.

created_at: Date

The date that the asset was created.

tags: [TagLink!]

The tags on the asset

author: String

The author(s) of the asset.

AssetConnection

AssetConnection represents a paginable subset of a asset list.

Fields
hasNextPage: Boolean!

Indicates that there are more assets after this subset.

startCursor: Cursor

Cursor of first asset in subset.

endCursor: Cursor

Cursor of last asset in subset.

nodes: [Asset!]!

Subset of assets.

AttachLocalAuthResponse

AttachLocalAuthResponse returns any errors for when the user attempts to attach a new local authentication profile.

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

BannedStatus

Fields
status: Boolean!

BannedStatusHistory

Fields
status: Boolean!
assigned_by: User
created_at: Date!

BanUsersResponse

Implements
Fields
errors: [UserError!]

CancelAccountDeletionResponse

CancelAccountDeletionResponse contains the account deletion errors relating to canceling an account deletion that was scheduled.

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

ChangePasswordResponse

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

ChangeUsernameResponse

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

CloseAssetResponse

CloseAssetResponse is the response returned with possibly some errors relating to the update status attempt.

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

Comment

Fields
parent: Comment

The parent of the comment (if there is one).

id: ID!

The ID of the comment.

body: String

The actual comment data.

body_history: [CommentBodyHistory!]

The body history of the comment. Requires the ADMIN or MODERATOR role or the author.

tags: [TagLink!]

The tags on the comment

user: User

The user who authored the comment.

replies(query: RepliesQuery = {sortOrder: ASC, sortBy: CREATED_AT, limit: 3, excludeDeleted: false}): CommentConnection!

The replies that were made to the comment.

replyCount: Int

replyCount is the number of replies with a depth of 1. Only direct replies to this comment are counted. Deleted comments are included in this count.

actions: [Action]

Actions completed on the parent. Requires the ADMIN role.

action_summaries: [ActionSummary]!

Action summaries against a comment.

asset: Asset

The asset that a comment was made on.

The current status of a comment.

status_history: [CommentStatusHistory!]

The status history of the comment. Requires the ADMIN or MODERATOR role.

deleted_at: Date

The date that the comment was deleted at if it was.

created_at: Date!

The time when the comment was created

updated_at: Date

The time when the comment was updated.

editing: EditInfo

describes how the comment can be edited

hasParent: Boolean

Indicates if it has a parent

url: String

url is the permalink to this particular Comment on the Asset.

richTextBody: String

CommentBodyHistory

Fields
body: String!
created_at: Date!

CommentConnection

CommentConnection represents a paginable subset of a comment list.

Fields
hasNextPage: Boolean!

Indicates that there are more comments after this subset.

startCursor: Cursor

Cursor of first comment in subset.

endCursor: Cursor

Cursor of last comment in subset.

nodes: [Comment!]!

Subset of comments.

CommentStatusHistory

Fields
created_at: Date!
assigned_by: User

CreateCommentResponse

CreateCommentResponse is returned with the comment that was created and any errors that may have occurred in the attempt to create it.

Implements
Fields
comment: Comment

The comment that was created.

actions: [Action]

Actions that was assigned during creation of the comment.

errors: [UserError!]

An array of errors relating to the mutation that occurred.

CreateDontAgreeResponse

CreateDontAgreeResponse is the response returned with possibly some errors relating to the creating the don't agree action attempt and possibly the don't agree that was created.

Implements
Fields
dontagree: DontAgreeAction

The don't agree that was created.

errors: [UserError!]

An array of errors relating to the mutation that occurred.

CreateFlagResponse

CreateFlagResponse is the response returned with possibly some errors relating to the creating the flag action attempt and possibly the flag that was created.

Implements
Fields

The flag that was created.

errors: [UserError!]

An array of errors relating to the mutation that occurred.

CreateRespectActionResponse

Implements
Fields
respect: RespectAction

The respect that was created.

errors: [UserError!]

An array of errors relating to the mutation that occurred.

CreateTokenResponse

CreateTokenResponse contains the errors related to creating a token.

Implements
Fields
token: Token

Token is the Token that was created, or null if it failed.

errors: [UserError!]

An array of errors relating to the mutation that occurred.

DefaultAction

DefaultAction is the Action provided for undefined types.

Implements
Fields
id: ID!

The ID of the action.

user: User

The author of the action.

updated_at: Date

The time when the Action was updated.

created_at: Date

The time when the Action was created.

DefaultActionSummary

DefaultActionSummary is the ActionSummary provided for undefined types.

Implements
Fields
count: Int

The count of actions with this group.

current_user: Action

The current user's action.

DefaultAssetActionSummary

DefaultAssetActionSummary is the AssetActionSummary provided for undefined types.

Fields
actionCount: Int

Number of actions associated with actionable types on this this Asset.

actionableItemCount: Int

Number of unique actionable types that are referenced by the actions.

DefaultUserProfile

DefaultUserProfile is a fallback if the type of UserProfile can't be determined (like if it was from a plugin that was removed).

Implements
Fields
id: String!

The id is an identifier for the user profile (email, facebook id, etc)

provider: String!

name of the provider attached to the authentication mode

DeleteActionResponse

DeleteActionResponse is the response returned with possibly some errors relating to the delete action attempt.

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

DeleteRespectActionResponse

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

DelUserResponse

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

Domains

Domains describes all the available lists of domains.

Fields
whitelist: [String!]!

whitelist is the list of domains that the embed is allowed to render on.

DontAgreeAction

A DONTAGREE action that contains do not agree metadata.

Implements
Fields
id: ID!

The ID of the DontAgree Action.

message: String

An optional message sent with the flagging action by the user.

user: User

The user who created the action.

updated_at: Date

The time when the DontAgree Action was updated.

created_at: Date

The time when the DontAgree Action was created.

DontAgreeActionSummary

Summary for Don't Agree Action with a a unique reason.

Implements
Fields
count: Int!

The total count of flags with this reason.

current_user: DontAgreeAction

The don't agree action by the current user against the parent entity with this reason.

DownloadUserResponse

DownloadUserResponse contains the account download archiveURL that can be used to directly download a zip file containing the user data.

Implements
Fields
archiveURL: String

archiveURL is the link that can be used within the next 1 hour to download a users archive.

errors: [UserError!]

An array of errors relating to the mutation that occurred.

EditCommentResponse

EditCommentResponse contains the updated comment and any errors that occurred.

Implements
Fields
comment: Comment

The edited comment.

errors: [UserError!]

An array of errors relating to the mutation that occurred.

EditInfo

Fields
edited: Boolean!
editableUntil: Date

FlagAction

A FLAG action that contains flag metadata.

Implements
Fields
id: ID!

The ID of the Flag Action.

reason: String

The reason for which the Flag Action was created.

message: String

An optional message sent with the flagging action by the user.

user: User

The user who created the action.

updated_at: Date

The time when the Flag Action was updated.

created_at: Date

The time when the Flag Action was created.

FlagActionSummary

Summary for Flag Action with a a unique reason.

Implements
Fields
count: Int!

The total count of flags with this reason.

reason: String

The reason for which the Flag Action was created.

current_user: FlagAction

The flag by the current user against the parent entity with this reason.

FlagAssetActionSummary

A summary of counts related to all the Flags on an Asset.

Fields
actionCount: Int

Number of flags associated with actionable types on this this Asset.

actionableItemCount: Int

Number of unique actionable types that are referenced by the flags.

ForceScrapeAssetResponse

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

GenericUserError

A generic error not related to validation reasons.

Implements
Fields
translation_key: String!

Translation key relating to a translatable string containing details to be displayed to the end user.

IgnoreUserResponse

Response to ignoreUser mutation

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

KarmaThreshold

KarmaThreshold defines the bounds for which a User will become unreliable or reliable based on their karma score. If the score is equal or less than the unreliable value, they are unreliable. If the score is equal or more than the reliable value, they are reliable. If they are neither reliable or unreliable then they are neutral.

Fields
reliable: Int!
unreliable: Int!

KarmaThresholds

KarmaThresholds contains the currently set thresholds for triggering Trust beheviour.

Fields

flag represents karma settings in relation to how well a User's flagging ability aligns with the moderation decicions made by moderators.

comment: KarmaThreshold!

comment represents the karma setting in relation to how well a User's comments are moderated.

LocalUserProfile

LocalUserProfile is for a User who has an authentication profile linked to their email address.

Implements
Fields
id: String!

id is the User's email address.

provider: String!

name of the provider attached to the authentication mode, in this case, 'local'.

confirmedAt: Date

confirmedAt is the Date that the user had their email address confirmed, which is null if it has not been verified.

ModifyTagResponse

Response to the addTag or removeTag mutations.

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

NotificationSettings

Fields
digestFrequency: DIGEST_FREQUENCY
onFeatured: Boolean!
onModeration: Boolean!
onReply: Boolean!
onStaffReply: Boolean!

Reliability

Reliability defines how a given user should be considered reliable for their comment or flag activity.

Fields
flagger: Boolean

flagger will be true when the flagger is reliable, false if not, or null if the reliability cannot be determined.

flaggerKarma: Int!

flaggerKarma will contains the number of agreed flags vs disagred flag count.

commenter: Boolean

Commenter will be true when the commenter is reliable, false if not, or null if the reliability cannot be determined.

commenterKarma: Int!

commenterKarma the number of approved comments (not untouched) subtracted by the number of rejected comments.

RemoveAlwaysPremodUserResponse

Implements
Fields
errors: [UserError!]

RequestAccountDeletionResponse

RequestAccountDeletionResponse contains the account deletion schedule errors relating to schedulding an account for deletion.

Implements
Fields
scheduledDeletionDate: Date

scheduledDeletionDate is the data for which the user account will be deleted after. The account may be deleted up to half an hour after this date because the job responsible for deleting the scheduled account will only run once every half hour.

errors: [UserError!]

An array of errors relating to the mutation that occurred.

RequestDownloadLinkResponse

RequestDownloadLinkResponse contains the account download errors relating to the request for an account download.

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

RespectAction

RespectAction is used by users who "respect" a specific entity.

Implements
Fields
id: ID!

The ID of the action.

user: User

The author of the action.

updated_at: Date

The time when the Action was updated.

created_at: Date

The time when the Action was created.

item_id: ID!

The item's id for which the Action was created.

RespectActionSummary

Implements
Fields
count: Int

The count of actions with this group.

current_user: RespectAction

The current user's action.

RespectAssetActionSummary

A summary of counts related to all the Respects on an Asset.

Fields
actionCount: Int

Number of respects associated with actionable types on this this Asset.

actionableItemCount: Int

Number of unique actionable types that are referenced by the respects.

RevokeTokenResponse

RevokeTokenResponse contains the errors related to revoking a token.

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

SetCommentStatusResponse

SetCommentStatusResponse is the response returned with possibly some errors relating to the delete action attempt.

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

Settings

Fields
moderation: MODERATION_MODE!

moderation is the moderation mode for all Asset's on the site.

requireEmailConfirmation: Boolean

Enables a requirement for email confirmation before a user can login.

infoBoxEnable: Boolean

infoBoxEnable will enable the Info Box content visible above the question box.

infoBoxContent: String

infoBoxContent is the content of the Info Box.

questionBoxEnable: Boolean

questionBoxEnable will enable the Question Box's content to be visible above The comment box.

questionBoxContent: String

questionBoxContent is the content of the Question Box.

premodLinksEnable: Boolean

premodLinksEnable will put all comments that contain links into premod.

questionBoxIcon: String

questionBoxIcon is the icon for the Question Box.

autoCloseStream: Boolean

autoCloseStream when true will auto close the stream when the closeTimeout amount of seconds have been reached.

customCssUrl: String

customCssUrl is the URL of the custom CSS used to display on the frontend.

customAdminCssUrl: String

customAdminCssUrl is the URL of the custom CSS used to display on the admin panel.

closedTimeout: Int

closedTimeout is the amount of seconds from the created_at timestamp that a given asset will be considered closed.

closedMessage: String

closedMessage is the message shown to the user when the given Asset is closed.

disableCommenting: Boolean

disableCommenting will disable commenting site-wide.

disableCommentingMessage: String

disableCommentingMessage will be shown above the comment stream while commenting is disabled site-wide.

editCommentWindowLength: Int

editCommentWindowLength is the length of time (in milliseconds) after a comment is posted that it can still be edited by the author.

charCountEnable: Boolean

charCountEnable is true when the character count restriction is enabled.

charCount: Int

charCount is the maximum number of characters a comment may be.

organizationName: String

organizationName is the name of the organization.

organizationContactEmail: String

organizationContactEmail is the email of the organization.

wordlist: Wordlist

wordlist will return a given list of words.

domains: Domains

domains will return a given list of domains.

karmaThresholds: KarmaThresholds

karmaThresholds contains the currently set thresholds for triggering Trust beheviour.

notificationsRequireConfirmation: Boolean

notificationsRequireConfirmation when true indicates that User's must have their email address confirmed/verified before they can receive notifications.

SetUsernameResponse

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

SetUsernameStatusResponse

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

SetUserRoleResponse

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

StopIgnoringUserResponse

Response to stopIgnoringUser mutation

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

SuspendUserResponse

Implements
Fields
errors: [UserError!]

SuspensionStatus

Fields
until: Date

SuspensionStatusHistory

Fields
until: Date
assigned_by: User
created_at: Date!

Tag

Tag represents the underlying Tag that can be either stored in a global list or added uniquely to the entity.

Fields
name: String!

The actual name of the tag entry.

created_at: Date!

The time that this Tag was created.

TagLink

TagLink is used to associate a given Tag with a Model via a TagLink.

Fields
tag: Tag!

The underlying Tag that is either duplicated from the global list or created uniquely for this specific model.

assigned_by: User

The user that assigned the tag. This TagLink could have been created by the system, in which case this will be null. It could also be null if the current user is not an Admin/Moderator.

created_at: Date!

The date that the TagLink was created.

Token

Token is a personal access token associated with a given user.

Fields
id: ID!

ID is the unique identifier for the token.

name: String!

Name is the description for the token.

active: Boolean!

Active determines if the token is available to hit the API.

jwt: String

JWT is the actual token to use for authentication, this is only available on token creation, otherwise it will be null.

UnbanUserResponse

Implements
Fields
errors: [UserError!]

UnsuspendUserResponse

UnsuspendUserResponse is the response returned with possibly some errors relating to the suspend action attempt.

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

UpdateAssetSettingsResponse

UpdateAssetSettingsResponse is the response returned with possibly some errors relating to the update settings attempt.

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

UpdateAssetStatusResponse

UpdateAssetStatusResponse is the response returned with possibly some errors relating to the update status attempt.

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

UpdateEmailAddressResponse

UpdateEmailAddressResponse is returned when you try to update a users email address.

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

UpdateNotificationSettingsResponse

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

UpdateSettingsResponse

UpdateSettingsResponse contains any errors that were rendered as a result of the mutation.

Implements
Fields
errors: [UserError!]

An array of errors relating to the mutation that occurred.

User

Fields
id: ID!

The ID of the User.

username: String!

Username of a user.

created_at: Date!

creation date of user

action_summaries: [ActionSummary!]!

Action summaries against the user.

actions: [Action!]

Actions completed on the parent.

The current roles of the user.

profiles: [UserProfile]

The current profiles of the user.

email: String

The primary email address of the user. Only accessible to Administrators or the current user.

tags: [TagLink!]

The tags on the user.

ignoredUsers: [User!]

ignored users.

tokens: [Token!]

Tokens are the personal access tokens for a given user.

comments(query: CommentsQuery): CommentConnection!

returns all comments based on a query.

reliable: Reliability

reliable is the reference to a given user's Reliability. If the requesting user does not have permission to access the reliability, null will be returned.

state: UserState

returns user status

lastAccountDownload: Date

lastAccountDownload is the date that the user last requested a comment download.

scheduledDeletionDate: Date

scheduledDeletionDate is the data for which the user account will be deleted after. The account may be deleted up to half an hour after this date because the job responsible for deleting the scheduled account will only run once every half hour.

notificationSettings: NotificationSettings

UserConnection

UserConnection represents a paginable subset of a user list.

Fields
hasNextPage: Boolean!

Indicates that there are more users after this subset.

startCursor: Cursor

Cursor of first user in subset.

endCursor: Cursor

Cursor of last user in subset.

nodes: [User!]!

Subset of users.

UsernameStatus

UsernameStatusHistory

Fields
assigned_by: User
created_at: Date!

UserState

UserState describes the different permission based details for a user.

Fields
status: UserStatus

status describes the statuses of different aspects of the user's details.

UserStatus

Fields
username: UsernameStatus!

username is the status of the username.

banned: BannedStatus!

banned is the bool that determines if the user is banned or not.

alwaysPremod: AlwaysPremodStatus!

alwaysPremod is the bool that determines if the user comments are always pushed to the premod queue or not

suspension: SuspensionStatus!

suspension is the date that the user is suspended until.

ValidationUserError

A validation error that affects the input.

Implements
Fields
translation_key: String!

Translation key relating to a translatable string containing details to be displayed to the end user.

field_name: String!

The field in question that caused the error.

Wordlist

Wordlist describes all the available wordlists.

Fields
banned: [String!]!

banned words will by default reject the comment if it is found.

suspect: [String!]!

suspect words will simply flag the comment.

Input Types

AlwaysPremodUserInput

AssetSettingsInput

Configurable settings that can be overridden for the Asset. You must specify all fields that should be updated.

Arguments
premodLinksEnable: Boolean

premodLinksEnable will put all comments that contain links into premod.

moderation: MODERATION_MODE

moderation is the moderation mode for the asset.

questionBoxEnable: Boolean

questionBoxEnable will enable the Question Boxs' content to be visible above The comment box.

questionBoxContent: String

questionBoxContent is the content of the Question Box.

questionBoxIcon: String

questionBoxIcon is the icon for the Question Box.

AssetsQuery

AssetsQuery allows teh ability to query assets by specific fields

Arguments
value: String

a search string to match against titles, authors, urls, etc.

limit: Int

Limit the number of results to be returned

open: Boolean

open filters assets that are open/closed/all. Not providing this parameter will return all the assets, true will return assets that are open, and false will return assets that are closed.

sortOrder: SORT_ORDER

sortOrder specifies the order of the sort for the returned Assets.

cursor: Cursor

Skip results from the last created_at timestamp.

AttachLocalAuthInput

AttachLocalAuthInput provides the input for attaching a new local authentication profile.

Arguments
email: String!

email is the Users email address that they want to add.

password: String!

password is the Users password that they want to add.

BanUserInput

ChangePasswordInput

Arguments
oldPassword: String!

oldPassword is the previous password set on the account. An incorrect password here will result in an unauthorized error being thrown.

newPassword: String!

newPassword is the password we're changing it to.

CommentCountQuery

CommentCountQuery allows the ability to query comment counts by specific methods.

Arguments
statuses: [COMMENT_STATUS!]

Current status of a comment. This field is restricted.

asset_id: ID

Asset that a comment is on.

asset_url: String

The URL that the asset is located on.

parent_id: ID

The parent of the comment that we want to retrieve.

action_type: ACTION_TYPE

comments returned will only be ones which have at least one action of this type.

author_id: ID

author_id allows the querying of comment counts based on the author of the comments.

tags: [String!]

Filter by a specific tag name.

excludeDeleted: Boolean

excludeDeleted when true will exclude deleted comments from the count.

CommentsQuery

CommentsQuery allows the ability to query comments by a specific methods.

Arguments
author_id: ID

Author of the comments.

statuses: [COMMENT_STATUS!]

Current status of a comment. This field is restricted.

asset_id: ID

Asset that a comment is on.

parent_id: ID

The parent of the comment that we want to retrieve.

action_type: ACTION_TYPE

Comments returned will only be ones which have at least one action of this type. Requires the ADMIN role.

limit: Int

Limit the number of results to be returned.

cursor: Cursor

Skip results from the last created_at timestamp.

sortOrder: SORT_ORDER

Sort the results by from largest first.

sortBy: SORT_COMMENTS_BY

The order to sort the comments by, sorting by default the created at timestamp.

tags: [String!]

Filter by a specific tag name.

excludeIgnored: Boolean

Exclude comments ignored by the requesting user

excludeDeleted: Boolean

excludeDeleted when true will exclude deleted comments from the response.

CreateCommentInput

Arguments
asset_id: ID!

The asset id

parent_id: ID

The id of the parent comment

body: String!

The body of the comment

tags: [String]

Tags

CreateDontAgreeInput

Arguments
item_id: ID!

The item's id for which we are to create a don't agree.

item_type: ACTION_ITEM_TYPE!

The type of the item for which we are to create the don't agree.

message: String

An optional message sent with the don't agree action by the user.

CreateFlagInput

Arguments
item_id: ID!

The item's id for which we are to create a flag.

item_type: ACTION_ITEM_TYPE!

The type of the item for which we are to create the flag.

reason: FLAG_REASON

The reason for flagging the item.

message: String

An optional message sent with the flagging action by the user.

CreateRespectActionInput

Arguments
item_id: ID!

The item's id for which we are to create a respect.

CreateTokenInput

CreateTokenInput contains the input to create the token.

Arguments
name: String!

Name is the description for the token.

DeleteRespectActionInput

Arguments
id: ID!

The item's id for which we are deleting a respect.

EditCommentInput

Arguments
body: String!

Update body of the comment

ModifyTagInput

ModifyTagInput is the input used to modify a tag.

Arguments
name: String!

name is the actual tag to add to the model.

id: ID!

id is the ID of the model in question that we are modifying the tag of.

item_type: TAGGABLE_ITEM_TYPE!

item_type is the type of item that we are modifying the tag if.

asset_id: ID

asset_id is used when the item_type is COMMENTS, the is needed to rectify The settings to get the asset specific tags/settings.

NotificationSettingsInput

Arguments
digestFrequency: DIGEST_FREQUENCY

digestFrequency is the frequency to send notifications.

RemoveAlwaysPremodUserInput

RepliesQuery

Arguments
sortOrder: SORT_ORDER

Sort the results by from smallest first.

sortBy: SORT_COMMENTS_BY

The order to sort the comments by, sorting by default the created at timestamp.

limit: Int

Limit the number of results to be returned.

excludeIgnored: Boolean

Exclude comments ignored by the requesting user

excludeDeleted: Boolean

excludeDeleted when true will exclude deleted comments from the response.

RevokeTokenInput

RevokeTokenInput contains the input to revoke the token.

Arguments
id: ID!

ID is the JTI for the token.

SuspendUserInput

UnbanUserInput

UnsuspendUserInput

UpdateAssetStatusInput

UpdateAssetStatusInput contains the input to change the status of a comment as it relates to being open/closed for commenting.

Arguments
closedAt: Date

closedAt is the time that the asset will be closed for commenting. If this is null or in the future, it will be open for commenting.

closedMessage: String

closedMessage is the message to be set on the asset when it is closed. If it is null, then the message will default to the globally set closedMessage.

UpdateDomainsInput

UpdateDomainsInput describes all the available lists of domains.

Arguments
whitelist: [String!]

whitelist is the list of domains that the embed is allowed to render on.

UpdateEmailAddressInput

UpdateEmailAddressInput provides input for changing a users email address associated with their account.

Arguments
email: String!

email is the Users email address that they want to update to.

confirmPassword: String!

confirmPassword is the Users current password.

UpdateSettingsInput

UpdateSettingsInput is the input used to input the global site settings. This will override the existing settings, so all fields must be included.

Arguments
moderation: MODERATION_MODE

moderation is the moderation mode for all Asset's on the site.

requireEmailConfirmation: Boolean

Enables a requirement for email confirmation before a user can login.

infoBoxEnable: Boolean

infoBoxEnable will enable the Info Box content visible above the question box.

infoBoxContent: String

infoBoxContent is the content of the Info Box.

questionBoxEnable: Boolean

questionBoxEnable will enable the Question Box's content to be visible above The comment box.

questionBoxContent: String

questionBoxContent is the content of the Question Box.

premodLinksEnable: Boolean

premodLinksEnable will put all comments that contain links into premod.

questionBoxIcon: String

questionBoxIcon is the icon for the Question Box.

autoCloseStream: Boolean

autoCloseStream when true will auto close the stream when the closeTimeout amount of seconds have been reached.

customCssUrl: String

customCssUrl is the URL of the custom CSS used to display on the frontend.

customAdminCssUrl: String

customAdminCssUrl is the URL of the custom CSS used to display on the admin panel.

closedTimeout: Int

closedTimeout is the amount of seconds from the created_at timestamp that a given asset will be considered closed.

closedMessage: String

closedMessage is the message shown to the user when the given Asset is closed.

disableCommenting: Boolean

disableCommenting will disable commenting site-wide.

disableCommentingMessage: String

disableCommentingMessage will be shown above the comment stream while commenting is disabled site-wide.

charCountEnable: Boolean

charCountEnable is true when the character count restriction is enabled.

charCount: Int

charCount is the maximum number of characters a comment may be.

organizationName: String

organizationName is the name of the organization.

organizationContactEmail: String

organizationContactEmail is the email of the organization.

editCommentWindowLength: Int

editCommentWindowLength is the length of time (in milliseconds) after a comment is posted that it can still be edited by the author.

wordlist: UpdateWordlistInput

wordlist allows changing the available wordlists.

domains: UpdateDomainsInput

domains allows changing the available lists of domains.

UpdateWordlistInput

UpdateWordlistInput is the list of words that composes the Wordlist.

Arguments
banned: [String!]

banned words will by default reject the comment if it is found.

suspect: [String!]

suspect words will simply flag the comment.

UserCountQuery

UserCountQuery allows the ability to query user counts by specific methods.

Arguments
action_type: ACTION_TYPE

comments returned will only be ones which have at least one action of this type.

state: UserStateInput

state queries for a specific subset of users with the given state query.

UsersQuery

UsersQuery allows the ability to query users by a specific fields.

Arguments
action_type: ACTION_TYPE

Users returned will only be ones which have at least one action of this.

state: UserStateInput

state will filter the users to a specific set of users that meet.

value: String

value is the search string to use to search for a pa

limit: Int

Limit the number of results to be returned.

cursor: Cursor

Skip results from the last created_at timestamp.

sortOrder: SORT_ORDER

Sort the results by created_at.

UserStateInput

UserStatusInput

UserStatusInput describes the queryable components of the UserStatus.

Arguments
username: [USER_STATUS_USERNAME!]

username will restrict the returned users to only those with the given username status's. If not provided, no filtering will be performed.

banned: Boolean

banned will restrict the returned users to only those that are, or are not banned. If not provided, no filtering will be performed.

suspended: Boolean

suspended will restrict the returned users to only those that are, or are not suspended. If not provided, no filtering will be performed.

alwaysPremod: Boolean

alwaysPremod will restrict the returned users to only those that are, or are not marked as always premoderate. If not provided, no filtering will be performed.

Interfaces

Action

An action rendered against a parent entity item.

Fields
id: ID!

The ID of the action.

user: User

The author of the action.

updated_at: Date

The time when the Action was updated.

created_at: Date

The time when the Action was created.

ActionSummary

A summary of actions based on the specific grouping of the group_id.

Fields
count: Int

The count of actions with this group.

current_user: Action

The current user's action.

AssetActionSummary

A summary of actions for a specific action type on an Asset.

Fields
actionCount: Int

Number of actions associated with actionable types on this this Asset.

actionableItemCount: Int

Number of unique actionable types that are referenced by the actions.

UserError

Any error rendered due to the user's input.

Fields
translation_key: String!

Translation key relating to a translatable string containing details to be displayed to the end user.

UserProfile

Fields
id: String!

The id is an identifier for the user profile (email, facebook id, etc)

provider: String!

name of the provider attached to the authentication mode

Enums

ACTION_ITEM_TYPE

Used to represent the item type for an action.

Possible Enum Values
ASSETS

The action references a entity of type Asset.

COMMENTS

The action references a entity of type Comment.

USERS

The action references a entity of type User.

ACTION_TYPE

Possible Enum Values
FLAG

Represents a FlagAction.

DONTAGREE

Represents a don't agree action

RESPECT

Represents a Respect.

COMMENT_STATUS

The statuses that a comment may have.

Possible Enum Values
NONE

The comment is not PREMOD, but was not applied a moderation status by a moderator.

ACCEPTED

The comment has been accepted by a moderator.

REJECTED

The comment has been rejected by a moderator.

PREMOD

The comment was created while the asset's 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

Possible Enum Values
NONE

NONE will have the notifications send immediatly rather than bundling for digesting.

HOURLY

HOURLY will queue up the notifications and send them hourly.

DAILY

DAILY will queue up the notifications and send them daily.

FLAG_REASON

Possible Enum Values
USERNAME_OFFENSIVE

The current user thinks that the flagged username is offensive.

USERNAME_NOLIKE

The current user does not like the flagged username.

USERNAME_IMPERSONATING

The current user thinks that the flagged username is being used to impersonate another user.

USERNAME_SPAM

The current user thinks that the flagged username is spam.

USERNAME_OTHER

The current user thinks that the flagged username is wrong for another reason.

COMMENT_OFFENSIVE

The current user thinks that the flagged comment is offensive.

COMMENT_SPAM

The current user thinks that the flagged comment is spam.

COMMENT_OTHER

The current user thinks that the flagged comment is wrong for another reason.

MODERATION_MODE

The moderation mode of the site.

Possible Enum Values
PRE

Comments posted while in PRE mode will be labeled with a PREMOD status and will require a moderator decision before being visible.

POST

Comments posted while in POST will be visible immediately.

SORT_COMMENTS_BY

Possible Enum Values
CREATED_AT

Comments will be sorted by their created at date.

REPLIES

Comments will be sorted by their immediate reply count (replies to the comment in question only, not including descendants).

RESPECTS

Comments will be sorted by their count of respects on the comment.

SORT_ORDER

Establishes the ordering of the content by their created_at time stamp.

Possible Enum Values
DESC

newest to oldest order.

ASC

oldest to newer order.

TAGGABLE_ITEM_TYPE

Used to represent the item type for a tag.

Possible Enum Values
ASSETS

The action references a entity of type Asset.

COMMENTS

The action references a entity of type Comment.

USERS

The action references a entity of type User.

USER_ROLES

Roles that a user can have, these can be combined.

Possible Enum Values
ADMIN

an administrator of the site

MODERATOR

a moderator of the site

STAFF

a staff of the site

COMMENTER

a user without administrative roles.

USER_STATUS_USERNAME

USER_STATUS_USERNAME is the different states that a username can be in.

Possible Enum Values
UNSET

UNSET is used when the username can be changed, and does not necessarily require moderator action to become active. This can be used when the user signs up with a social login and has the option of setting their own username.

SET

SET is used when the username has been set for the first time, but cannot change without the username being rejected by a moderator and that moderator agreeing that the username should be allowed to change.

APPROVED

APPROVED is used when the username was changed, and subsequently approved by said moderator.

REJECTED

REJECTED is used when the username was changed, and subsequently rejected by said moderator.

CHANGED

CHANGED is used after a user has changed their username after it was rejected.

Scalars

Boolean

The Boolean scalar type represents true or false.

Cursor

Cursor represents a paginating cursor.

Date

Date represented as an ISO8601 string

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.

String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.