# Can I directly initiate HTTP requests through DAML?

**URL:** <https://forum.canton.network/t/can-i-directly-initiate-http-requests-through-daml/3314>\
**Category:** App Development\
**Tags:** daml\
**Created:** [October 15, 2021, 9:35am UTC](https://forum.canton.network/t/can-i-directly-initiate-http-requests-through-daml/3314 "2021-10-15T09:35:32Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![AlanMi](https://avatars.discourse-cdn.com/v4/letter/a/5e9695/32.png) [@AlanMi](https://forum.canton.network/u/AlanMi)\
**Post date:** [October 15, 2021, 9:35am UTC](https://forum.canton.network/t/can-i-directly-initiate-http-requests-through-daml/3314/1 "2021-10-15T09:35:32Z")

</div>

Can I directly initiate HTTP requests through DAML?

---

<div class="post-metadata">

**Author:** ![Gary\_Verhaegen](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/gary_verhaegen/32/81_2.png) [@Gary\_Verhaegen](https://forum.canton.network/u/Gary_Verhaegen)\
**Post date:** [October 15, 2021, 9:54am UTC](https://forum.canton.network/t/can-i-directly-initiate-http-requests-through-daml/3314/2 "2021-10-15T09:54:34Z")

</div>

Not at the moment, no.

The Daml language is currently focused on interacting with the ledger, either from within a participant (contract choices) or from an external “reactive” mechanism (triggers), but in either case the only effects the language can produce is to either read from or write to the ledger.

If you need to bridge the outside world to your ledger, you’ll have to write code in a general purpose language and use either the [gRPC API](https://docs.daml.com/app-dev/ledger-api.html) or the [HTTP API](https://docs.daml.com/json-api/index.html).

You can use any language with generic [gRPC bindings](https://grpc.io/docs/languages/), or any language that can make HTTP calls (which is pretty much all of them). However, if you interact with values on the ledger, your code will need to know about the various record types defined and used by your contracts. To make this a bit easier on you, we provide [language bindings and codegen for Java targeting the gRPC API](https://docs.daml.com/app-dev/bindings-java/index.html) as well as [JavaScript bindings and codegen targeting the HTTP API](https://docs.daml.com/app-dev/bindings-ts/index.html) (TypeScript compatible).
