# API: Can't transmit IR commands except using use\_scan

**URL:** https://forum.bondhome.io/t/api-cant-transmit-ir-commands-except-using-use-scan/2912
**Category:** Uncategorized
**Created:** [December 19, 2021, 7:00am UTC](https://forum.bondhome.io/t/api-cant-transmit-ir-commands-except-using-use-scan/2912 "2021-12-19T07:00:45Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![prv](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.bondhome.io/prv/32/664_2.png) [@prv](https://forum.bondhome.io/u/prv)
#### Post date: [December 19, 2021, 7:00am UTC](https://forum.bondhome.io/t/api-cant-transmit-ir-commands-except-using-use-scan/2912/1 "2021-12-19T07:00:45Z")

</div>

(Note: this is all using the API on a Bond Home running firmware v2.15.8.1)

When trying to send an IR command using the signal/tx API, I get a “frequency out of range” error.

```auto
curl [...]/v2/signal/tx -d '{
"freq": 38,
"modulation": "OOK",
"encoding": "hex",
"bps": 40000,
"reps": 1,
"data": [...]
}' 
HTTP/1.1 400 Bad Request
Content-Length: 56
Content-Type: application/json; charset=utf-8

{
  "_error_id": 30,
  "_error_msg": "frequency out of range"
}

```

It seems like any frequency below 300000 returns this error. However, if I scan the same command + send using signal/tx with “use\_scan”: true, it works fine. It seems like there’s a validation error.

---

<div class="post-metadata">

### Author: ![merck](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.bondhome.io/merck/32/1238_2.png) [@merck](https://forum.bondhome.io/u/merck)
#### Post date: [December 28, 2021, 1:14pm UTC](https://forum.bondhome.io/t/api-cant-transmit-ir-commands-except-using-use-scan/2912/2 "2021-12-28T13:14:25Z")

</div>

I tried to repro this, but it works for me.

Testing on a unit (serial number starting with ZZ), version v2.28.0 firmware:

```auto
curl -iH "Bond-Token: 5exxxx52efb09a4a" http://192.168.86.225/v2/signal/tx -X PUT -d '{"freq":38,"modulation":"OOK","encoding":"hex","bps":40000,"reps":1,"data":"FF00FF00FF00"}

```

> HTTP/1.1 204 No Content  
> Content-Length: 0

Looking at the source code, I don’t see why this wouldn’t work on v2.15.8.1. Anyways, you could upgrade to more recent firmware. If you have a “Snowbird” unit (serial number starting A or B) then you’ll need to use the “beta” firmware channel and be warned that there’s a chance of data loss with an upgrade of those Snowbird units.
