The List Forum Thread REST endpoint has a parameter ForumThreadQueryType, but it doesn't specify what each of the values mean? I have done some experimenting and it isn't fully clear how it works.
Below I have provided my observations based on a querying 100 threads. Can someone confirm my findings, fill in anything I missed, and provide answers to my questions?
From the documentation: "Options are: All, Moderated, Answered, Unanswered, UnansweredWithNotVerified, AnsweredNotVerified, AnsweredWithNotVerified, Active, Unread, MyThreads. Default is All."
My findings and questions...
All: Returns threads with ThreadStatus values that include:
- NotAnswered (questions with no suggested/verified answer)
- Answered (questions with verified answer)
- AnsweredNotVerified (questions with only suggested answer)
- NotSet (for discussions)
Moderated: This throws an error, "The thread query type must be all, moderated, unanswered, answered, answerednotverified, active, unread, mythreads or authored.". When I try "moderated" (instead of "Moderated"), I get all the same statuses as "All" ... what is the difference? Do the results for "All" and "moderated" overlap, or are they exclusive?
Answered: returns Answered, NotSet.
Unanswered: returns NotAnswered, NotSet.
UnansweredWithNotVerified: throws error, the same one as "Moderated".
AnsweredNotVerified: returns AnsweredNotVerified.
AnsweredWithNotVerified: returns Answered, AnsweredNotVerified, NotSet.
Active: NotAnswered, Answered, AnsweredNotVerified, NotSet.
Unread: Returns threads where "HasRead" is false.
MyThreads: Returns threads that I have created.
- "AnsweredNotVerified" did not return any discussions (i.e. ThreadStatus = NotSet), is that because my sample results were too small, or is this by design? I just want to confirm whether all of these will return a ThreadStatus of NotSet (unless I also filter only on questions).
- Based on the error message for "Moderated" it appears that these parameter values are case-insensitive, with the exception of "moderated"?
- What is the definition of "Active"? It appears to be based on recent activity, but is there a precise definition for that?
- It appears that the intent of NotAnsweredWithNotVerified was to fetch threads with NotAnswered + AnsweredNotVerified ... was this not implemented, or is the documented parameter value incorrect?
- The error message for "Moderated" included an option "authored", which does appear to work. What is the difference between "MyThreads" and "authored"?
- Not a question, but "AnsweredWithNotVerified" works but is not listed in the error message.