diff --git a/.insomnia/ApiSpec/spc_6502b93cc453484ca8a3b7986aac4217.yml b/.insomnia/ApiSpec/spc_6502b93cc453484ca8a3b7986aac4217.yml
new file mode 100755
index 0000000000000000000000000000000000000000..a5ccd00def9cc7d8cf702bd786ce73bf94635b16
--- /dev/null
+++ b/.insomnia/ApiSpec/spc_6502b93cc453484ca8a3b7986aac4217.yml
@@ -0,0 +1,8 @@
+_id: spc_6502b93cc453484ca8a3b7986aac4217
+type: ApiSpec
+parentId: wrk_7e99ffab4d8249c0a5c50fd612b42a4d
+modified: 1666269640794
+created: 1666269640794
+fileName: Hypercog Traceblock API
+contents: ""
+contentType: yaml
diff --git a/.insomnia/Environment/env_eedb02c65bc7da7315abb9ac09e73b58f2513ee3.yml b/.insomnia/Environment/env_eedb02c65bc7da7315abb9ac09e73b58f2513ee3.yml
new file mode 100755
index 0000000000000000000000000000000000000000..c40c86a7e07d145b280013e2b233375e88224003
--- /dev/null
+++ b/.insomnia/Environment/env_eedb02c65bc7da7315abb9ac09e73b58f2513ee3.yml
@@ -0,0 +1,39 @@
+_id: env_eedb02c65bc7da7315abb9ac09e73b58f2513ee3
+type: Environment
+parentId: wrk_7e99ffab4d8249c0a5c50fd612b42a4d
+modified: 1666275072285
+created: 1666269640894
+name: Base Environment
+data:
+  CHANNEL: hypercog
+  CHAINCODE: traceblock
+  NETWORK: main
+  BASE_URL: http://localhost:4040/api
+  BLOCKCHAIN_URL: "{{ _.BASE_URL }}/blockchain/channel/{{ _.CHANNEL
+    }}/chaincode/{{ _.CHAINCODE }}"
+  QUERY_URL: "{{ _.BLOCKCHAIN_URL }}/query"
+  INVOKE_URL: "{{ _.BLOCKCHAIN_URL }}/invoke"
+  USERNAME: sidenor
+  SECRET: secret
+  ORGANIZATION: hypercog.com
+  ACCESS_TOKEN: "{% response 'body', 'req_deb2d21463e0474eab977d08fac43530',
+    'b64::JC5hY2Nlc3NfdG9rZW4=::46b', 'no-history', 60 %}"
+  LAST_REGISTERED_ID: "{% response 'body', 'req_11dd3c34af7a4db5afe3b470d491e170',
+    'b64::JC5yZXN1bHQuaWQ=::46b', 'no-history', 60 %}"
+dataPropertyOrder:
+  "&":
+    - CHANNEL
+    - CHAINCODE
+    - NETWORK
+    - BASE_URL
+    - BLOCKCHAIN_URL
+    - QUERY_URL
+    - INVOKE_URL
+    - USERNAME
+    - SECRET
+    - ORGANIZATION
+    - ACCESS_TOKEN
+    - LAST_REGISTERED_ID
+color: null
+isPrivate: false
+metaSortKey: 1666269640894
diff --git a/.insomnia/Request/req_059500964b6a4ab99ccdb01c85565e5b.yml b/.insomnia/Request/req_059500964b6a4ab99ccdb01c85565e5b.yml
new file mode 100755
index 0000000000000000000000000000000000000000..508d831dd80e40261a3d0cbc27a65aaae9ef1f05
--- /dev/null
+++ b/.insomnia/Request/req_059500964b6a4ab99ccdb01c85565e5b.yml
@@ -0,0 +1,66 @@
+_id: req_059500964b6a4ab99ccdb01c85565e5b
+type: Request
+parentId: fld_a1ee4cb6554b44059e75a566971c42fe
+modified: 1666270757452
+created: 1666269662419
+url: "{{ _.QUERY_URL }}/hypercog-stats"
+name: Hypercog-stats
+description: Retrieves the allowed asset states in a format understandable by an
+  UI (e.g., the Dashboard with the _vue-select_ component).
+method: POST
+body:
+  mimeType: application/json
+  text: "{}"
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_60325e99498b47c4a83d8f4069d6246e
+  - name: Pragma
+    value: no-cache
+    id: pair_6986611fad9e4fc4b9ce1ff696664763
+  - name: Cache-Control
+    value: no-cache
+    id: pair_802966b4a51643c6b1fb560318e08a59
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_60bd3754b696453e97cb002439561171
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/89.0.4389.114 Safari/537.36
+    id: pair_3d2a767d54784712825ac0129b10b040
+  - name: Content-Type
+    value: application/json
+    id: pair_4e9fbecc33c5488ba835fd5bf1ffca7e
+  - name: Sec-GPC
+    value: "1"
+    id: pair_5d084b5f585e452a8788d09435703986
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_1f5e3395260446ef93955bd33288ca94
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_2b47f087a729498f8640edfe03922a11
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_25fe995293aa47ddbae8bb03d77555f3
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_8d8d1e5c6a224366bf06b2ed3683e574
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_daf100a232ec41c594c2ceefaa26222c
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_3c94f9bf8342404f97038b712a476f7a
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617717136701.7812
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_08a878cf1eac4bb888a514435b1210bc.yml b/.insomnia/Request/req_08a878cf1eac4bb888a514435b1210bc.yml
new file mode 100755
index 0000000000000000000000000000000000000000..e9d6b84161c616f5d1da9e31a60c36bfd1f545e4
--- /dev/null
+++ b/.insomnia/Request/req_08a878cf1eac4bb888a514435b1210bc.yml
@@ -0,0 +1,70 @@
+_id: req_08a878cf1eac4bb888a514435b1210bc
+type: Request
+parentId: fld_a1ee4cb6554b44059e75a566971c42fe
+modified: 1666270734889
+created: 1666269662414
+url: "{{ _.INVOKE_URL }}/hypercog-reject-asset"
+name: Hypercog-reject-asset
+description: Retrieves the allowed asset states in a format understandable by an
+  UI (e.g., the Dashboard with the _vue-select_ component).
+method: POST
+body:
+  mimeType: application/json
+  text: >-
+    {
+    	"id": "{{ _.LAST_REGISTERED_ID }}",
+    	"bidder": "cement-company1-com:eDUwOTo6Q049dXNlcixPVT1jbGllbnQrT1U9b3JnMStPVT1kZXBhcnRtZW50MTo6Q049Y2EuY2VtZW50LWNvbXBhbnkxLmNvbSxPPWNlbWVudC1jb21wYW55MS5jb20sTD1SYWxlaWdoLFNUPU5vcnRoIENhcm9saW5hLEM9VVM="
+    }
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_60325e99498b47c4a83d8f4069d6246e
+  - name: Pragma
+    value: no-cache
+    id: pair_6986611fad9e4fc4b9ce1ff696664763
+  - name: Cache-Control
+    value: no-cache
+    id: pair_802966b4a51643c6b1fb560318e08a59
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_60bd3754b696453e97cb002439561171
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/89.0.4389.114 Safari/537.36
+    id: pair_3d2a767d54784712825ac0129b10b040
+  - name: Content-Type
+    value: application/json
+    id: pair_4e9fbecc33c5488ba835fd5bf1ffca7e
+  - name: Sec-GPC
+    value: "1"
+    id: pair_5d084b5f585e452a8788d09435703986
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_1f5e3395260446ef93955bd33288ca94
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_2b47f087a729498f8640edfe03922a11
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_25fe995293aa47ddbae8bb03d77555f3
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_8d8d1e5c6a224366bf06b2ed3683e574
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_daf100a232ec41c594c2ceefaa26222c
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_3c94f9bf8342404f97038b712a476f7a
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617717136704.125
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_11dd3c34af7a4db5afe3b470d491e170.yml b/.insomnia/Request/req_11dd3c34af7a4db5afe3b470d491e170.yml
new file mode 100755
index 0000000000000000000000000000000000000000..f1bd6d000fac17b27b51f4ed632ecb4cea904120
--- /dev/null
+++ b/.insomnia/Request/req_11dd3c34af7a4db5afe3b470d491e170.yml
@@ -0,0 +1,87 @@
+_id: req_11dd3c34af7a4db5afe3b470d491e170
+type: Request
+parentId: fld_8cbbcd258c384663a510054191331d7e
+modified: 1666274805335
+created: 1666269684755
+url: "{{ _.INVOKE_URL }}/asset-register"
+name: Asset-register
+description: Creates an asset on the ledger.
+method: POST
+body:
+  mimeType: application/json
+  text: |-
+    {
+    	"id": "asset-{% now 'millis', '' %}",
+    	"type":"100304",
+    	"fields": {
+    		"name":"Concrete wall",
+    		"description":"A wall made up of concrete",
+    		"status": "slag"
+    	},
+    	"location": {
+    		"desc": "K-tuin",
+    		"warehouse": "",
+    		"room": "",
+    		"pack": "",
+    		"coords": {
+    			"lat": 43.254549946785744,
+    			"lng": -2.9206378457675486,
+    			"alt":null
+    		}
+    	},
+    	"quantity": 2412,
+    	"units": "kg"
+    }
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_a1f159b95693489e95dcf5366a67526a
+  - name: Pragma
+    value: no-cache
+    id: pair_e34a81ff9bab4792a416dea6893d291b
+  - name: Cache-Control
+    value: no-cache
+    id: pair_4fb5f5ad9ffd44258c958a28a70db7e1
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_fef57d2bec8e4f8184ac6fc51f6e3fe5
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/89.0.4389.114 Safari/537.36
+    id: pair_2050249b55284071b9b157c2f8408d62
+  - name: Content-Type
+    value: application/json
+    id: pair_9e7a9e3eaa8c4768a7a0b2e2ebf66fd5
+  - name: Sec-GPC
+    value: "1"
+    id: pair_f6bcb4b132e14d03a9a34752ea1a94e3
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_a1325bd77d214c0b82c5e3a849456442
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_714e99c3f1444587bac5b71527a881e3
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_eb9b21c9dffe4dd696c1fc458249b426
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_f4421251b8054690b720629348bd3cd4
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_02f44adec2854591b5e379dcfbd3bb46
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_58d3e86182424973995afb992d4e122b
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617728347899
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_1235f6a7a1b3458f9aebe24b9ca2f92a.yml b/.insomnia/Request/req_1235f6a7a1b3458f9aebe24b9ca2f92a.yml
new file mode 100755
index 0000000000000000000000000000000000000000..d8a67c1458fb218a506646a7b60a0a6c50375c97
--- /dev/null
+++ b/.insomnia/Request/req_1235f6a7a1b3458f9aebe24b9ca2f92a.yml
@@ -0,0 +1,66 @@
+_id: req_1235f6a7a1b3458f9aebe24b9ca2f92a
+type: Request
+parentId: fld_a1ee4cb6554b44059e75a566971c42fe
+modified: 1666270721906
+created: 1666269662408
+url: "{{ _.QUERY_URL }}/hypercog-list-bid-assets"
+name: Hypercog-bid-asset-list
+description: Retrieves the allowed asset states in a format understandable by an
+  UI (e.g., the Dashboard with the _vue-select_ component).
+method: POST
+body:
+  mimeType: application/json
+  text: "{}"
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_60325e99498b47c4a83d8f4069d6246e
+  - name: Pragma
+    value: no-cache
+    id: pair_6986611fad9e4fc4b9ce1ff696664763
+  - name: Cache-Control
+    value: no-cache
+    id: pair_802966b4a51643c6b1fb560318e08a59
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_60bd3754b696453e97cb002439561171
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/89.0.4389.114 Safari/537.36
+    id: pair_3d2a767d54784712825ac0129b10b040
+  - name: Content-Type
+    value: application/json
+    id: pair_4e9fbecc33c5488ba835fd5bf1ffca7e
+  - name: Sec-GPC
+    value: "1"
+    id: pair_5d084b5f585e452a8788d09435703986
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_1f5e3395260446ef93955bd33288ca94
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_2b47f087a729498f8640edfe03922a11
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_25fe995293aa47ddbae8bb03d77555f3
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_8d8d1e5c6a224366bf06b2ed3683e574
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_daf100a232ec41c594c2ceefaa26222c
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_3c94f9bf8342404f97038b712a476f7a
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617717136713.5
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_13048b3ac3454f439eaa50647801589d.yml b/.insomnia/Request/req_13048b3ac3454f439eaa50647801589d.yml
new file mode 100755
index 0000000000000000000000000000000000000000..6399bf4174807144a7a16a2e1e38bc1b56b351c6
--- /dev/null
+++ b/.insomnia/Request/req_13048b3ac3454f439eaa50647801589d.yml
@@ -0,0 +1,56 @@
+_id: req_13048b3ac3454f439eaa50647801589d
+type: Request
+parentId: fld_f86b78dea36a4987ad8bbd82f57fde4f
+modified: 1666270522934
+created: 1666269691431
+url: "{{ _.QUERY_URL }}/barcode-create"
+name: Barcode-create
+description: Given an asset id, this method returns a barcode image representing that asset.
+method: POST
+body:
+  mimeType: application/json
+  text: |-
+    {
+    	"id":"{{ _.LAST_REGISTERED_ID }}"
+    }
+parameters: []
+headers:
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:87.0) Gecko/20100101
+      Firefox/87.0
+    id: pair_d5436f306a344088a4f53541c6840c08
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_e0361e77485a47bab828e4723437f785
+  - name: Accept-Language
+    value: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
+    id: pair_e57038cdaa8f404c94df5e2188fcd821
+  - name: Content-Type
+    value: application/json
+    id: pair_bce2f3b37bb94e9986febdd8e65a82c6
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_94fce40f8bc54a31882892fa68828788
+  - name: Connection
+    value: keep-alive
+    id: pair_6d5e69105158480489de5b60bac4de41
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_5035a8ddce6e49c8a16b78e2b73bb481
+  - name: Pragma
+    value: no-cache
+    id: pair_9fcebcc377fd46769dc300392cdc1c35
+  - name: Cache-Control
+    value: no-cache
+    id: pair_c05daa26ded841fcbea525d6b6616f27
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617717136376
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_169fa9e42bf949cc8f932970f5e4610a.yml b/.insomnia/Request/req_169fa9e42bf949cc8f932970f5e4610a.yml
new file mode 100755
index 0000000000000000000000000000000000000000..d69b04b948aa286750718f6093848217e2f98354
--- /dev/null
+++ b/.insomnia/Request/req_169fa9e42bf949cc8f932970f5e4610a.yml
@@ -0,0 +1,67 @@
+_id: req_169fa9e42bf949cc8f932970f5e4610a
+type: Request
+parentId: fld_8cbbcd258c384663a510054191331d7e
+modified: 1666269684773
+created: 1666269684773
+url: "{{ _.QUERY_URL }}/asset-owned-elements"
+name: Asset-owned-elements (all)
+description: |-
+  Returns all the assets which belong to the user's role.
+  Internally invokes _[rich-query](./dashboard.md#rich-query)_.
+method: POST
+body:
+  mimeType: application/json
+  text: "{}"
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_22de5d262aa64df490dfb28e3a4180ac
+  - name: Pragma
+    value: no-cache
+    id: pair_23048f7e1eb64b37954c330565b7223f
+  - name: Cache-Control
+    value: no-cache
+    id: pair_61e581b368ea4caa943467650d0670d7
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_012f63b7a3324c0987e0f896f09b3acb
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/89.0.4389.114 Safari/537.36
+    id: pair_fe986addc213469bb1b30e92a9e4ab49
+  - name: Content-Type
+    value: application/json
+    id: pair_4f6cff332b0d495da78f238114cfbcb8
+  - name: Sec-GPC
+    value: "1"
+    id: pair_44deda8519e34e80825bbe23be83ae56
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_3054624c15aa47ff9dd637b07fa13b1c
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_0c5d5eb932784ff5a80d08bafcca7221
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_960950d9df49416380614bcce1e29f65
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_5b803df71e8746bf864eb7eba414b8eb
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_5913c07ed54245628b34b3cc19cf9fb0
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_b3c1654b1ea74d6dbbc33e00fe62a899
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617728347986.5
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_2cd932973aff4a7aa860b4539c44d001.yml b/.insomnia/Request/req_2cd932973aff4a7aa860b4539c44d001.yml
new file mode 100755
index 0000000000000000000000000000000000000000..adaed78836d15f9e9fc097801f257083e3701a47
--- /dev/null
+++ b/.insomnia/Request/req_2cd932973aff4a7aa860b4539c44d001.yml
@@ -0,0 +1,68 @@
+_id: req_2cd932973aff4a7aa860b4539c44d001
+type: Request
+parentId: fld_8cbbcd258c384663a510054191331d7e
+modified: 1666270584679
+created: 1666269684765
+url: "{{ _.INVOKE_URL }}/asset-archive"
+name: Asset-archive
+description: Deletes an asset marking it as archived.
+method: POST
+body:
+  mimeType: application/json
+  text: |-
+    {
+    	"id":"{{ _.LAST_REGISTERED_ID }}"
+    }
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_fbe54590cc874058a2446410a8efd91c
+  - name: Pragma
+    value: no-cache
+    id: pair_0bc20936545d4bd4b285be7fab1eb9fa
+  - name: Cache-Control
+    value: no-cache
+    id: pair_87d382de377b4639bc88af4e27d651c6
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_3b4732df6be249179f34156fad96818c
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/89.0.4389.114 Safari/537.36
+    id: pair_e7ef40593afd41a8b0643216e9e9c110
+  - name: Content-Type
+    value: application/json
+    id: pair_c58c61f742124dbd9a1856cff680b5b8
+  - name: Sec-GPC
+    value: "1"
+    id: pair_67f977d70b8f444d93dd17de223457e5
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_8ecf12189ac14d4a9a9353fcbd161b1c
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_2347418f9e5746b0a7628058a0baa9f9
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_8caf74747acc433682606184ad3972bb
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_06839109fd6a4e5ca3f999de65fec0ca
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_32d9e40181404b39bc12d9582747b4fd
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_d4a89c9bf6e5428eab30f4f0059d050d
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617728348149
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_31219ceb06914c68bad84c68ca193e3b.yml b/.insomnia/Request/req_31219ceb06914c68bad84c68ca193e3b.yml
new file mode 100755
index 0000000000000000000000000000000000000000..caf45618be63bd23668d050302fabd4a8d4f664f
--- /dev/null
+++ b/.insomnia/Request/req_31219ceb06914c68bad84c68ca193e3b.yml
@@ -0,0 +1,43 @@
+_id: req_31219ceb06914c68bad84c68ca193e3b
+type: Request
+parentId: fld_fbebe381dd8249ba8f8671533e6055d6
+modified: 1666270503441
+created: 1666269675597
+url: "{{ _.BASE_URL }}/user/sidenor"
+name: Modify user
+description: Creates a new user in the current organization. It only works for
+  users with admin role.
+method: PUT
+body:
+  mimeType: application/json
+  text: |-
+    {
+    	"secret": "secret",
+    	"organization": "{{ _.ORGANIZATION }}",
+    	"affiliation": "org1.department1",
+    	"attrs": [
+    		{ "name": "email", "value": "sidenor@sidenor.com" },
+    		{ "name": "role", "value": "supplier" },
+    		{ "name": "org", "value": "sidenor.com" },
+    		{ "name": "language", "value": "es" }
+    	]
+    }
+parameters: []
+headers:
+  - name: Accept
+    value: application/json
+    id: pair_5491ffa8c6dc4d28abb63c713ca1733d
+  - name: Content-Type
+    value: application/json
+    id: pair_8aeb4343365641378873d6eeb5527f93
+authentication:
+  type: bearer
+  token: "{{ _.ADMIN_TOKEN }}"
+metaSortKey: -1617717136651
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_31b302d8a9134c6f8e73bf46c31c8ce2.yml b/.insomnia/Request/req_31b302d8a9134c6f8e73bf46c31c8ce2.yml
new file mode 100755
index 0000000000000000000000000000000000000000..d5207ec7dc8846eecbb530ec357653b0123c928f
--- /dev/null
+++ b/.insomnia/Request/req_31b302d8a9134c6f8e73bf46c31c8ce2.yml
@@ -0,0 +1,71 @@
+_id: req_31b302d8a9134c6f8e73bf46c31c8ce2
+type: Request
+parentId: fld_8cbbcd258c384663a510054191331d7e
+modified: 1666270689107
+created: 1666269684780
+url: "{{ _.INVOKE_URL }}/asset-transfer"
+name: Asset-transfer
+description: Transfers the asset ownership (i.e., asset owner is changed).
+method: POST
+body:
+  mimeType: application/json
+  text: |-
+    {
+    	"id": "{{ _.LAST_REGISTERED_ID }}",
+    	"newOrg": "sidenor.com",
+    	"newRole": "user",
+    	"location": {
+    		"coords": {
+    			"lat": 43.29901385713826,
+    			"lng": -2.9712893187839096,
+    			"alt": null
+    		},
+    		"desc": "A place"
+    	}
+    }
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_9ef6e6d5ee894109ab3205915c1b95aa
+  - name: Pragma
+    value: no-cache
+    id: pair_1b33185a70a746579917686efb019953
+  - name: Cache-Control
+    value: no-cache
+    id: pair_6b0479eae9a340268f507fb79616f70b
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_22f7a00903794d7aad3d9e78f8f605c1
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/89.0.4389.114 Safari/537.36
+    id: pair_44b929d53cfe4a96a87095208f8d5c65
+  - name: Content-Type
+    value: application/json
+    id: pair_23ec75d42f514a7b80ea1e7df5ca9285
+  - name: Sec-GPC
+    value: "1"
+    id: pair_e28d221efe7742bfa10a5a5815d72b4c
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_10022d7b36e347c78b8ebf2b110b290c
+    disabled: false
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_cdd8100aa25541ff9563f57c4e43c6ae
+    disabled: false
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_5bb7ed42ca84489eb5c9f00bc7dfcf3a
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617728347774
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_3acc8d24b34f437e9f70e491955f3492.yml b/.insomnia/Request/req_3acc8d24b34f437e9f70e491955f3492.yml
new file mode 100755
index 0000000000000000000000000000000000000000..194c308f40dad5e8c1d7aba0c93d416f421654b9
--- /dev/null
+++ b/.insomnia/Request/req_3acc8d24b34f437e9f70e491955f3492.yml
@@ -0,0 +1,66 @@
+_id: req_3acc8d24b34f437e9f70e491955f3492
+type: Request
+parentId: fld_af1d176ad23540f8bace3c55e4939bcb
+modified: 1666269698104
+created: 1666269698104
+url: "{{ _.QUERY_URL }}/dashboard-asset-allowed-states"
+name: Dashboard-asset-allowed-states
+description: Retrieves the allowed asset states in a format understandable by an
+  UI (e.g., the Dashboard with the _vue-select_ component).
+method: POST
+body:
+  mimeType: application/json
+  text: "{}"
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_60325e99498b47c4a83d8f4069d6246e
+  - name: Pragma
+    value: no-cache
+    id: pair_6986611fad9e4fc4b9ce1ff696664763
+  - name: Cache-Control
+    value: no-cache
+    id: pair_802966b4a51643c6b1fb560318e08a59
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_60bd3754b696453e97cb002439561171
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/89.0.4389.114 Safari/537.36
+    id: pair_3d2a767d54784712825ac0129b10b040
+  - name: Content-Type
+    value: application/json
+    id: pair_4e9fbecc33c5488ba835fd5bf1ffca7e
+  - name: Sec-GPC
+    value: "1"
+    id: pair_5d084b5f585e452a8788d09435703986
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_1f5e3395260446ef93955bd33288ca94
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_2b47f087a729498f8640edfe03922a11
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_25fe995293aa47ddbae8bb03d77555f3
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_8d8d1e5c6a224366bf06b2ed3683e574
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_daf100a232ec41c594c2ceefaa26222c
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_3c94f9bf8342404f97038b712a476f7a
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617717136726
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_46962f99d2654b06b48cae88e4c87ae9.yml b/.insomnia/Request/req_46962f99d2654b06b48cae88e4c87ae9.yml
new file mode 100755
index 0000000000000000000000000000000000000000..3c635310e3d256fabf26c5887509b62f2e6b3ab6
--- /dev/null
+++ b/.insomnia/Request/req_46962f99d2654b06b48cae88e4c87ae9.yml
@@ -0,0 +1,81 @@
+_id: req_46962f99d2654b06b48cae88e4c87ae9
+type: Request
+parentId: fld_8cbbcd258c384663a510054191331d7e
+modified: 1666270699060
+created: 1666269684769
+url: "{{ _.INVOKE_URL }}/asset-update"
+name: Asset-update
+description: >-
+  Modifies the state of an asset.
+
+  If some fields are not provided, values form the latest version will be copied.
+
+  Ownership and creation date cannot be updated with this operation.
+method: POST
+body:
+  mimeType: application/json
+  text: |-
+    {
+    	"id": "{{ _.LAST_REGISTERED_ID }}",
+    	"type": "100304",
+    	"fields": {
+    		"name":"Concrete wall",
+    		"description":"A wall made up of concrete",
+    		"status": "certified"
+    	},
+    	"quantity": 242,
+    	"units": "grams"
+    }
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_a1f159b95693489e95dcf5366a67526a
+  - name: Pragma
+    value: no-cache
+    id: pair_e34a81ff9bab4792a416dea6893d291b
+  - name: Cache-Control
+    value: no-cache
+    id: pair_4fb5f5ad9ffd44258c958a28a70db7e1
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_fef57d2bec8e4f8184ac6fc51f6e3fe5
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/89.0.4389.114 Safari/537.36
+    id: pair_2050249b55284071b9b157c2f8408d62
+  - name: Content-Type
+    value: application/json
+    id: pair_9e7a9e3eaa8c4768a7a0b2e2ebf66fd5
+  - name: Sec-GPC
+    value: "1"
+    id: pair_f6bcb4b132e14d03a9a34752ea1a94e3
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_a1325bd77d214c0b82c5e3a849456442
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_714e99c3f1444587bac5b71527a881e3
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_eb9b21c9dffe4dd696c1fc458249b426
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_f4421251b8054690b720629348bd3cd4
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_02f44adec2854591b5e379dcfbd3bb46
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_58d3e86182424973995afb992d4e122b
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617728347749
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_46b0e232ffac4647aef4f55cc4c1273b.yml b/.insomnia/Request/req_46b0e232ffac4647aef4f55cc4c1273b.yml
new file mode 100755
index 0000000000000000000000000000000000000000..b68ffcbeb47e908248815ee38df811741431e7bd
--- /dev/null
+++ b/.insomnia/Request/req_46b0e232ffac4647aef4f55cc4c1273b.yml
@@ -0,0 +1,83 @@
+_id: req_46b0e232ffac4647aef4f55cc4c1273b
+type: Request
+parentId: fld_8cbbcd258c384663a510054191331d7e
+modified: 1666275491337
+created: 1666269684771
+url: "{{ _.INVOKE_URL }}/asset-split"
+name: Asset-split
+description: |-
+  The _asset-split_ operation generates as many assets as requested.
+  That is, decomposes one asset into N new assets.
+  All those new assets are linked to the parent.
+method: POST
+body:
+  mimeType: application/json
+  text: |-
+    {
+    	"id": "{{ _.LAST_REGISTERED_ID }}",
+    	"splitConfig": {
+    		"archiveOld":  false,
+    		"bidirectional": true,
+    		"childcount": 2,
+    		"proposedIds":[],
+    		"base": {
+    			"type": "1908",
+    			"fields": {
+    				"status": "slag"
+    			}
+    		}
+      }
+    }
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_d690a644add14e26b525abcd41e1a093
+  - name: Pragma
+    value: no-cache
+    id: pair_79d8602821aa494485966df578343123
+  - name: Cache-Control
+    value: no-cache
+    id: pair_4bdc5f05527e40a8b38b7c6df86aca76
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/90.0.4430.93 Safari/537.36
+    id: pair_83f17c7a5825409fbd2e749b0424bd2f
+  - name: content-type
+    value: application/json
+    id: pair_712b2c65b8ba46f382758e7bb075d082
+  - name: Accept
+    value: "*/*"
+    id: pair_74ee886a8b6b4005a05f81ce7fff1994
+  - name: Sec-GPC
+    value: "1"
+    id: pair_1a2811a1481543e8ae9ba64dfef608ed
+  - name: Origin
+    value: http://localhost:8080
+    id: pair_a4807c71a0cf496ba6feeb4a78b4a095
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_06c9e7fcfb434eb09a4ed65743c7b66f
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_dddc06118e574ebb9f26697c9f5f45ae
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_5efbd6e05da84267b97227c8091f80d0
+  - name: Referer
+    value: http://localhost:8080/
+    id: pair_a364e3cc7e3e46c785dfaad6e5d63d1d
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_6f7b68a724164ad6baefcfe0be04930f
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617728347849
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_5ddc3ba847e4427e9221f7fd3ecd56e2.yml b/.insomnia/Request/req_5ddc3ba847e4427e9221f7fd3ecd56e2.yml
new file mode 100755
index 0000000000000000000000000000000000000000..bc5afcbf62f140d650492c1b202b39548b0ff5fc
--- /dev/null
+++ b/.insomnia/Request/req_5ddc3ba847e4427e9221f7fd3ecd56e2.yml
@@ -0,0 +1,56 @@
+_id: req_5ddc3ba847e4427e9221f7fd3ecd56e2
+type: Request
+parentId: fld_f86b78dea36a4987ad8bbd82f57fde4f
+modified: 1666270542106
+created: 1666269691429
+url: "{{ _.QUERY_URL }}/qr-create"
+name: Qr-create
+description: Given an asset id, this method returns a QR image representing that asset.
+method: POST
+body:
+  mimeType: application/json
+  text: |-
+    {
+    	"id":"{{ _.LAST_REGISTERED_ID }}"
+    }
+parameters: []
+headers:
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:87.0) Gecko/20100101
+      Firefox/87.0
+    id: pair_71c6fbe74d4f444c9a3ff7c720576f05
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_9f2af4bdf6ec43f6a446870712153fbe
+  - name: Accept-Language
+    value: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
+    id: pair_1772424ad73846d38bb209f5e8be371e
+  - name: Content-Type
+    value: application/json
+    id: pair_444cf6b0d61a4f5eb3dde7a95fa30c88
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_c57404a389d34e97b398929a3ec84a46
+  - name: Connection
+    value: keep-alive
+    id: pair_8de14dbb99014e34925c856a34f13c0b
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_28aa62388c064986a0936c85be626a37
+  - name: Pragma
+    value: no-cache
+    id: pair_a7ce908dc1704d7798b7b2b0df440c0b
+  - name: Cache-Control
+    value: no-cache
+    id: pair_f88f91d7654a404293bb21e18e395bf4
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617717136276
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_5ef1268415b14c0ba7b2a4bf1eb37ee5.yml b/.insomnia/Request/req_5ef1268415b14c0ba7b2a4bf1eb37ee5.yml
new file mode 100755
index 0000000000000000000000000000000000000000..341ef7b1f562a8bffaa784e63aeb93aee71d8f46
--- /dev/null
+++ b/.insomnia/Request/req_5ef1268415b14c0ba7b2a4bf1eb37ee5.yml
@@ -0,0 +1,68 @@
+_id: req_5ef1268415b14c0ba7b2a4bf1eb37ee5
+type: Request
+parentId: fld_8cbbcd258c384663a510054191331d7e
+modified: 1666270641761
+created: 1666269684759
+url: "{{ _.QUERY_URL }}/asset-read"
+name: Asset-read
+description: Reads the requested asset.
+method: POST
+body:
+  mimeType: application/json
+  text: |-
+    {
+    	"id":"{{ _.LAST_REGISTERED_ID }}"
+    }
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_b36c9073668042808cc3304f6ec0be8e
+  - name: Pragma
+    value: no-cache
+    id: pair_cfe4696966ba4aa2aabca2f596cecf29
+  - name: Cache-Control
+    value: no-cache
+    id: pair_6630034f957c40c69ff7d8baeee51319
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_bebe7e76f0874ba7aed42f8187d3c0fc
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/89.0.4389.114 Safari/537.36
+    id: pair_cd9671ec935742e692797d871b5df4bc
+  - name: Content-Type
+    value: application/json
+    id: pair_7c53fbf88ff74c80ae6db02021933782
+  - name: Sec-GPC
+    value: "1"
+    id: pair_169133f085df49ab8eb39e166536a865
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_d20cf0b4436844b682c5338ed4490658
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_737e6f6b62c8447c8964df125bce9d21
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_39c1617f1e5148d29148d3d7683141d4
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_3e53c4de80a340e8ab10cbc052e93c4d
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_b154a3132be74eb2915b1c5b082a927b
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_d257d99649604d5784a0c733604e487a
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617728347949
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_7b2fa560e45d49029ff252d80c4d0057.yml b/.insomnia/Request/req_7b2fa560e45d49029ff252d80c4d0057.yml
new file mode 100755
index 0000000000000000000000000000000000000000..89cf041acc1d740a718c29fd0439bf8fb8e58232
--- /dev/null
+++ b/.insomnia/Request/req_7b2fa560e45d49029ff252d80c4d0057.yml
@@ -0,0 +1,62 @@
+_id: req_7b2fa560e45d49029ff252d80c4d0057
+type: Request
+parentId: fld_f86b78dea36a4987ad8bbd82f57fde4f
+modified: 1666270530680
+created: 1666269691439
+url: "{{ _.QUERY_URL }}/barcode-resolve"
+name: Barcode-resolve
+description: >-
+  Given barcode encoded data, check if the item is valid or not.
+
+
+  In theory, if secret mode is enabled _barcodeData_ should contain encrypted data and otherwise it should contain the raw asset id.
+
+  However, the implementation is always the latter.
+method: POST
+body:
+  mimeType: application/json
+  text: |-
+    {
+    	"barcode": "{{ _.LAST_REGISTERED_ID }}"
+    }
+parameters: []
+headers:
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:87.0) Gecko/20100101
+      Firefox/87.0
+    id: pair_d5436f306a344088a4f53541c6840c08
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_e0361e77485a47bab828e4723437f785
+  - name: Accept-Language
+    value: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
+    id: pair_e57038cdaa8f404c94df5e2188fcd821
+  - name: Content-Type
+    value: application/json
+    id: pair_bce2f3b37bb94e9986febdd8e65a82c6
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_94fce40f8bc54a31882892fa68828788
+  - name: Connection
+    value: keep-alive
+    id: pair_6d5e69105158480489de5b60bac4de41
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_5035a8ddce6e49c8a16b78e2b73bb481
+  - name: Pragma
+    value: no-cache
+    id: pair_9fcebcc377fd46769dc300392cdc1c35
+  - name: Cache-Control
+    value: no-cache
+    id: pair_c05daa26ded841fcbea525d6b6616f27
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617717136363.5
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_7c1b675c233847fbae829e2577a30ce9.yml b/.insomnia/Request/req_7c1b675c233847fbae829e2577a30ce9.yml
new file mode 100755
index 0000000000000000000000000000000000000000..78b9aa5171d1b0a128715541440b9ccc926a1b0e
--- /dev/null
+++ b/.insomnia/Request/req_7c1b675c233847fbae829e2577a30ce9.yml
@@ -0,0 +1,53 @@
+_id: req_7c1b675c233847fbae829e2577a30ce9
+type: Request
+parentId: fld_f86b78dea36a4987ad8bbd82f57fde4f
+modified: 1666269691437
+created: 1666269691437
+url: "{{ _.QUERY_URL }}/random-string"
+name: Random string
+description: Same as _random-uuid_ with a different return type.
+method: POST
+body:
+  mimeType: application/json
+  text: "{}"
+parameters: []
+headers:
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:87.0) Gecko/20100101
+      Firefox/87.0
+    id: pair_71c6fbe74d4f444c9a3ff7c720576f05
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_9f2af4bdf6ec43f6a446870712153fbe
+  - name: Accept-Language
+    value: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
+    id: pair_1772424ad73846d38bb209f5e8be371e
+  - name: Content-Type
+    value: application/json
+    id: pair_444cf6b0d61a4f5eb3dde7a95fa30c88
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_c57404a389d34e97b398929a3ec84a46
+  - name: Connection
+    value: keep-alive
+    id: pair_8de14dbb99014e34925c856a34f13c0b
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_28aa62388c064986a0936c85be626a37
+  - name: Pragma
+    value: no-cache
+    id: pair_a7ce908dc1704d7798b7b2b0df440c0b
+  - name: Cache-Control
+    value: no-cache
+    id: pair_f88f91d7654a404293bb21e18e395bf4
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617717136326
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_80294abc3a5f4bcd972b436c41bf35ac.yml b/.insomnia/Request/req_80294abc3a5f4bcd972b436c41bf35ac.yml
new file mode 100755
index 0000000000000000000000000000000000000000..4d3902a4704293d23c1391784fc6b24887a0ba0f
--- /dev/null
+++ b/.insomnia/Request/req_80294abc3a5f4bcd972b436c41bf35ac.yml
@@ -0,0 +1,68 @@
+_id: req_80294abc3a5f4bcd972b436c41bf35ac
+type: Request
+parentId: fld_8cbbcd258c384663a510054191331d7e
+modified: 1666270590324
+created: 1666269684763
+url: "{{ _.QUERY_URL }}/asset-history"
+name: Asset-history
+description: Retrieves the history of a given asset with all its past changes.
+method: POST
+body:
+  mimeType: application/json
+  text: |-
+    {
+    	"id":"{{ _.LAST_REGISTERED_ID }}"
+    }
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_54c9261298454330b4774961dcda47e7
+  - name: Pragma
+    value: no-cache
+    id: pair_4dd1306d29e24eb6b6bf0ef5a99f8c47
+  - name: Cache-Control
+    value: no-cache
+    id: pair_43f65de2040f4e4d819e112806de7541
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_80cdcbc8743e4f3fa1105844fa2f6fdf
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/89.0.4389.114 Safari/537.36
+    id: pair_d6fc443d9d7a4182ad0a81f2e1fa4074
+  - name: Content-Type
+    value: application/json
+    id: pair_1839f3da58c5480db576200f33a5c5df
+  - name: Sec-GPC
+    value: "1"
+    id: pair_0179d3cc53ec43ae89d2513d662f2e33
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_f80ebe11e5114fd09040ae1e26ee2479
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_4a2fe840b3824b18a156e2d8a66694b4
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_f599595014754fc69d5a862454e56958
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_3017fd3e246e40d68b2739a44344ccbe
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_d7aa6c729f824dcab65e3157a5382e0b
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_73eba2bb47d249aca02e86d269447dfb
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617728348124
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_8aa1f7d2230e4d08b67b35136d7e971b.yml b/.insomnia/Request/req_8aa1f7d2230e4d08b67b35136d7e971b.yml
new file mode 100755
index 0000000000000000000000000000000000000000..44c83bfe3dae1d662269ca2a8fc093ff2200265b
--- /dev/null
+++ b/.insomnia/Request/req_8aa1f7d2230e4d08b67b35136d7e971b.yml
@@ -0,0 +1,73 @@
+_id: req_8aa1f7d2230e4d08b67b35136d7e971b
+type: Request
+parentId: fld_a1ee4cb6554b44059e75a566971c42fe
+modified: 1666270712082
+created: 1666269662411
+url: "{{ _.INVOKE_URL }}/hypercog-bid-asset"
+name: Hypercog-bid-asset
+description: Retrieves the allowed asset states in a format understandable by an
+  UI (e.g., the Dashboard with the _vue-select_ component).
+method: POST
+body:
+  mimeType: application/json
+  text: |-
+    {
+    	"id": "{{ _.LAST_REGISTERED_ID }}",
+    	"bid": {
+    		"quantity": 11,
+    		"price": 3
+    	}	
+    }
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_60325e99498b47c4a83d8f4069d6246e
+  - name: Pragma
+    value: no-cache
+    id: pair_6986611fad9e4fc4b9ce1ff696664763
+  - name: Cache-Control
+    value: no-cache
+    id: pair_802966b4a51643c6b1fb560318e08a59
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_60bd3754b696453e97cb002439561171
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/89.0.4389.114 Safari/537.36
+    id: pair_3d2a767d54784712825ac0129b10b040
+  - name: Content-Type
+    value: application/json
+    id: pair_4e9fbecc33c5488ba835fd5bf1ffca7e
+  - name: Sec-GPC
+    value: "1"
+    id: pair_5d084b5f585e452a8788d09435703986
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_1f5e3395260446ef93955bd33288ca94
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_2b47f087a729498f8640edfe03922a11
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_25fe995293aa47ddbae8bb03d77555f3
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_8d8d1e5c6a224366bf06b2ed3683e574
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_daf100a232ec41c594c2ceefaa26222c
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_3c94f9bf8342404f97038b712a476f7a
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617717136707.25
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_a818b38f2a8645fbabc4b01d68629d49.yml b/.insomnia/Request/req_a818b38f2a8645fbabc4b01d68629d49.yml
new file mode 100755
index 0000000000000000000000000000000000000000..e941a43cd96b418e97216f15dab66c390706e642
--- /dev/null
+++ b/.insomnia/Request/req_a818b38f2a8645fbabc4b01d68629d49.yml
@@ -0,0 +1,81 @@
+_id: req_a818b38f2a8645fbabc4b01d68629d49
+type: Request
+parentId: fld_8cbbcd258c384663a510054191331d7e
+modified: 1666270626403
+created: 1666269684778
+url: "{{ _.INVOKE_URL }}/asset-join"
+name: Asset-join
+description: |-
+  Creates a new asset joining N different assets.
+  If marked as bidirectional, links parents with the new asset too.
+method: POST
+body:
+  mimeType: application/json
+  text: |-
+    {
+    	"type": "1201",
+    	"parents": [
+    		"c28bed645434c46376369bc5cc400b4c",
+        "513be341a8c15c74dc06ca434b33cb36"
+    	],
+    	"fields": {
+    		"status":"recycled"
+    	},
+    	"joinConfig": {
+    		"parentsShouldExist": true,
+    		"bidirectional": true
+    	}
+    }
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_d690a644add14e26b525abcd41e1a093
+  - name: Pragma
+    value: no-cache
+    id: pair_79d8602821aa494485966df578343123
+  - name: Cache-Control
+    value: no-cache
+    id: pair_4bdc5f05527e40a8b38b7c6df86aca76
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/90.0.4430.93 Safari/537.36
+    id: pair_83f17c7a5825409fbd2e749b0424bd2f
+  - name: content-type
+    value: application/json
+    id: pair_712b2c65b8ba46f382758e7bb075d082
+  - name: Accept
+    value: "*/*"
+    id: pair_74ee886a8b6b4005a05f81ce7fff1994
+  - name: Sec-GPC
+    value: "1"
+    id: pair_1a2811a1481543e8ae9ba64dfef608ed
+  - name: Origin
+    value: http://localhost:8080
+    id: pair_a4807c71a0cf496ba6feeb4a78b4a095
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_06c9e7fcfb434eb09a4ed65743c7b66f
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_dddc06118e574ebb9f26697c9f5f45ae
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_5efbd6e05da84267b97227c8091f80d0
+  - name: Referer
+    value: http://localhost:8080/
+    id: pair_a364e3cc7e3e46c785dfaad6e5d63d1d
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_6f7b68a724164ad6baefcfe0be04930f
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617728348055.25
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_afaca2425a384a1db6bb3c0191a79924.yml b/.insomnia/Request/req_afaca2425a384a1db6bb3c0191a79924.yml
new file mode 100755
index 0000000000000000000000000000000000000000..0488f3184515a4f2db7823d1e2bc209dcd29ff2e
--- /dev/null
+++ b/.insomnia/Request/req_afaca2425a384a1db6bb3c0191a79924.yml
@@ -0,0 +1,66 @@
+_id: req_afaca2425a384a1db6bb3c0191a79924
+type: Request
+parentId: fld_af1d176ad23540f8bace3c55e4939bcb
+modified: 1666269698107
+created: 1666269698107
+url: "{{ _.QUERY_URL }}/dashboard-asset-types-list"
+name: Dashboard-asset-types-list
+description: Retrieves the allowed asset types in a format understandable by an
+  UI (e.g., the Dashboard with the _vue-select_ component).
+method: POST
+body:
+  mimeType: application/json
+  text: "{}"
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_311b8714d130494594f30834dab59a82
+  - name: Pragma
+    value: no-cache
+    id: pair_fe77a0f5cd4047cb92ecc7f617a0abf4
+  - name: Cache-Control
+    value: no-cache
+    id: pair_ecedb8e750224637b16decbe41d18338
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_138d1d54b10d4260a6c6cc7db498ff81
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/89.0.4389.114 Safari/537.36
+    id: pair_ec0bbe62619c41e7a7d9f61583016f55
+  - name: Content-Type
+    value: application/json
+    id: pair_aedd88c9cc8c4c02a1a0295dc3162837
+  - name: Sec-GPC
+    value: "1"
+    id: pair_b49adcb1b6594d38abc70c138d32877e
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_e548be0d3a2d42d0876cb271c7ae7324
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_8aad14fbdca347ffac647635a5b21745
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_4a337f66db944eecacf9aff6f8531bc9
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_a527ea0e71294b4797fc4c94b8573768
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_49b3e64a3ceb40c1b46834a875d844a8
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_7039b7101f3f4e6ead7d6eb3f3b10706
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617717136576
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_b56df34845a8438283ef8979d594b2ea.yml b/.insomnia/Request/req_b56df34845a8438283ef8979d594b2ea.yml
new file mode 100755
index 0000000000000000000000000000000000000000..1ec2e87cd336ca3f448bd5914dbb413337d22756
--- /dev/null
+++ b/.insomnia/Request/req_b56df34845a8438283ef8979d594b2ea.yml
@@ -0,0 +1,69 @@
+_id: req_b56df34845a8438283ef8979d594b2ea
+type: Request
+parentId: fld_8cbbcd258c384663a510054191331d7e
+modified: 1666269684775
+created: 1666269684775
+url: "{{ _.QUERY_URL }}/asset-owned-elements"
+name: Asset-owned-elements (filtering by type)
+description: >-
+  Returns all the assets which belong to the user's role and which are of the
+  type provided.
+
+  Internally invokes _[rich-query](./dashboard.md#rich-query)_.
+method: POST
+body:
+  mimeType: application/json
+  text: '{ "type": "subasset" }'
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_22de5d262aa64df490dfb28e3a4180ac
+  - name: Pragma
+    value: no-cache
+    id: pair_23048f7e1eb64b37954c330565b7223f
+  - name: Cache-Control
+    value: no-cache
+    id: pair_61e581b368ea4caa943467650d0670d7
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_012f63b7a3324c0987e0f896f09b3acb
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/89.0.4389.114 Safari/537.36
+    id: pair_fe986addc213469bb1b30e92a9e4ab49
+  - name: Content-Type
+    value: application/json
+    id: pair_4f6cff332b0d495da78f238114cfbcb8
+  - name: Sec-GPC
+    value: "1"
+    id: pair_44deda8519e34e80825bbe23be83ae56
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_3054624c15aa47ff9dd637b07fa13b1c
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_0c5d5eb932784ff5a80d08bafcca7221
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_960950d9df49416380614bcce1e29f65
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_5b803df71e8746bf864eb7eba414b8eb
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_5913c07ed54245628b34b3cc19cf9fb0
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_b3c1654b1ea74d6dbbc33e00fe62a899
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617728347974
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_deb2d21463e0474eab977d08fac43530.yml b/.insomnia/Request/req_deb2d21463e0474eab977d08fac43530.yml
new file mode 100755
index 0000000000000000000000000000000000000000..042d1383441e18c9d6e14b3564aa7f2b244fbc8e
--- /dev/null
+++ b/.insomnia/Request/req_deb2d21463e0474eab977d08fac43530.yml
@@ -0,0 +1,70 @@
+_id: req_deb2d21463e0474eab977d08fac43530
+type: Request
+parentId: fld_fbebe381dd8249ba8f8671533e6055d6
+modified: 1666270485347
+created: 1666269675592
+url: "{{ _.BASE_URL }}/auth/signin"
+name: Signin
+description: Signs the user in the API. It returns a token which can be used in
+  subsequent requests.
+method: POST
+body:
+  mimeType: application/json
+  text: |-
+    {
+    	"username": "{{ _.USERNAME }}",
+    	"secret": "{{ _.SECRET }}",
+    	"organization": "{{ _.ORGANIZATION }}",
+    	"network": "{{ _.NETWORK }}"
+    }
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_2a2614d4085e4225929b17a4f0ef75bb
+  - name: Pragma
+    value: no-cache
+    id: pair_c78cd5a421cc4652b5eb077e37ecb5e3
+  - name: Cache-Control
+    value: no-cache
+    id: pair_0b5d76ca1344436291894d718e396698
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_c54c014c68894e2d891062cee8469b88
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/89.0.4389.114 Safari/537.36
+    id: pair_ab603e3ff0d24733adc6b873fd5c1afd
+  - name: Content-Type
+    value: application/json
+    id: pair_eb6b83dca6434a54bfb5a4504e1f29fd
+  - name: Sec-GPC
+    value: "1"
+    id: pair_417a3f0af8ae4cf6b963cf94f9019ca6
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_eb26878d64774ac1b3977d11eec9acea
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_f1a3536fe8234d0fb0a62780a10fcf8a
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_d31bad3db0bd42f586ce1958a4dca483
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_8180e41971c64be09c3235c20d2c018e
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_1cb11dfa1a854c22a4767d9241a768c2
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_6952f2f02e8f4238a664e0c50c8c5d85
+authentication: {}
+metaSortKey: -1617717136826
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_e0ee45c0b3ed4c61b6ae47fa1fc5b331.yml b/.insomnia/Request/req_e0ee45c0b3ed4c61b6ae47fa1fc5b331.yml
new file mode 100755
index 0000000000000000000000000000000000000000..6dd5e05594060cc946c035438ead1fa4f4f9adec
--- /dev/null
+++ b/.insomnia/Request/req_e0ee45c0b3ed4c61b6ae47fa1fc5b331.yml
@@ -0,0 +1,66 @@
+_id: req_e0ee45c0b3ed4c61b6ae47fa1fc5b331
+type: Request
+parentId: fld_a1ee4cb6554b44059e75a566971c42fe
+modified: 1666270753361
+created: 1666269662425
+url: "{{ _.INVOKE_URL }}/hypercog-stats-reset"
+name: Hypercog-stats-reset
+description: Retrieves the allowed asset states in a format understandable by an
+  UI (e.g., the Dashboard with the _vue-select_ component).
+method: POST
+body:
+  mimeType: application/json
+  text: "{}"
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_60325e99498b47c4a83d8f4069d6246e
+  - name: Pragma
+    value: no-cache
+    id: pair_6986611fad9e4fc4b9ce1ff696664763
+  - name: Cache-Control
+    value: no-cache
+    id: pair_802966b4a51643c6b1fb560318e08a59
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_60bd3754b696453e97cb002439561171
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/89.0.4389.114 Safari/537.36
+    id: pair_3d2a767d54784712825ac0129b10b040
+  - name: Content-Type
+    value: application/json
+    id: pair_4e9fbecc33c5488ba835fd5bf1ffca7e
+  - name: Sec-GPC
+    value: "1"
+    id: pair_5d084b5f585e452a8788d09435703986
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_1f5e3395260446ef93955bd33288ca94
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_2b47f087a729498f8640edfe03922a11
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_25fe995293aa47ddbae8bb03d77555f3
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_8d8d1e5c6a224366bf06b2ed3683e574
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_daf100a232ec41c594c2ceefaa26222c
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_3c94f9bf8342404f97038b712a476f7a
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617717136701.3906
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_eacb103273894aa59fd5af28ca59bc2f.yml b/.insomnia/Request/req_eacb103273894aa59fd5af28ca59bc2f.yml
new file mode 100755
index 0000000000000000000000000000000000000000..d805cd250926a02a0536fc27ffbd70b49b8f3ea2
--- /dev/null
+++ b/.insomnia/Request/req_eacb103273894aa59fd5af28ca59bc2f.yml
@@ -0,0 +1,44 @@
+_id: req_eacb103273894aa59fd5af28ca59bc2f
+type: Request
+parentId: fld_fbebe381dd8249ba8f8671533e6055d6
+modified: 1666270498008
+created: 1666269675594
+url: "{{ _.BASE_URL }}/user"
+name: Create user
+description: Creates a new user in the current organization. It only works for
+  users with admin role.
+method: POST
+body:
+  mimeType: application/json
+  text: |-
+    {
+    	"enrollmentID": "user1",
+    	"secret": "secret",
+    	"organization": "{{ _.ORGANIZATION }}",
+    	"affiliation": "org1.department1.bu",
+    	"attrs": [
+    		{ "name": "email", "value": "user1@sidenor.org"},
+    		{ "name": "role", "value": "supplier"},
+    		{ "name": "org", "value": "sidenor.com"},
+    		{ "name": "language", "value": "es"}
+    	]
+    }
+parameters: []
+headers:
+  - name: Accept
+    value: application/json
+    id: pair_5491ffa8c6dc4d28abb63c713ca1733d
+  - name: Content-Type
+    value: application/json
+    id: pair_8aeb4343365641378873d6eeb5527f93
+authentication:
+  type: bearer
+  token: "{{ _.ADMIN_TOKEN }}"
+metaSortKey: -1617717136701
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_eb52728d959849a3b4ca3320d997d8ab.yml b/.insomnia/Request/req_eb52728d959849a3b4ca3320d997d8ab.yml
new file mode 100755
index 0000000000000000000000000000000000000000..5e34015d8c30cf39d844ad27c7e4b2919737bd5e
--- /dev/null
+++ b/.insomnia/Request/req_eb52728d959849a3b4ca3320d997d8ab.yml
@@ -0,0 +1,79 @@
+_id: req_eb52728d959849a3b4ca3320d997d8ab
+type: Request
+parentId: fld_af1d176ad23540f8bace3c55e4939bcb
+modified: 1666275771725
+created: 1666269698101
+url: "{{ _.QUERY_URL }}/rich-query"
+name: Rich-query (user role)
+description: >-
+  Returns a list of assets using the selector as an optional filter.
+
+  The selector follows the [CouchDB format](https://docs.couchdb.org/en/stable/api/database/find.html#find-selectors).
+
+
+  This example shows all the assets owned by the role _assembler_.
+method: POST
+body:
+  mimeType: application/json
+  text: |-
+    {
+    	"selector": {
+    		"owner": {
+    			"role":"user"
+    		}
+    	}
+    }
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_3ef46ce1ed994c0898794e44113c49c2
+  - name: Pragma
+    value: no-cache
+    id: pair_70837b00b14943318449e45614cd70c0
+  - name: Cache-Control
+    value: no-cache
+    id: pair_6fbe4f66768d40a298b8eec33f08c00f
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_3c8c242a998947c983d00ae59cae9c7b
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/89.0.4389.114 Safari/537.36
+    id: pair_54ab546dc59245ddb8e0aefd4b2b80f5
+  - name: Content-Type
+    value: application/json
+    id: pair_9ca2f7817760449e9fc16d25e18af9eb
+  - name: Sec-GPC
+    value: "1"
+    id: pair_17dda4ba96b941ae9bfb3df89f73f868
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_d236604d04054efb9068927a6a00cc56
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_32dc1cd9fc1c4cf894f1b25750c35c86
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_6f7114ab765b4c18bc8df5eec90646dc
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_c7a5b27974d1433c8059abbf42d4f2ce
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_a6bd1a7bf5e44f4a944ec2b322e9e1dd
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_e329a048acb44fe39d89e541d777fddb
+authentication:
+  type: bearer
+  prefix: ""
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617717136526
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_fbc4a979b25c428181bfceb20f49a79f.yml b/.insomnia/Request/req_fbc4a979b25c428181bfceb20f49a79f.yml
new file mode 100755
index 0000000000000000000000000000000000000000..c9ff184a9a1345a3078ca0151522d4d5b2429153
--- /dev/null
+++ b/.insomnia/Request/req_fbc4a979b25c428181bfceb20f49a79f.yml
@@ -0,0 +1,63 @@
+_id: req_fbc4a979b25c428181bfceb20f49a79f
+type: Request
+parentId: fld_f86b78dea36a4987ad8bbd82f57fde4f
+modified: 1666269691434
+created: 1666269691434
+url: "{{ _.QUERY_URL }}/random-uuid"
+name: Random UUID
+description: >-
+  Create a unique
+  [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) style id
+  (not rfc compliant).
+
+  It will be **unique and consistent** among all peers involved on the channel.
+
+
+  It is generated in all peers at the same way in random way.
+
+  How? All peers share same DPRNG (_Distributed Pseudo Random Number Generator_) generator seed content.
+method: POST
+body:
+  mimeType: application/json
+  text: "{}"
+parameters: []
+headers:
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:87.0) Gecko/20100101
+      Firefox/87.0
+    id: pair_71c6fbe74d4f444c9a3ff7c720576f05
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_9f2af4bdf6ec43f6a446870712153fbe
+  - name: Accept-Language
+    value: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
+    id: pair_1772424ad73846d38bb209f5e8be371e
+  - name: Content-Type
+    value: application/json
+    id: pair_444cf6b0d61a4f5eb3dde7a95fa30c88
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_c57404a389d34e97b398929a3ec84a46
+  - name: Connection
+    value: keep-alive
+    id: pair_8de14dbb99014e34925c856a34f13c0b
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_28aa62388c064986a0936c85be626a37
+  - name: Pragma
+    value: no-cache
+    id: pair_a7ce908dc1704d7798b7b2b0df440c0b
+  - name: Cache-Control
+    value: no-cache
+    id: pair_f88f91d7654a404293bb21e18e395bf4
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617717136351
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/Request/req_ff4ecad684cb4e6e9ce86278cdc3f499.yml b/.insomnia/Request/req_ff4ecad684cb4e6e9ce86278cdc3f499.yml
new file mode 100755
index 0000000000000000000000000000000000000000..d1130fe69d058d71b45bc9c2b706b5a359de0f95
--- /dev/null
+++ b/.insomnia/Request/req_ff4ecad684cb4e6e9ce86278cdc3f499.yml
@@ -0,0 +1,70 @@
+_id: req_ff4ecad684cb4e6e9ce86278cdc3f499
+type: Request
+parentId: fld_a1ee4cb6554b44059e75a566971c42fe
+modified: 1666270738899
+created: 1666269662416
+url: "{{ _.INVOKE_URL }}/hypercog-accept-asset"
+name: Hypercog-accept-asset
+description: Retrieves the allowed asset states in a format understandable by an
+  UI (e.g., the Dashboard with the _vue-select_ component).
+method: POST
+body:
+  mimeType: application/json
+  text: >-
+    {
+    	"id": "{{ _.LAST_REGISTERED_ID }}",
+    	"bidder": "cement-company1-com:eDUwOTo6Q049dXNlcixPVT1jbGllbnQrT1U9b3JnMStPVT1kZXBhcnRtZW50MTo6Q049Y2EuY2VtZW50LWNvbXBhbnkxLmNvbSxPPWNlbWVudC1jb21wYW55MS5jb20sTD1SYWxlaWdoLFNUPU5vcnRoIENhcm9saW5hLEM9VVM="
+    }
+parameters: []
+headers:
+  - name: Connection
+    value: keep-alive
+    id: pair_60325e99498b47c4a83d8f4069d6246e
+  - name: Pragma
+    value: no-cache
+    id: pair_6986611fad9e4fc4b9ce1ff696664763
+  - name: Cache-Control
+    value: no-cache
+    id: pair_802966b4a51643c6b1fb560318e08a59
+  - name: Accept
+    value: application/json, text/plain, */*
+    id: pair_60bd3754b696453e97cb002439561171
+  - name: User-Agent
+    value: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
+      Chrome/89.0.4389.114 Safari/537.36
+    id: pair_3d2a767d54784712825ac0129b10b040
+  - name: Content-Type
+    value: application/json
+    id: pair_4e9fbecc33c5488ba835fd5bf1ffca7e
+  - name: Sec-GPC
+    value: "1"
+    id: pair_5d084b5f585e452a8788d09435703986
+  - name: Origin
+    value: https://lab.blockchain.tecnalia.com
+    id: pair_1f5e3395260446ef93955bd33288ca94
+  - name: Sec-Fetch-Site
+    value: same-site
+    id: pair_2b47f087a729498f8640edfe03922a11
+  - name: Sec-Fetch-Mode
+    value: cors
+    id: pair_25fe995293aa47ddbae8bb03d77555f3
+  - name: Sec-Fetch-Dest
+    value: empty
+    id: pair_8d8d1e5c6a224366bf06b2ed3683e574
+  - name: Referer
+    value: https://lab.blockchain.tecnalia.com/
+    id: pair_daf100a232ec41c594c2ceefaa26222c
+  - name: Accept-Language
+    value: es-ES,es;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6
+    id: pair_3c94f9bf8342404f97038b712a476f7a
+authentication:
+  type: bearer
+  token: "{{ _.ACCESS_TOKEN }}"
+metaSortKey: -1617717136702.5625
+isPrivate: false
+settingStoreCookies: true
+settingSendCookies: true
+settingDisableRenderRequestBody: false
+settingEncodeUrl: true
+settingRebuildPath: true
+settingFollowRedirects: global
diff --git a/.insomnia/RequestGroup/fld_8cbbcd258c384663a510054191331d7e.yml b/.insomnia/RequestGroup/fld_8cbbcd258c384663a510054191331d7e.yml
new file mode 100755
index 0000000000000000000000000000000000000000..6469c62c41c301915f8aba76311f426955c680c4
--- /dev/null
+++ b/.insomnia/RequestGroup/fld_8cbbcd258c384663a510054191331d7e.yml
@@ -0,0 +1,10 @@
+_id: fld_8cbbcd258c384663a510054191331d7e
+type: RequestGroup
+parentId: wrk_7e99ffab4d8249c0a5c50fd612b42a4d
+modified: 1666270545881
+created: 1666269684750
+name: Asset management
+description: ""
+environment: {}
+environmentPropertyOrder: null
+metaSortKey: 200
diff --git a/.insomnia/RequestGroup/fld_a1ee4cb6554b44059e75a566971c42fe.yml b/.insomnia/RequestGroup/fld_a1ee4cb6554b44059e75a566971c42fe.yml
new file mode 100755
index 0000000000000000000000000000000000000000..74a19342416e01ab4b2cafe829f6942e09af20e4
--- /dev/null
+++ b/.insomnia/RequestGroup/fld_a1ee4cb6554b44059e75a566971c42fe.yml
@@ -0,0 +1,10 @@
+_id: fld_a1ee4cb6554b44059e75a566971c42fe
+type: RequestGroup
+parentId: wrk_7e99ffab4d8249c0a5c50fd612b42a4d
+modified: 1666270545881
+created: 1666269662406
+name: HyperCOG
+description: ""
+environment: {}
+environmentPropertyOrder: null
+metaSortKey: 0
diff --git a/.insomnia/RequestGroup/fld_af1d176ad23540f8bace3c55e4939bcb.yml b/.insomnia/RequestGroup/fld_af1d176ad23540f8bace3c55e4939bcb.yml
new file mode 100755
index 0000000000000000000000000000000000000000..9295b6aed366e58d3a3258df0a46930eccd381f6
--- /dev/null
+++ b/.insomnia/RequestGroup/fld_af1d176ad23540f8bace3c55e4939bcb.yml
@@ -0,0 +1,10 @@
+_id: fld_af1d176ad23540f8bace3c55e4939bcb
+type: RequestGroup
+parentId: wrk_7e99ffab4d8249c0a5c50fd612b42a4d
+modified: 1666270545881
+created: 1666269698097
+name: Other queries
+description: ""
+environment: {}
+environmentPropertyOrder: null
+metaSortKey: 400
diff --git a/.insomnia/RequestGroup/fld_f86b78dea36a4987ad8bbd82f57fde4f.yml b/.insomnia/RequestGroup/fld_f86b78dea36a4987ad8bbd82f57fde4f.yml
new file mode 100755
index 0000000000000000000000000000000000000000..9a95fa7f035869a1084e8a5aa867f70b6aa92d75
--- /dev/null
+++ b/.insomnia/RequestGroup/fld_f86b78dea36a4987ad8bbd82f57fde4f.yml
@@ -0,0 +1,10 @@
+_id: fld_f86b78dea36a4987ad8bbd82f57fde4f
+type: RequestGroup
+parentId: wrk_7e99ffab4d8249c0a5c50fd612b42a4d
+modified: 1666270545881
+created: 1666269691425
+name: Other
+description: ""
+environment: {}
+environmentPropertyOrder: null
+metaSortKey: 300
diff --git a/.insomnia/RequestGroup/fld_fbebe381dd8249ba8f8671533e6055d6.yml b/.insomnia/RequestGroup/fld_fbebe381dd8249ba8f8671533e6055d6.yml
new file mode 100755
index 0000000000000000000000000000000000000000..c2786be3ecfe8ba044dd09659b720f4d18321487
--- /dev/null
+++ b/.insomnia/RequestGroup/fld_fbebe381dd8249ba8f8671533e6055d6.yml
@@ -0,0 +1,10 @@
+_id: fld_fbebe381dd8249ba8f8671533e6055d6
+type: RequestGroup
+parentId: wrk_7e99ffab4d8249c0a5c50fd612b42a4d
+modified: 1666270550847
+created: 1666269675589
+name: User management
+description: ""
+environment: {}
+environmentPropertyOrder: null
+metaSortKey: -50
diff --git a/.insomnia/Workspace/wrk_7e99ffab4d8249c0a5c50fd612b42a4d.yml b/.insomnia/Workspace/wrk_7e99ffab4d8249c0a5c50fd612b42a4d.yml
new file mode 100755
index 0000000000000000000000000000000000000000..a1cbf0faab8e40e60f94e2724930fc35ad762c9d
--- /dev/null
+++ b/.insomnia/Workspace/wrk_7e99ffab4d8249c0a5c50fd612b42a4d.yml
@@ -0,0 +1,8 @@
+_id: wrk_7e99ffab4d8249c0a5c50fd612b42a4d
+type: Workspace
+parentId: null
+modified: 1666269640789
+created: 1666269640789
+name: Hypercog Traceblock API
+description: ""
+scope: design