I wanted to create somewhere to consolidate information about the REST API, so that people wishing to consume the API from code won’t need to reinvent any wheels.
First off, here are some API projects in various languages:
- Require API keys (generated by a site admin; grant access to all accounts or specific accounts):
- Ruby: GitHub - discourse/discourse_api: Ruby API for Discourse
- Java: GitHub - zeusbaba/discourse-api-client: Discourse API client in Java
- NodeJS: GitHub - dhyasama/discourse-api: Node wrapper for the Discourse API
- PHP: GitHub - discoursehosting/discourse-api-php: PHP API client for Discourse
- PHP: GitHub - vinkashq/discourse-php: Lets you use Discourse as the forum or community engine for a PHP website using API and SSO. (topic)
- Python: GitHub - tindie/pydiscourse: A Python library for the Discourse API
- Python: Discourse-Python/discourse.py at master · hamish-milne/Discourse-Python · GitHub (topic)
- Python Twisted: GitHub - theGeoffrey/txDiscourse: Discourse API wrapper in Python, for Twisted. (topic)
- C# (Windows 8.1 App) Discouser/Discouser/Discouser.Shared/Data at master · bgorven/Discouser · GitHub
- C# / Mono GitHub - Mivexil/Discoursistency: A Discourse API. Now with added sanity.
This post is a wiki; if you know of any other API projects, please feel free to add them directly.
Next, I would like to discuss how to do some common operations using the api, but before we go ahead with that, I think it would be best to discuss what the use cases are. Has anyone tried else tried to use the Discourse API? What for? What were your requirements? How did you achieve them?