API Documentation
This page is generated by the TalkSpar application introspecting its own routing functions. Nifty.
The base URL is https://talkspar.com/api/v2
API requests must be authenticated with an access token. To obtain an access token, follow these instructions.
auth
PATCH /auth
Revoke the current Access Token. A new Access Token may be obtained using the Refresh Token. Permanent authorizations only.
DELETE /auth
Revoke the current authorization. A new Access Token may not be obtained without the user going through the OAuth process again.
categories
GET /categories
Get all guild category and subcategory data
comments
POST /comments
oauth scopes: create
Create a comment
Required form data:
parent_fullname
- The fullname of the post or comment that is being replied tobody
- Raw comment text
Optional file data:
file
- An image to upload and append to the comment body. Requires premium.
GET /comments
oauth scopes: read
Get all comments
Optional query parameters:
* `page` - Page of results to return. Default `1`
GET /comments/<cid>
oauth scopes: read
Fetch a single comment and up to 5 total layers above and below.
URL path parameters:
cid
- The base 36 comment id
Optional query parameters:
context
- Integer between0
and4
inclusive. Number of generations of parent comments to fetch. Default0
PATCH /comments/<cid>
oauth scopes: update
Edit a comment.
URL path parameters:
cid
- The base 36 id of the comment to edit
Required form data:
body
- The new raw comment text
DELETE /comments/<cid>
oauth scopes: delete
Delete your comment.
URL path parameters:
cid
- The base 36 id of the comment to delete
GET /comments/<cid>/votes
oauth scopes: read
Get public vote information about a comment.
URL path parameters:
* `cid` - The base 36 comment ID
POST /comments/<cid>/votes/<x>
oauth scopes: vote
Cast a vote on a comment.
URL path parameters:
* `cid` - The base 36 comment ID
* `x` - One of `1`, `0`, or `-1`, indicating upvote, novote, or downvote respectively
guilds
POST /guilds
oauth scopes: create
Create a Guild
Required form data:
* `name` - Name of Guild to create
* `category` - The ID of the subcategory with which to associate the new Guild (obtained from `GET /categories`)
Optional form data:
* `description` - Guild description
GET /guilds
oauth scopes: read
Get a listing of guilds
Optional query parameters:
* `sort` - One of `trending`, `new`, or `subs`. Default `trending`.
* `page` - Page of results to return. Defualt `1`.
GET /guilds/<guildname>/comments
oauth scopes: read
Get comments in a guild
URL parameters:
* `guildname` - The name of a guild
Optional query parameters:
* `page` - Page of comments to get. Default `1`.
PATCH /guilds/<guildname>/comments/<cid>/herald
guildmaster permissions: content
oauth scopes: guildmaster
Toggle Herald status on your comment.
URL path parameters:
* `guildname` - The guild in which you are a guildmaster
* `cid` - The base 36 comment ID
PATCH /guilds/<guildname>/comments/<cid>/pin
guildmaster permissions: content
oauth scopes: guildmaster
Toggle pin status on a top-level comment.
URL path parameters:
guildname
- The guild in which you are a guildmastercid
- The base 36 comment id
POST /guilds/<guildname>/contributors
guildmaster permissions: access
oauth scopes: guildmaster
Approve a user as a Contributor in a Guild
URL path parameters:
* `guildname` - The guild in which you are a guildmaster
Required form data:
* `username` - The username of the user to approve.
GET /guilds/<guildname>/contributors
guildmaster permissions: access
oauth scopes: read, guildmaster
View guild contributor list.
URL path parameters:
* `guildname` - The guild in which you are a guildmaster
Optional query parameters
* `page` - The page of items to view. Default `1`.
DELETE /guilds/<guildname>/contributors
guildmaster permissions: access
oauth scopes: guildmaster
Un-approve a user as a Contributor in a Guild
URL path parameters:
* `guildname` - The guild in which you are a guildmaster
Required form data:
* `username` - The username of the user to remove contributor status from.
POST /guilds/<guildname>/exiles
guildmaster permissions: access
oauth scopes: guildmaster
Exile a user from a Guild
URL path parameters:
* `guildname` - The guild in which you are a guildmaster
Required form data:
* `username` - The username of the user to exile.
Optional form data:
* `thing` - The fullname of the post or comment to associate with the exile
GET /guilds/<guildname>/exiles
guildmaster permissions: access
oauth scopes: read, guildmaster
View guild exile entries.
URL path parameters:
* `guildname` - The guild in which you are a guildmaster
Optional query parameters
* `page` - The page of items to view. Default `1`.
DELETE /guilds/<guildname>/exiles/<username>
guildmaster permissions: access
oauth scopes: guildmaster
Un-exile a user from a Guild
URL path parameters:
* `guildname` - The guild in which you are a guildmaster
* `username` - The username of the user to exile.
GET /guilds/<guildname>/modlogs
oauth scopes: read
View guild mod log data.
URL path parameters:
* `guildname` - The guild in which you are a guildmaster
Optional query parameters
* `page` - The page of items to view. Default `1`.
GET /guilds/<guildname>/modlogs/<id>
oauth scopes: read
View a guild mod log entry.
URL path parameters:
* `guildname` - The guild in which you are a guildmaster
* `id` - The base 36 id of the mod log entry
GET /guilds/<guildname>/modqueue
oauth scopes: read, guildmaster
guildmaster permissions: content
Get reported posts in a guild.
URL path parameters:
* `guildname` - The name of a guild
GET /guilds/<guildname>/mods
oauth scopes: read
Get a list of users who are guildmasters of a guild.
URL path parameters:
* `guildname` - The name of a guild
GET /guilds/<guildname>/submissions
oauth scopes: read
Get a guild's submissions
URL path parameter:
* `guildname` - The name of the guild
Optional query parameters:
* `page` - Page number. Contents are returned in pages of 25 entries. Default `1`.
* `sort` - Sort order. One of `hot`, `top`, `new`, `old`, `disputed`, and `activity`. Default `hot`.
* `t` - Time filter. One of `day`, `week`, `month`, `year`, and `all`. Default `all`.
PATCH /guilds/<guildname>/submissions/<pid>/approve
guildmaster permissions: content
oauth scopes: guildmaster
Dismiss reports on submission and keep it in your guild.
URL path parameters:
* `guildname` - The guild in which you are a guildmaster
* `pid` - The base 36 id of the post
PATCH /guilds/<guildname>/submissions/<pid>/herald
guildmaster permissions: content
oauth scopes: guildmaster
Toggle Herald status on your post.
URL path parameters:
* `guildname` - The guild in which you are a guildmaster
* `pid` - The base 36 post ID
PATCH /guilds/<guildname>/submissions/<pid>/kick
guildmaster permissions: content
oauth scopes: guildmaster
Kick a post from your guild.
URL path parameters:
* `guildname` - The guild in which you are a guildmaster
* `pid` - The base 36 post ID
PATCH /guilds/<guildname>/submissions/<pid>/pin/<x>
guildmaster permissions: content
oauth scopes: guildmaster
Set pin status on a post
URL path parameters:
* `guildname` - The guild to pin the post in
* `pid` - The base 36 id of the post to pin
* `x` - One of `0` or `1`, corresponding to unpinned and pinned statuses respectively
PATCH /guilds/<guildname>/toggle_bell
oauth scopes: update
Toggle notifications for new posts in a guild. You must be a member of the guild.
URL path parameters:
* `guildname` - The name of a guild.
me
GET /me
oauth scopes: identity
Get information about the currently authenticated user. Does not include email or security information.
GET /me/guilds
oauth scopes: read
Get guilds with which the user has a connection
Optional query parameters:
`page` - Page of results to return. Default `1`
GET /me/modqueue
oauth scopes: read, guildmaster
Get reported posts in all of your guilds.
GET /me/notifications
oauth scopes: read
None
GET /me/recommended
oauth scopes: read
Get personalized home page based on subscriptions and personal settings.
Optional query parameters:
* `page` - Page of results to return. Default `1`.
GET /me/submissions
oauth scopes: read
Get personalized home page based on subscriptions and personal settings.
Optional query parameters:
* `sort` - One of `hot`, `new`, `top`, `disputed`, `activity`. Default `hot`.
* `t` - One of `day`, `week`, `month`, `year`, `all`. Default `all`.
* `page` - Page of results to return. Default `1`.
PATCH /me/submissions/<pid>/unyank
oauth scopes: update
Un-yank your post back to +general
URL path parameters:
* `pid` - The base 36 id of the post to un-yank
POST /me/subscriptions/<guildname>
Subscribe to a Guild.
URL path parameters:
* `guildname` - The name of a guild
DELETE /me/subscriptions/<guildname>
Unsubscribe from a Guild.
URL path parameters:
* `guildname` - The name of a guild
GET /me/users
oauth scopes: read
Get users that the authenticated user is following
Optional query parameters:
`page` - Page of results to return. Default `1`
submissions
POST /submissions
oauth scopes: create
Create a post
Required form data:
* `title` - The post title
* `guild` - The name of the guild to submit to
At least one of the following form items is required:
* `url` - The link being submitted. Uploading an image file counts as a url.
* `body` - The text body of the post
Optional file data:
* `file` - An image to upload as the post target. Requires premium or a minimum Rep threshold.
GET /submissions
oauth scopes: read
Get all posts, minus filtered content based on personal settings.
Optional query parameters:
* `sort` - One of `hot`, `new`, `top`, `disputed`, `activity`. Default `hot`.
* `t` - One of `day`, `week`, `month`, `year`, `all`. Default `all`.
* `page` - Page of results to return. Default `1`.
GET /submissions/<pid>
oauth scopes: read
Get a single submission (without comments).
URL path parameters:
* `pid` - The base 36 post id
PATCH /submissions/<pid>
oauth scopes: update
Edit your post text.
URL path parameters:
* `pid` - The base 36 id of the post to edit
Required form data:
* `body` - The new raw post text
DELETE /submissions/<pid>
oauth scopes: delete
Delete your post.
URL path parameters:
* `pid` - The base 36 id of the post being deleted
GET /submissions/<pid>/comments
oauth scopes: read
Get the comment tree for a submission.
URL path parameters:
* `pid` - The base 36 post id
Optional query parameters:
* `sort` - Comment sort order. One of `hot`, `new`, `top`, `disputed`, `old`. Default `hot`.
PUT /submissions/<pid>/thumb
oauth scopes: identity
Retry thumbnail scraping on your post.
URL path parameters:
* `pid` - The base 36 post id.
PATCH /submissions/<pid>/toggle_nsfl
oauth scopes: update
Toggle "NSFL" status on a post.
URL path parameters:
* `pid` - The base 36 post id.
PATCH /submissions/<pid>/toggle_nsfw
oauth scopes: update
Toggle "NSFW" status on a post.
URL path parameters:
* `pid` - The base 36 post id.
GET /submissions/<pid>/votes
oauth scopes: read
Get public vote information about a post.
URL path parameters:
* `pid` - The base 36 post ID
POST /submissions/<pid>/votes/<x>
oauth scopes: vote
Cast a vote on a post.
URL path parameters:
* `pid` - The base 36 post ID
* `x` - One of `1`, `0`, or `-1`, indicating upvote, novote, or downvote respectively
users
GET /users/<username>
oauth scopes: read
Get information about another user.
URL path parameters:
username
- A user's name.
GET /users/<username>/comments
oauth scopes: read
Get comments created by another user.
URL path parameters:
username
- The user whose comments are being fetched.
Optional query parameters:
sort
- One ofhot
,new
,old
,top
, ordisputed
. Defaultnew
.t
- One ofday
,week
,month
,year
,all
. Defaultall
.page
- Page of results to return. Default1
.
POST /users/<username>/follow
Follow another user.
URL path parameters:
username
- A user's name.
DELETE /users/<username>/follow
Unfollow another user.
URL path parameters:
username
- A user's name.
GET /users/<username>/submissions
oauth scopes: read
Get posts created by another user.
URL path parameters:
username
- The user whose posts are being fetched.
Optional query parameters:
sort
- One ofhot
,new
,old
,top
,activity
, ordisputed
. Defaultnew
.t
- One ofday
,week
,month
,year
,all
. Defaultall
.page
- Page of results to return. Default1
.
POST /users/<username>/toggle_bell
oauth scopes: update
Toggle notifications for new posts by a user. You must be following the user.
URL path parameters:
username
- Another user's name