# HTTP API --enable\_api ( and Questions about the training run flow )

**URL:** <https://forum.rasa.com/t/http-api-enable-api-and-questions-about-the-training-run-flow/3682>\
**Category:** Getting Started with Rasa\
**Created:** [December 18, 2018, 4:26pm UTC](https://forum.rasa.com/t/http-api-enable-api-and-questions-about-the-training-run-flow/3682 "2018-12-18T16:26:06Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![linediconsine](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/linediconsine/32/1427_2.png) [@linediconsine](https://forum.rasa.com/u/linediconsine)\
**Post date:** [December 18, 2018, 4:26pm UTC](https://forum.rasa.com/t/http-api-enable-api-and-questions-about-the-training-run-flow/3682/1 "2018-12-18T16:26:06Z")

</div>

HI All, My goal is use the API with my first bot

I am using

```auto
python -m rasa_core.run --enable_api -d models/dialogue -u models/nlu/current -o out.log

```

But I receive this error:

```auto
usage: run.py [-h] -d CORE [-u NLU] [-p PORT] [-o LOG_FILE]
              [--credentials CREDENTIALS]
              [-c {facebook,slack,telegram,mattermost,cmdline,twilio}]
              [--debug] [-v]
run.py: error: unrecognized arguments: --enable_api

```

Reference of documentation I am using:

> **[Rasa & Rasa Pro Documentation](https://rasa.com/docs/rasa/pages/http-api/)**

Thank you

---

<div class="post-metadata">

**Author:** ![linediconsine](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/linediconsine/32/1427_2.png) [@linediconsine](https://forum.rasa.com/u/linediconsine)\
**Post date:** [December 18, 2018, 4:44pm UTC](https://forum.rasa.com/t/http-api-enable-api-and-questions-about-the-training-run-flow/3682/2 "2018-12-18T16:44:40Z")

</div>

**Update:** **[NOT SOLVED]** but I found a precedent discussion that said that API is removed and suggest to use RestInput channel instead.

**Reference:**

> [@\[SOLVED\] HTTP APIs do not work](http://forum.rasa.com/t/solved-http-apis-do-not-work/1866/4):
>
> only the respond API will be removed. The rest remains as-is as far i am aware

---

<div class="post-metadata">

**Author:** ![souvikg10](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/souvikg10/32/93_2.png) [@souvikg10](https://forum.rasa.com/u/souvikg10)\
**Post date:** [December 18, 2018, 5:36pm UTC](https://forum.rasa.com/t/http-api-enable-api-and-questions-about-the-training-run-flow/3682/3 "2018-12-18T17:36:48Z")

</div>

Which version are you using?

---

<div class="post-metadata">

**Author:** ![linediconsine](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/linediconsine/32/1427_2.png) [@linediconsine](https://forum.rasa.com/u/linediconsine)\
**Post date:** [December 18, 2018, 5:41pm UTC](https://forum.rasa.com/t/http-api-enable-api-and-questions-about-the-training-run-flow/3682/4 "2018-12-18T17:41:18Z")

</div>

Hi souvikg10!

This is my setup:

```auto
rasa_nlu: 0.12.3 
rasa_core: 0.9.6
python: 3.6.3

```

Thanks

---

<div class="post-metadata">

**Author:** ![Akshit](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/akshit/32/1431_2.png) [@Akshit](https://forum.rasa.com/u/Akshit)\
**Post date:** [December 19, 2018, 4:57am UTC](https://forum.rasa.com/t/http-api-enable-api-and-questions-about-the-training-run-flow/3682/5 "2018-12-19T04:57:09Z")

</div>

@linediconsine hi so the rasa core version you are using has a different way to setup endpoint. It uses

pythom -m rasa\_core.server…something like this! Upgrade to newer version of core then you’ll be able to run --enable\_api. Or you can simply search for rasa\_core: 0.9.6 version docs if you don’t want to upgrade.

---

<div class="post-metadata">

**Author:** ![souvikg10](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/souvikg10/32/93_2.png) [@souvikg10](https://forum.rasa.com/u/souvikg10)\
**Post date:** [December 19, 2018, 7:50am UTC](https://forum.rasa.com/t/http-api-enable-api-and-questions-about-the-training-run-flow/3682/6 "2018-12-19T07:50:00Z")

</div>

Word!!

---

<div class="post-metadata">

**Author:** ![Akshit](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/akshit/32/1431_2.png) [@Akshit](https://forum.rasa.com/u/Akshit)\
**Post date:** [December 19, 2018, 9:53am UTC](https://forum.rasa.com/t/http-api-enable-api-and-questions-about-the-training-run-flow/3682/7 "2018-12-19T09:53:28Z")

</div>

hey @souvikg10 Please can you take a look at my topic!

> [@Track user ID passed in the GET request](http://forum.rasa.com/t/track-user-id-passed-in-the-get-request/3649):
>
> Rasa Core version : 0.12.3 Python version : 3.6.7 Operating system (windows, osx, …): Ubuntu 18.04 Issue : Hi guys! So I have created a bot for my web app and uploaded it on AWS so that my web app can send a GET request and get the response from the rasa\_core. But for a specific user i need to pass an id in the GET request. like : [http://my\_ip\_.amazonaws.com:5005/conversations/27/respond?q='who](http://my_ip_.amazonaws.com:5005/conversations/27/respond?q=%27who) is online today?’ So i want to track this 27 in my action file so that i can make an api call usi…

Thanks in Advance

---

<div class="post-metadata">

**Author:** ![linediconsine](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/linediconsine/32/1427_2.png) [@linediconsine](https://forum.rasa.com/u/linediconsine)\
**Post date:** [December 20, 2018, 1:25pm UTC](https://forum.rasa.com/t/http-api-enable-api-and-questions-about-the-training-run-flow/3682/8 "2018-12-20T13:25:54Z")

</div>

Eih @Akshit, This is not very polite, I still didn’t solve my problems and you are spamming with this messages…

Let make this forum a happy open source community!

Thanks

---

<div class="post-metadata">

**Author:** ![Akshit](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/akshit/32/1431_2.png) [@Akshit](https://forum.rasa.com/u/Akshit)\
**Post date:** [December 21, 2018, 3:40am UTC](https://forum.rasa.com/t/http-api-enable-api-and-questions-about-the-training-run-flow/3682/9 "2018-12-21T03:40:37Z")

</div>

hey @linediconsine sorry If you got upset, I gave you a solution. Did you try that?

---

<div class="post-metadata">

**Author:** ![linediconsine](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/linediconsine/32/1427_2.png) [@linediconsine](https://forum.rasa.com/u/linediconsine)\
**Post date:** [December 21, 2018, 1:34pm UTC](https://forum.rasa.com/t/http-api-enable-api-and-questions-about-the-training-run-flow/3682/10 "2018-12-21T13:34:36Z")

</div>

Hi Akshit, Thanks , I moved a bit forward to understand the setup flow thanks to you!

Long story short : After a couple of test I upgraded the core model and the NLU model

Now let me share my flow from training to run the model:

Now I am using

```auto
rasa_nlu: 0.13.8 
rasa_core: 0.13.0a5

```

On Osx

# Trianing NLU

For training NLU I used:

```auto
from rasa_nlu.training_data import load_data
from rasa_nlu.config import RasaNLUModelConfig
from rasa_nlu.model import Trainer
from rasa_nlu import config

# loading the nlu training samples
training_data = load_data("NLU/nlu.json")

# trainer to educate our pipeline
trainer = Trainer(config.load("NLU/config.yml"))

# train the model!
interpreter = trainer.train(training_data)

# store it for future use
model_directory = trainer.persist("./models/nlu", 
                                  fixed_model_name="current")

```

# Confusion matrix

 ![06%20AM](https://europe1.discourse-cdn.com/flex013/uploads/rasa/original/2X/d/dea7a451c984b22070958aaba46489908568b1f3.png)

Question 1: The confusion matrix is not great ( how I can improve it ?)

Now is time to train the core model, I use:

```auto
from rasa_core.policies import FallbackPolicy, KerasPolicy, MemoizationPolicy
from rasa_core.agent import Agent

# this will catch predictions the model isn't very certain about
# there is a threshold for the NLU predictions as well as the action predictions

agent = Agent('domain.yml', policies=[MemoizationPolicy(), KerasPolicy()])

# loading our neatly defined training dialogues
training_data = agent.load_data('stories/stories.md')

agent.train(
    training_data,
    validation_split=1.0
)

agent.persist('models/dialogue')

```

# 2. Run core and NLU model

From console something weird happens ( I cannot see any reply from my bot ) and I have a couples of warning about some pythons libraries :

```auto
$ python -m rasa_core.run -d models/dialogue -u ./models/nlu/default/current/

```

 ![27%20AM](https://europe1.discourse-cdn.com/flex013/uploads/rasa/original/2X/d/dac7600c3d32e0b91a49d8e9fa85936ac16cb7e2.png)python -m rasa\_core.run --enable\_api -d models/dialogue -u ./models/nlu/default/current/ -o out.log

API mode is running with :

```auto
 python -m rasa_core.run --enable_api -d models/dialogue -u ./models/nlu/default/current/ -o out.log

```

 ![25%20AM](https://europe1.discourse-cdn.com/flex013/uploads/rasa/original/2X/2/2d35093e5f487891bf077d566f707d1bb470a725.png)

---

<div class="post-metadata">

**Author:** ![linediconsine](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/linediconsine/32/1427_2.png) [@linediconsine](https://forum.rasa.com/u/linediconsine)\
**Post date:** [January 8, 2019, 9:49pm UTC](https://forum.rasa.com/t/http-api-enable-api-and-questions-about-the-training-run-flow/3682/11 "2019-01-08T21:49:01Z")

</div>

```
python -m rasa_core.run -d models/dialogue -u models/current/nlu --port 5002 --credentials credentials0.yml

```

with insider **credentials0.yml**

```auto
  rest:
  # you don't need to provide anything here - this channel doesn't
  # require any credentials

```

The server is running, question: Somebody has created a postman ( a list of example of possible call Rasa code accept… I think I might be fighting with old ones example:

```auto
curl -XPOST http://localhost:5002/webhooks/myio/webhook -d '{"sender": "user1", "message": "hello"}' -H "Content-type: application/json"

```

Is **NOT** working in my test, I receive 500

Thanks you for any help!

---

<div class="post-metadata">

**Author:** ![Akshit](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/akshit/32/1431_2.png) [@Akshit](https://forum.rasa.com/u/Akshit)\
**Post date:** [January 12, 2019, 1:11pm UTC](https://forum.rasa.com/t/http-api-enable-api-and-questions-about-the-training-run-flow/3682/12 "2019-01-12T13:11:47Z")

</div>

Hey! @linediconsine This should be

localhost:5005/conversations/default/respond?q=hello

Default can be anything as it’s just the user\_id

---

<div class="post-metadata">

**Author:** ![JiteshGaikwad](https://avatars.discourse-cdn.com/v4/letter/j/77aa72/32.png) [@JiteshGaikwad](https://forum.rasa.com/u/JiteshGaikwad)\
**Post date:** [January 12, 2019, 1:59pm UTC](https://forum.rasa.com/t/http-api-enable-api-and-questions-about-the-training-run-flow/3682/13 "2019-01-12T13:59:56Z")

</div>

Hey @linediconsine according to this doc

> **[Connecting to Messaging and Voice Channels](https://rasa.com/docs/rasa/messaging-and-voice-channels/)**
>
> Check out how to make your Rasa assistant available on platforms like Facebook Messenger, Slack, Telegram or even your very own website.

you url should be like : [http://localhost:5002/webhooks/rest/webhook](http://localhost:5002/webhooks/rest/webhook) body parameters : { “sender”: “user1”, “message”: “Hello” }

hope that helps

---

<div class="post-metadata">

**Author:** ![JiteshGaikwad](https://avatars.discourse-cdn.com/v4/letter/j/77aa72/32.png) [@JiteshGaikwad](https://forum.rasa.com/u/JiteshGaikwad)\
**Post date:** [January 12, 2019, 2:01pm UTC](https://forum.rasa.com/t/http-api-enable-api-and-questions-about-the-training-run-flow/3682/14 "2019-01-12T14:01:04Z")

</div>

hey @Akshit according to this doc [https://rasa.com/docs/core/server/#operation/respond](https://rasa.com/docs/core/server/#operation/respond) the url which you specified is deprecated 😅

---

<div class="post-metadata">

**Author:** ![Akshit](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/akshit/32/1431_2.png) [@Akshit](https://forum.rasa.com/u/Akshit)\
**Post date:** [January 14, 2019, 5:09am UTC](https://forum.rasa.com/t/http-api-enable-api-and-questions-about-the-training-run-flow/3682/15 "2019-01-14T05:09:37Z")

</div>

yeah actually for the first question he used this HTTP api after that he used the REST api… I only answered for the http api call. I know it’s deprecated but it’s working for some time! 🙂 It’s just for learning purpose only
