Talks API

Runtime

Get Talk

GET /core/v1/talks/<talk_id>?include=<inclusions>&mode=<mode>&forced_ids=<forced_ids>
Parameter Type Description
talk_id String Required
mode String Required, values: public, review, manage
inclusions Comma-separated list of Strings Optional, values: featured-messages, top-level-messages, replies, authors, admins, reactions, bans
forced_ids Comma-separated list of Strings Optional, values: message IDs
order String Required when messages/replies included, values: best, newest, oldest
limit Integer Required when messages/replies included

200 OK

Get Messages

GET /core/v1/talks/<talk_id>/messages?order=<order>&limit=<limit>&offset=<offset>&excluded_ids=<excluded_ids>&mode=<mode>
Parameter Type Description
talk_id String Required
mode String Required, values: public, review, manage
order String Required, values: best, newest, oldest
limit Integer Required
offset Integer Required
excluded_ids Comma-separated list of Strings Optional, values: message IDs

200 OK

Create Message

POST /core/v1/talks/<talk_id>/messages
{
  "text": "<text>"
}
Parameter Type Description
auth_token_type String Required, values: jwt
auth_token String Required, values: {“user_id”: <author_id>}
talk_id String Required
text String Required

200 OK

Get Message

GET /core/v1/talks/<talk_id>/messages/<message_id>
Parameter Type Description
talk_id String Required
message_id String Required

200 OK

Update Message

POST /core/v1/talks/<talk_id>/messages/<message_id>
{
  "changes": [
    {"status": "<status>"},
    {"text": "<text>"}
  ]
}
Parameter Type Description
auth_token_type String Required, values: jwt
auth_token String Required, values: {“user_id”: <author_id or admin_id>}
talk_id String Required
message_id String Required
text String Required for the change
status String Required for the change, values: proposed, rejected, approved, featured

200 OK

Get Message Replies

GET /core/v1/talks/<talk_id>/messages/<message_id>/replies?order=<order>&limit=<limit>&offset=<offset>&excluded_ids=<excluded_ids>&mode=<mode>
Parameter Type Description
talk_id String Required
message_id String Required
mode String Required, values: public, review, manage
order String Required, values: best, newest, oldest
limit Integer Required
offset Integer Required
excluded_ids Comma-separated list of Strings Optional, values: message IDs

200 OK

Reply to Message

POST /core/v1/talks/<talk_id>/messages/<message_id>/replies
{
  "text": "<text>"
}
Parameter Type Description
auth_token_type String Required, values: jwt
auth_token String Required, values: {“user_id”: <author_id>}
talk_id String Required
message_id String Required
text String Required

200 OK

React on Message

POST /core/v1/talks/<talk_id>/messages/<message_id>/reactions
{
  "reaction": "<reaction>"
}
DELETE /core/v1/talks/<talk_id>/messages/<message_id>/reactions
Parameter Type Description
auth_token_type String Required, values: jwt
auth_token String Required, values: {“user_id”: <author_id>}
talk_id String Required
message_id String Required
reaction String Required, values: like, dislike

200 OK

Report Message

POST /core/v1/talks/<talk_id>/messages/<message_id>/reports
{
  "reason": "<reason>",
  "description": "<description>"
}
Parameter Type Description
auth_token_type String Required, values: jwt
auth_token String Required, values: {“user_id”: <author_id>}
talk_id String Required
message_id String Required
reason String Required, values: spam, abuse, porno, violence, other
description String Optional

200 OK

Get Message Reports

GET /core/v1/talks/<talk_id>/messages/<message_id>/reports
Parameter Type Description
auth_token_type String Required, values: jwt
auth_token String Required, values: {“user_id”: <admin_id>}
talk_id String Required
message_id String Required

200 OK

Ban/Unban Author

POST /core/v1/talks/bans
{
  "author_id": "<author_id>",
  "messages": "<messages_strategy>"
}
DELETE /core/v1/talks/bans
Parameter Type Description
auth_token_type String Required, values: jwt
auth_token String Required, values: {“user_id”: <admin_id>}
author_id Integer Required
messages_strategy String Required, values: keep, hide

200 OK

{
  "ban": {
    "author_id": 213124,
    "created_ts": 1278361287
  }
}

Dashboard

Search Messages

GET /core/v1/talks/dashboard/messages?order=<order>&limit=<limit>&offset=<offset>&status=<status>&talk_id=<talk_id>&author_id=<author_id>
Parameter Type Description
auth_token_type String Required, values: jwt
auth_token String Required, values: {“user_id”: <admin_id>}
order String Required, values: best, newest, oldest
limit Integer Required
offset Integer Required
status String Optional, values: proposed, rejected, approved, featured
talk_id String Optional
author_id String Optional
ids Comma-separated list of Strings Optional, values: message IDs

200 OK

Update Messages

POST /core/v1/talks/dashboard/messages?order=<order>&limit=<limit>&offset=<offset>&status=<status>&talk_id=<talk_id>&author_id=<author_id>
{
  "changes": [
    {"status": "<status>"},
    {"text": "<text>"}
  ]
}
Parameter Type Description
auth_token_type String Required, values: jwt
auth_token String Required, values: {“user_id”: <admin_id>}
order String Required, values: best, newest, oldest
limit Integer Required
offset Integer Required
status String Optional, values: proposed, rejected, approved, featured
talk_id String Optional
author_id String Optional
ids Comma-separated list of Strings Optional, values: message IDs
text String Required for the change
status String Required for the change, values: proposed, rejected, approved, featured

200 OK

{}

Settings

Get Global Settings

GET /core/v1/talks/settings
Parameter Type Description
auth_token_type String Required, values: jwt
auth_token String Required, values: {“user_id”: <admin_id>}

200 OK

Set Global Settings

POST /core/v1/talks/settings
{
  "settings": {
    "review": {"is_enabled": false},
    "rating": {"formula": "message_likes * 10 + replies_likes * 2"},
    "words_per_message": {"min": 20, "max": 250},
    "allowed_html_tags": ["p", "b", "i", "strong", "em", "a"]
  }
}
Parameter Type Description
auth_token_type String Required, values: jwt
auth_token String Required, values: {“user_id”: <admin_id>}

200 OK