# Successfully posting JSON w/ :httpc

**URL:** <https://forum.elixirforum.com/t/successfully-posting-json-w-httpc/16299>\
**Category:** Questions\
**Tags:** erlang, http\_client, json\
**Created:** [September 5, 2018, 3:07am UTC](https://forum.elixirforum.com/t/successfully-posting-json-w-httpc/16299 "2018-09-05T03:07:12Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![foggy](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/foggy/32/16051_2.png) [@foggy](https://forum.elixirforum.com/u/foggy)\
**Post date:** [September 5, 2018, 3:07am UTC](https://forum.elixirforum.com/t/successfully-posting-json-w-httpc/16299/1 "2018-09-05T03:07:12Z")

</div>

I have a Phoenix api that needs to make a couple of post requests. I am fully aware that there are easier options for me than calling `:httpc` from erlang, but I started trying it out and now I’m curious as to why my request is working.

When I make the following request, the Flask API which I’m calling does not register any params being passed in the body. (Note: remember this is calling erlang in elixir and is not raw erlang)

`:httpc.request(:post, {'https://thecorrecturl.com', [], 'application/json', 'any body at all'}, [], [])`

To be clear, I am successfully hitting the endpoint, it’s just “any body at all” doesn’t get through. I’ve tried different variations of ‘{“key”:“value”}’ but nothing ever gets through (backslashed quotes, backslashed single quotes, nothing).

What am I missing to post this json body?

---

<div class="post-metadata">

**Author:** ![idi527](https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/i/85e7bf/32.png) [@idi527](https://forum.elixirforum.com/u/idi527)\
**Post date:** [September 5, 2018, 5:39am UTC](https://forum.elixirforum.com/t/successfully-posting-json-w-httpc/16299/2 "2018-09-05T05:39:15Z")

</div>

👋

```elixir
iex(6)> :httpc.request(:post, {'http://httpbin.org/post', [], 'application/json', 'any body at all'}, [], [])
{:ok,
 {{'HTTP/1.1', 200, 'OK'},
  [
    {'connection', 'keep-alive'},
    {'date', 'Wed, 05 Sep 2018 05:38:54 GMT'},
    {'via', '1.1 vegur'},
    {'server', 'gunicorn/19.9.0'},
    {'content-length', '308'},
    {'content-type', 'application/json'},
    {'access-control-allow-origin', '*'},
    {'access-control-allow-credentials', 'true'}
  ],
  '{\n "args": {}, \n "data": "any body at all", \n "files": {}, \n "form": {}, \n "headers": {\n "Connection": "close", \n "Content-Length": "15", \n "Content-Type": "application/json", \n "Host": "httpbin.org"\n }, \n "json": null, \n "origin": "159.65.119.183", \n "url": "http://httpbin.org/post"\n}\n'}}

```

works fine for me. You should probably check your flask app.

---

<div class="post-metadata">

**Author:** ![foggy](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/foggy/32/16051_2.png) [@foggy](https://forum.elixirforum.com/u/foggy)\
**Post date:** [September 5, 2018, 6:04am UTC](https://forum.elixirforum.com/t/successfully-posting-json-w-httpc/16299/3 "2018-09-05T06:04:58Z")

</div>

This is what I get for trying things when I have one foot out the door. I’ll be having a word with my python developer tomorrow lol (I don’t think request.get\_json() is being used if I had to guess)
