Skip to content


Subversion checkout URL

You can clone with
Download ZIP
This is a space for developers to collaborate on defining and utilizing annotations and channel types.
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
channel-types Object Metadata

Many of the objects used by the API can be enhanced by third party developers through the use of special metadata. Users, Posts, Channels and Messages can be augmented using annotations, and Channels can be additionally augmented using channel types. Annotations can be dynamically altered using annotation replacement values

This repository serves to document metadata formats in the ecosystem and to encourage collaboration between third party developers in defining new and refining existing metadata formats.

What's here

The annotations, annotation-replacement-values, and channel-types folders contains a single documentation file in Markdown format for each metadata standard that has been submitted to the repository. These files are arranged alphabetically but otherwise are unordered / uncategorized. We'll be examining options for further organizing these as the pool of entries expands.

Adding new entries

To submit a new entry, take the following steps:

  • Fork this repository
  • In your fork, create a new Markdown file in the appropriate directory with a name matching the "type" for your metadata. For annotations, you can view the raw text for the crosspost annotation as a formatting guide. For channel types you can view the raw text for the pm channel. Note: while the API does not prevent multiple annotations / channels types from declaring the same "type", any new entry you submit here should not conflict with an existing entry.
  • Commit your changes and submit a pull request for the new file. All structurally valid entries will be accepted, but we ask that you focus on submitting annotations that are useful candidates for other developers to utilize.

Modifying existing entries

To modify an existing entry, you should perform the same steps as above as necessary, committing your updates and submitting a pull request.

Anyone can issue a pull request for changes to any entry. However, all requests will be approved (merged) by staff in consultation with the existing maintainers specified in the current entry.


One of our goals for creating this repository is to foster more developer collaboration. We hope developers make extensive use of the object metadata issue tracker for this purpose. The issue tracker is also a good place to discuss how we can make this documentation process better!

Your host

This repository is maintained by the core team. You can find us in the Developer Patter Room.

Something went wrong with that request. Please try again.