# \[APP\]\[PRO\] API Builder

**URL:** <https://community.homey.app/t/app-pro-api-builder/66732>\
**Category:** Apps\
**Tags:** app, tools, flow, dashboard\
**Created:** [July 31, 2022, 8:42am UTC](https://community.homey.app/t/app-pro-api-builder/66732 "2022-07-31T08:42:34Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![norenz](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/norenz/32/16887_2.png) [@norenz](https://community.homey.app/u/norenz)\
**Post date:** [July 31, 2022, 8:42am UTC](https://community.homey.app/t/app-pro-api-builder/66732/1 "2022-07-31T08:42:34Z")

</div>

# API Builder

**Create your custom endpoints using flows and GET/POST data to/from your Homey - perfect for that custom dashboard or external system.**

> App Store: [Install API Builder](https://homey.app/a/se.adamnoren.apibuilder)  
> GUIDE: [Android custom widget guide using API Builder](https://community.homey.app/t/tutorial-custom-android-widgets-dashboard-using-api-builder-app-tasker-kwgt/66614)

## Getting started

### Creating your first endpoint

To create an endpoint, create a “Request received”-trigger in the “When”-section. Select request type, `GET` or `POST`, and define the path to this endpoint, for example `/temperature`.

If you for example select POST and enter the path /temperature, your flow will trigger if you make a POST request to **[https://YOURUNIQUEID.itconnects.se/temperature](https://YOURUNIQUEID.itconnects.se/temperature)**. It will **not** trigger on a GET request to this URL.

A flow tag will also be created containing eventual request body data.

### Responding to requests

To respond to the request with JSON data, you use the “Respond with JSON data”-action card in “Then”-section. Here you can build any valid JSON including tags. This will be send back to the requester.

**Make sure you type valid JSON or it will fail!**

### Making a request

When requesting any endpoint, you also need to include your API key as a query parameter in the URL, for example `https://YOURUNIQUEID.itconnects.se/temperature?api_key=ABCDEF123456`.

### Testing

We recommend using Postman when testing your endpoints. It can be downloaded for free [here.](https://www.postman.com/downloads/)

**Demo flow**

---

<div class="post-metadata">

**Author:** ![Dijker](https://avatars.discourse-cdn.com/v4/letter/d/b9bd4f/32.png) [@Dijker](https://community.homey.app/u/Dijker)\
**Post date:** [July 31, 2022, 9:13am UTC](https://community.homey.app/t/app-pro-api-builder/66732/2 "2022-07-31T09:13:41Z")

</div>

Here:

[API Builder App for Homey | Homey](https://homey.app/a/se.adamnoren.apibuilder)

---

<div class="post-metadata">

**Author:** ![homeypro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/homeypro/32/51936_2.png) [@homeypro](https://community.homey.app/u/homeypro)\
**Post date:** [August 13, 2022, 1:45pm UTC](https://community.homey.app/t/app-pro-api-builder/66732/3 "2022-08-13T13:45:36Z")

</div>

Hi @norenz,  
This app looks promising! I would like to build an API to and from Homey in this way. The only thing I find a bit difficult is that this goes through an “unknown” server for me. Would it be possible to build this app locally? So the same functionality but via the local homey IP or the public Homey IP ([id].connect.athom.com). I think more will need this. Of course you buy a Homey to be as independent as possible. If you don’t like the idea here, no problem at all! Still, I hope you’ll consider it. The idea of this app is really good. If this app can run independently on homey with equal authorization (API Keys and maybe IP) then this app is great! I hope you will consider this. Thanks!
