# What is the Timing of Formal Discourse REST API?

**URL:** https://meta.discourse.org/t/what-is-the-timing-of-formal-discourse-rest-api/22329
**Category:** Feature
**Created:** [19 בנובמבר,‏ 2014,‏ 10:15pm UTC](https://meta.discourse.org/t/what-is-the-timing-of-formal-discourse-rest-api/22329 "2014-11-19T22:15:32Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![BCHK](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bchk/32/3268_2.png) [@BCHK](https://meta.discourse.org/u/BCHK)
#### Post date: [19 בנובמבר,‏ 2014,‏ 10:15pm UTC](https://meta.discourse.org/t/what-is-the-timing-of-formal-discourse-rest-api/22329/1 "2014-11-19T22:15:32Z")

</div>

Hi,

I want to contract with a developer to develop an app for my web site (android and iphone) that will include integrated access to my forums (with inapp message notifications).

One developer I’m talking to has conveyed this “There’s currently no official REST api for Discourse. It looks like it is still under development and there is poor or no documentation at all. As a consequence, the API might be buggy and lacking at this stage.”

Can anyone update me on the status, timing and plan for an official REST API for Discourse?

Thanks

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [19 בנובמבר,‏ 2014,‏ 10:52pm UTC](https://meta.discourse.org/t/what-is-the-timing-of-formal-discourse-rest-api/22329/2 "2014-11-19T22:52:33Z")

</div>

There is an official REST API, look here for instructions

> [@Reverse engineer the Discourse API](https://meta.discourse.org/t/how-to-reverse-engineer-the-discourse-api/20576):
>
> Discourse is backed by a complete JSON api. Anything you can do on the site you can also do using the JSON api. The API is documented at [docs.discourse.org](https://docs.discourse.org). You can also use the [discourse\_api](https://github.com/discourse/discourse_api) Ruby gem as a client library. However, not every endpoint is documented. To determine how to do something with the JSON API here are some steps you can follow. Example: recategorize a topic. Go to a topic and start editing a category: Open Chrome dev tools, switch to the Network tab, select …

---

<div class="post-metadata">

### Author: ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)
#### Post date: [19 בנובמבר,‏ 2014,‏ 11:08pm UTC](https://meta.discourse.org/t/what-is-the-timing-of-formal-discourse-rest-api/22329/3 "2014-11-19T23:08:17Z")

</div>

I think he’s asking if there is a date where we will commit to no breakage/removal of endpoints? Similar to Go 1.0.

---

<div class="post-metadata">

### Author: ![eviltrout](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/eviltrout/32/5275_2.png) [@eviltrout](https://meta.discourse.org/u/eviltrout)
#### Post date: [20 בנובמבר,‏ 2014,‏ 4:41pm UTC](https://meta.discourse.org/t/what-is-the-timing-of-formal-discourse-rest-api/22329/4 "2014-11-20T16:41:00Z")

</div>

Yeah we have an API but it is not documented and we haven’t made any guarantees to its stability.

Having said that the vast majority of API calls you could make like to fetch a topic or topic list are very stable and haven’t changed in a really long time.

---

<div class="post-metadata">

### Author: ![BCHK](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bchk/32/3268_2.png) [@BCHK](https://meta.discourse.org/u/BCHK)
#### Post date: [20 בנובמבר,‏ 2014,‏ 4:54pm UTC](https://meta.discourse.org/t/what-is-the-timing-of-formal-discourse-rest-api/22329/5 "2014-11-20T16:54:17Z")

</div>

> [@eviltrout](#):
>
> vast majority of API calls you could make like to fetch a topic or topic list are very stable and haven’t changed in a really long time.

Thanks Robin - thats what I was looking for. If I stop updating the version of Discourse on my server - I should also be safe too. Then I could test our client software on a different server with latest Discourse before I update it on our server.

Does that sound like the safest approach to this?

---

<div class="post-metadata">

### Author: ![eviltrout](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/eviltrout/32/5275_2.png) [@eviltrout](https://meta.discourse.org/u/eviltrout)
#### Post date: [20 בנובמבר,‏ 2014,‏ 4:55pm UTC](https://meta.discourse.org/t/what-is-the-timing-of-formal-discourse-rest-api/22329/6 "2014-11-20T16:55:40Z")

</div>

Right that would be relatively safe. I’ll always recommend updating to our stable releases though as they often contain security fixes.

---

<div class="post-metadata">

### Author: ![chapoi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chapoi/32/537252_2.png) [@chapoi](https://meta.discourse.org/u/chapoi)
#### Post date: [4 בדצמבר,‏ 2025,‏ 11:33am UTC](https://meta.discourse.org/t/what-is-the-timing-of-formal-discourse-rest-api/22329/7 "2025-12-04T11:33:23Z")

</div>


