# Clarification on DAML keywords, JSON API and Ledger API

**URL:** <https://forum.canton.network/t/clarification-on-daml-keywords-json-api-and-ledger-api/5674>\
**Category:** App Development\
**Tags:** daml, json-api, ledger-api\
**Created:** [November 19, 2022, 4:05pm UTC](https://forum.canton.network/t/clarification-on-daml-keywords-json-api-and-ledger-api/5674 "2022-11-19T16:05:54Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![io\_walken](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/io_walken/32/5263_2.png) [@io\_walken](https://forum.canton.network/u/io_walken)\
**Post date:** [November 19, 2022, 4:05pm UTC](https://forum.canton.network/t/clarification-on-daml-keywords-json-api-and-ledger-api/5674/1 "2022-11-19T16:05:55Z")

</div>

In DAML JSON API, we have “Allocate a New Party” and “Create a New User”, what are their differences? Are they also refer to creating ledger parties? I am kinda confused about whether this allocation also means creation. We can use @daml/ledger library to interact with the JSON API and perform actions like creating contracts and creating ledger parties.

I would like to seek for a more detailed explanation and please correct me if my claim above is wrong.  
Thank you very much.

---

<div class="post-metadata">

**Author:** ![stefanobaghino-da](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/stefanobaghino-da/32/7057_2.png) [@stefanobaghino-da](https://forum.canton.network/u/stefanobaghino-da)\
**Post date:** [November 21, 2022, 8:42am UTC](https://forum.canton.network/t/clarification-on-daml-keywords-json-api-and-ledger-api/5674/2 "2022-11-21T08:42:07Z")

</div>

Hi @io_walken, welcome to the forum and thanks for the question.

You can think of a party as an entity with an on-ledger claim to some sort of authority (e.g. creating a contract of a given template) and the user an off-ledger identity that maps to that on-ledger entity. For example, you might have a party that is supposed to act as a regulator and is an `observer` to certain kinds of contracts, while the user `jane.doe@regulatory-agency.com` is a user that can be connected to the aforementioned on-ledger party, as well as its off-ledger credentials as a user of `regulatory-agency.com`.

Quoting from [the documentation](https://docs.daml.com/app-dev/parties-users.html):

> - **Parties** are unique across the entire Daml network. These must be allocated before you can use them to log in, and allocation results in a random-looking (but not actually random) string that identifies the party and is used in your Daml code. Parties are a builtin concept.
> - On each participant node you can create **users** with human-readable user ids. Each user can be associated with one or more parties allocated on that participant node, and refers to that party only on that node. Users are a purely local concept, meaning you can never address a user on another node by user id, and you never work with users in your Daml code; party ids are always used for these purposes. Users are also a builtin concept.

Hope this helps!
