# Why run a separate json-api for each party?

**URL:** <https://forum.canton.network/t/why-run-a-separate-json-api-for-each-party/588>\
**Category:** App Development\
**Tags:** daml, json-api\
**Created:** [June 2, 2020, 5:07pm UTC](https://forum.canton.network/t/why-run-a-separate-json-api-for-each-party/588 "2020-06-02T17:07:31Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Stephen](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/stephen/32/102_2.png) [@Stephen](https://forum.canton.network/u/Stephen)\
**Post date:** [June 2, 2020, 5:07pm UTC](https://forum.canton.network/t/why-run-a-separate-json-api-for-each-party/588/1 "2020-06-02T17:07:31Z")

</div>

@bernhard [has addressed the CORS question](https://discuss.daml.com/t/daml-ui-template-use-a-different-json-api-instance-for-each-party/573/4), but I am curious: why run a separate JSON API for each party? JSON API is only a data-converting proxy for the underlying ledger API, and does not use given tokens outside the request in which they’re given.

---

<div class="post-metadata">

**Author:** ![anthony](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/anthony/32/419_2.png) [@anthony](https://forum.canton.network/u/anthony)\
**Post date:** [June 2, 2020, 8:20pm UTC](https://forum.canton.network/t/why-run-a-separate-json-api-for-each-party/588/2 "2020-06-02T20:20:18Z")

</div>

Moved to a new topic since this is a separate question

---

<div class="post-metadata">

**Author:** ![bernhard](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/bernhard/32/356_2.png) [@bernhard](https://forum.canton.network/u/bernhard)\
**Post date:** [June 3, 2020, 6:50am UTC](https://forum.canton.network/t/why-run-a-separate-json-api-for-each-party/588/3 "2020-06-03T06:50:45Z")

</div>

I don’t think you’d run a JSON API per Party, but a JSON API per Participant Node. Since the JSON API Server only connects to a single Ledger API Server, there’s no way to run one JSON API for multiple Ledger APIs. If every Party runs their own Participant Node, that ends up being the same thing as running a JSON API per Party.
