View all releases

API Release 0.9.6

Released on


Used invites view User

In your account, you can now see your invites that have been used, from

Simple QR code invite User

You can easily pull up a random, unused invite as a QR code, by clicking the button "Grab an Invite" at the top right of the Invites page in your account, or by going directly to This could be helpful when you want to share an invite with a friend or acquaintance in-person.

Chat room E-mail notifications User

Enabled in your account under Notifications, you can receive E-mails from Pnut for chat room activity like you already may receive Private Message notifications.

RSS feed URI templates

Now RSS feeds can use URI templates to create app-specific links to messages and posts from the feeds. Previously, a user's feed reader would always link them to a message or post on This worked for posts, but if you had a custom channel type, it never made sense to send a reader to Beta, because Beta can only understand chat room- and private message-type channels.

MFA backup code User

Now when adding multi-factor authentication to your account login, under account Security, you will be given a backup code that can be used to disable MFA on your account, in case your device becomes damaged or inaccessible.

E-mail notification link presets User

Under account Notifications, you can choose to link to a specific client for a mention, PM, or chat activity. By default, Pnut's E-mails link to the Beta app. But you could choose to link to open in ChimPnut, for example.

Now those E-mail notifications have a handful of preset "clients" to choose from, in addition to the custom options. (If you are developing an application and would like yours included in the presets, contact support.)


"API changes" documentation

Now API releases have their own pages with more fleshed-out descriptions of changes, instead of only one-liners.

Markdown link length calculation documentation

Markdown link length is somewhat nuanced, so its calculation has been added to the API documentation. Nothing is changing here, but it is worth calling out in case your client is handling it improperly or you were curious.

Marking all of a channel type as "read"

The two unread PM endpoints were for getting a count of unread private messages or marking all PMs as "read". Those two endpoints still exist but are being deprecated in favor of a generic endpoint for getting any channel types' unread counts, and marking any channel types' channels as "read". Two new endpoints have been added to be used to mark any channel type as "read" with the query parameter ?channel_types and a CSV of up to 10 of the channel types desired.

Unread chat room count on subscribed channels

The call to a user's subscribed channels now includes, making it easier for a client to know if there are unread chat rooms.

Message search "replies" flag

The message search endpoint used to ignore the ?is_reply query parameter unless it was set to 1 (true).

Now this parameter will respect ?is_reply=0 or ?is_reply=1, but still be ignored if it is unset or ?is_reply=. You may look for messages that are not replies, now. If your client has been setting this parameter to 0 when not in use, it may have unexpected results.

This behavior for booleans in the API, to be set true, false, or not set, will likely spread in future releases.

More flexible user messages scopes

The user messages endpoint no longer requires full messages or public_messages scopes, but can use extended scopes like most other messages endpoints.



Localization files are live again on, and contributors are updating their files. Thanks to @akr, @ericd, @hutattedonmyarm for translations!

Poll search order

When searching for polls, the API had options for ordering results in descending order by id or by closed_at, but closed_at actually was expecting the query parameter created_at.