Heads up! Need help getting started? Read our API introduction.

Users

Resource Description Authentication
GET usersList of all users in the project.read
GET users/currentDisplays current user profile details.read
GET users/[user_id]Displays user profile details.read
GET users/sso/[sso_guid]Displays user profile details by SSO guid.read
GET users/[user_id]/logoutClear all sessions for selected user.all
POST users/get_or_create Get user by email or create a new user.all

Users groups

Resource Description Authentication
GET users/groupsList of users groups.all
POST users/groups Create a new user group.all
PUT users/groups Update user group.all
DELETE users/groups Delete user group.all

Forums

Resource Description Authentication
GET forumsList of all forums in the project.read
POST forums Creates a new forum.all
DELETE forums Delete forum.all

Types, Categories, Tags ...

Resource Description Authentication
GET forums/[forum_id]/typesList of topic types supported by selected forum.read
GET forums/[forum_id]/categoriesList of selected forum categories.read
GET forums/[forum_id]/tagsList of selected forum tags.read
GET forums/[forum_id]/access_listList of emails with access to the forum. For private forums only.read, all
POST forums/[forum_id]/categories Create new category.write, all
POST forums/[forum_id]/tags Create new tag.write, all
POST forums/[forum_id]/access_list Add emails to the forum access list.write, all
DELETE forums/[forum_id]/access_list Delete emails from the forum access list.write, all
PUT forums/[forum_id]/categories Update a category.write, all
PUT forums/[forum_id]/tags Update a tag.write, all
DELETE forums/[forum_id]/categories Delete a category.write, all
DELETE forums/[forum_id]/tags Delete a tag.write, all

Topics

Resource Description Authentication
GET forums/[forum_id]/topicsList of topics belongs to the selected forum. Additional parameters.read
POST forums/[forum_id]/topics Creates a new topic.write
PUT forums/[forum_id]/topics Update topic.write
GET forums/[forum_id]/users/[user_id]/topicsList of topics belongs to the selected forum & user. Additional parameters.read
GET forums/[forum_id]/topics/searchSearch topics in selected forum.read
GET users/[user_id]/topicsList of topics belongs to the selected user.read - self,
manage - all
GET categories/[category_id]/topicsList of topics belongs to the selected category.read
GET tags/[tag_id]/topicsList of topics belongs to the selected tag.read
GET topics/[topic_id]Selected topic details.read
DELETE topics/[topic_id] Delete selected topic.write

Voters

Resource Description Authentication
GET topics/[topic_id]/votersVoters for selected topic.read

Comments

Resource Description Authentication
GET topics/[topic_id]/commentsList of comments related to the selected topic.read
POST topics/[topic_id]/comments Creates a new comment.write
GET users/[user_id]/commentsList of comments belongs to the selected user.read - self
all - all

Files

Resource Description Authentication
POST forums/[forum_id]/upload/[file|image] Uploads a file to the forum to use in topics.all

Webhooks

Resource Description Authentication
GET hooksList of all hooks in the project.all
POST hooks Creates a new webhook.all
DELETE hooks/[hook_id]Deletes a webhook.all
GET hooks/eventsList of all available events.all

Additional filter parameters

Most of "read" methods that return "List" allow to filter objects by common fields. Example: id, status, created, etc. If you want to apply additional filter to request create filter parameter name:
  1. Start with "filter__" for a regular field or "filter__custom_fields__" for a custom field
  2. Add "[field_name]"
  3. (optional) Add filter condition like "__[condition]"
Allowed conditions:
  • in - in list of values (pass comma separated string)
  • gt - greater than
  • gte - greater than or equal
  • lt - lower than
  • lte - lower than or equal
  • contains - contains a string (case sensitive)
  • icontains - contains a string (case insensitive)
Additional filter examples:
  • filter__status=1
  • filter__status__in=1,3,5
  • filter__id__gte=10
  • filter__created__gte=2014-03-17T03:34:29.320Z
  • filter__updated__lt=2014-03-17
  • filter__needs_review=0
  • filter__header__icontains=test
Additional filter examples (for custom fields):
Note: Custom fields are saved as string. So, you should compare it as string.
  • filter__custom_fields__cf_1=1
  • filter__custom_fields__cf_1__icontains=test

How to make an API request on behalf of another user? (any project's user)

If your key has a "all" access rights you are able to do API requests on behalf of any user of your project. You have a few ways to do it:
  1. Best way! Pass "sso_token" parameter. Add GET parameter "sso_token" for a user to your request. Or add parameter to your requests paramenter for POST and PUT requests. If user does not exists API will create a new user and do action on behalf of this user. More information about SSO read in your project administrative section.
  2. Pass "user_sso_guid" parameter. Add GET parameter "user_sso_guid" to your request. Or add parameter to your requests paramenter for POST and PUT requests. If user does not exists the action will be completed on behalf of API token user.
  3. Pass "user_id" parameter. Add GET parameter "user_id" to your request. Or add parameter to your requests paramenter for POST and PUT requests. If user does not exists the action will be completed on behalf of API token user. For an Anonymous user set user_id to 0 (zero).

Our API is constantly developed and improved, we welcome your suggestions on our forum.