# Http output in logstash with additional body requirements

**URL:** https://discuss.elastic.co/t/http-output-in-logstash-with-additional-body-requirements/357098
**Category:** Logstash
**Created:** [April 9, 2024, 6:27pm UTC](https://discuss.elastic.co/t/http-output-in-logstash-with-additional-body-requirements/357098 "2024-04-09T18:27:23Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Mike\_Yates](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mike_yates/32/133400_2.png) [@Mike\_Yates](https://discuss.elastic.co/u/Mike_Yates)
#### Post date: [April 9, 2024, 6:27pm UTC](https://discuss.elastic.co/t/http-output-in-logstash-with-additional-body-requirements/357098/1 "2024-04-09T18:27:23Z")

</div>

## I have a logstash config file below but the api I'm using requires a body that looks like this, how can i pass that information to the http output configuration.

[  
{  
"class":"stuff",  
"details":"more stuff"  
}  
]

* * *

input {  
snmptrap {  
id =\> "my\_snmp"  
port =\> 162  
}  
}  
output {

# stdout {

# 

# codec =\> rubydebug

# 

# }

# 

http  
{

```
 url=>"https://xxxxxxxxxxxxxxxx"

```

"  
http\_method=\>"post"  
content\_type=\>"application/json"  
format=\>"json\_batch"  
retry\_failed=\>false  
http\_compression=\>true  
headers =\> {  
"Authorization" =\> "apiKey xxxxxxx"}  
}  
}

---

<div class="post-metadata">

### Author: ![Badger](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/badger/32/25190_2.png) [@Badger](https://discuss.elastic.co/u/Badger)
#### Post date: [April 9, 2024, 9:52pm UTC](https://discuss.elastic.co/t/http-output-in-logstash-with-additional-body-requirements/357098/2 "2024-04-09T21:52:46Z")

</div>

Use the format option on the output. Perhaps something like

```
mutate { add_field => { "[@metadata][payload]" => '[{ "class":"stuff", "details":"more stuff" }]'

```

The payload can include sprintf references that add\_field will evaluate, so that you can include fields from the event. Then configure the http output with

```
format => message
message => "%{[@metadata][payload]}"

```

---

<div class="post-metadata">

### Author: ![Mike\_Yates](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mike_yates/32/133400_2.png) [@Mike\_Yates](https://discuss.elastic.co/u/Mike_Yates)
#### Post date: [April 9, 2024, 10:06pm UTC](https://discuss.elastic.co/t/http-output-in-logstash-with-additional-body-requirements/357098/3 "2024-04-09T22:06:54Z")

</div>

Cool I'll give it a go in the morning, thanks

---

<div class="post-metadata">

### Author: ![Mike\_Yates](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mike_yates/32/133400_2.png) [@Mike\_Yates](https://discuss.elastic.co/u/Mike_Yates)
#### Post date: [April 10, 2024, 3:41pm UTC](https://discuss.elastic.co/t/http-output-in-logstash-with-additional-body-requirements/357098/4 "2024-04-10T15:41:06Z")

</div>

This was perfect ... Thanks so much
