@twin.org/node 0.9.2-next.9 → 0.9.3-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,6 +15,7 @@
15
15
  "cliCommandParamExtra": "Parameter(s) \"{params}\" are not recognised for command \"{command}\"",
16
16
  "cliEnvVarMissing": "Environment variable \"{envVar}\" does not exist",
17
17
  "invalidEnvVarValue": "Environment variable \"{key}\" has an invalid value \"{value}\", expected {type} type",
18
+ "invalidEnvVarPair": "Environment variable \"{key}\" has an invalid entry \"{value}\", expected unique name=integer pairs",
18
19
  "unknownEnvVars": "Unknown environment variable properties [{keys}]. Check for typos in variable names, for custom variables use the {prefix}ENV_ALLOW_LIST."
19
20
  },
20
21
  "bootstrapDev": {
@@ -318,7 +319,8 @@
318
319
  "updateUserFailed": "Updating the user failed",
319
320
  "removeUserFailed": "Removing the user failed",
320
321
  "updatePasswordFailed": "Updating the user's password failed",
321
- "userNotFound": "The user with the specified e-mail could not be found \"{notFoundId}\""
322
+ "userNotFound": "The user with the specified e-mail could not be found \"{notFoundId}\"",
323
+ "insufficientScopeForEscalatedPrivilege": "Caller does not hold the required scope \"{scopeName}\" to assign a role with escalated privilege."
322
324
  },
323
325
  "authHeaderProcessor": {
324
326
  "nodeIdNotSet": "The node ID has not been set"
@@ -400,6 +402,10 @@
400
402
  "apiKeyNotFound": "No tenant found for API key \"{key}\".",
401
403
  "organizationIdNotFound": "No tenant found for organization ID \"{organizationId}\"."
402
404
  },
405
+ "tenantOverrideProcessor": {
406
+ "insufficientScopeForTenantOverride": "Caller does not hold the required scope for tenant override.",
407
+ "tenantNotFound": "Tenant \"{notFoundId}\" not found."
408
+ },
403
409
  "singleTenantProcessor": {
404
410
  "invalidOrganizationId": "Organization ID query parameter \"{paramName}\" value \"{value}\" is not valid for this node"
405
411
  },
@@ -494,9 +500,7 @@
494
500
  },
495
501
  "healthService": {
496
502
  "componentHealthCheckFailed": "Health check failed for component \"{className}\"",
497
- "componentHealthApplicationInitFailed": "Application health check init failed for component \"{className}\"",
498
- "componentHealthApplicationCheckFailed": "Application health check failed for component \"{className}\"",
499
- "componentHealthApplicationTeardownFailed": "Application health check teardown failed for component \"{className}\""
503
+ "applicationHealthCheckTaskFailed": "Application health check background task failed"
500
504
  },
501
505
  "nftAttestationConnector": {
502
506
  "attestingFailed": "Attesting the data failed",
@@ -524,12 +528,15 @@
524
528
  "publicKeyMultibaseMissingHeader": "Public key multibase \"{publicKeyMultibase}\" is missing the multi codec header",
525
529
  "secretKeyMultibaseMissingHeader": "Secret key multibase \"{secretKeyMultibase}\" is missing the multi codec header"
526
530
  },
527
- "silentTelemetryConnector": {
528
- "notSupported": "The method \"{methodName}\" is not supported on silent telemetry connector."
531
+ "multiTelemetryConnector": {
532
+ "notSupported": "The method \"{methodName}\" is not supported on multi telemetry connector."
529
533
  },
530
534
  "verificationHelper": {
531
535
  "jwtDecodeFailed": "Decoding the JWT failed",
532
- "proofMissingVerificationMethod": "The proof is missing the verification method"
536
+ "proofMissingVerificationMethod": "The proof is missing the verification method",
537
+ "credentialNotYetValid": "The credential is not valid until \"{validFrom}\"",
538
+ "credentialExpired": "The credential expired at \"{validUntil}\"",
539
+ "credentialValidityDateInvalid": "The credential validity date is not a valid ISO 8601 timestamp \"{date}\""
533
540
  },
534
541
  "documentHelper": {
535
542
  "verificationMethodNotFound": "The verification method \"{methodName}\" of type \"{methodType}\" could not be found",
@@ -543,6 +550,9 @@
543
550
  "destroyFailed": "The destruction of the attestation failed",
544
551
  "namespaceMismatch": "The namespace in the urn \"{id}\" does not match the namespace of the attestation service \"{namespace}\""
545
552
  },
553
+ "spanHelper": {
554
+ "traceFlagsOutOfRange": "The trace flags value \"{traceFlags}\" is outside the valid range 0 to 255"
555
+ },
546
556
  "auditableItemGraphService": {
547
557
  "namespaceMismatch": "The namespace in the urn \"{id}\" does not match the namespace of the Auditable Item Graph service \"{namespace}\"",
548
558
  "createFailed": "Creating the Auditable Item Graph vertex failed",
@@ -592,11 +602,11 @@
592
602
  "actionTypeNotFound": "Action type \"{actionType}\" not found for trigger \"{trigger}\""
593
603
  },
594
604
  "taskSchedulerService": {
595
- "taskFailed": "Task with id \"{id}\" failed to run"
605
+ "taskFailed": "Task with id \"{id}\" failed after {duration} ms"
596
606
  },
597
607
  "backgroundTaskService": {
598
608
  "namespaceMismatch": "The namespace in the urn \"{id}\" does not match the namespace of the entity storage background task \"{namespace}\"",
599
- "completeFailed": "Failed to complete processing task \"{id}\" with type \"{type}\" with status \"{status}\"",
609
+ "completeFailed": "Failed to complete processing task \"{id}\" with type \"{type}\" with status \"{status}\" in {duration} ms",
600
610
  "dispatchFailed": "Failed to dispatch task \"{taskId}\" with type \"{taskType}\"",
601
611
  "stateChangeCallbackFailed": "The state change callback failed for task \"{id}\" with type \"{type}\" and status \"{status}\"",
602
612
  "taskFinishedProcessingFailed": "Failed to finalise background task processing for task \"{id}\" with method \"{type}\"",
@@ -743,7 +753,8 @@
743
753
  "datasetWrongOrganization": "The calling organization does not own this dataset.",
744
754
  "transferWrongOrganization": "The calling organization does not own this transfer.",
745
755
  "invalidDatasetId": "Dataset ID \"{id}\" is not a valid URN or URL",
746
- "providerTransferTerminateFailed": "Failed to terminate a provider transfer for a lifecycle policy (consumerPid: {consumerPid})"
756
+ "providerTransferTerminateFailed": "Failed to terminate a provider transfer for a lifecycle policy (consumerPid: {consumerPid})",
757
+ "agreementSweepRemoveFailed": "Failed to remove an agreement during the sweep (agreementId: {agreementId})"
747
758
  },
748
759
  "dataspaceControlPlanePolicyRequester": {},
749
760
  "httpDataPullTransferHandler": {
@@ -901,6 +912,7 @@
901
912
  "getFailed": "Unable to get entity \"{id}\"",
902
913
  "removeFailed": "Unable to remove entity \"{id}\"",
903
914
  "databaseCreateFailed": "The database creation failed for \"{databaseName}\"",
915
+ "indexCreateFailed": "Unable to create index for property \"{property}\"",
904
916
  "unsupportedComparisonOperator": "Comparison operator \"{comparison}\" is not supported",
905
917
  "setBatchFailed": "Unable to set batch of entities",
906
918
  "removeBatchFailed": "Unable to remove batch of entities",
@@ -1018,6 +1030,7 @@
1018
1030
  "createVerifiablePresentationFailed": "Creating the verifiable presentation failed",
1019
1031
  "documentNotFound": "The document could not be found \"{notFoundId}\"",
1020
1032
  "invalidAlias": "The alias is invalid it must be a Url or Urn, it is \"{alias}\"",
1033
+ "issuerMismatch": "The credential issuer \"{issuer}\" does not match the DID of the proof verification method \"{method}\"",
1021
1034
  "jwkSignatureFailed": "The signature on the JWK failed verification",
1022
1035
  "methodMissing": "The verification method specified does not exist \"{method}\"",
1023
1036
  "missingDid": "The full id including DID is required",
@@ -1064,6 +1077,7 @@
1064
1077
  "gasStationTransactionBuildFailed": "Building the gas station transaction failed",
1065
1078
  "identityNotFound": "The identity could not be found \"{notFoundId}\"",
1066
1079
  "invalidAlias": "The alias is invalid it must be a Url or Urn, it is \"{alias}\"",
1080
+ "issuerMismatch": "The credential issuer \"{issuer}\" does not match the DID of the proof verification method \"{method}\"",
1067
1081
  "invalidSubjectId": "The subject id format is invalid it must be a Url or Urn, it is \"{subjectId}\"",
1068
1082
  "methodMissing": "The verification method specified does not exist \"{method}\"",
1069
1083
  "missingControllerToken": "The controller token is missing",
@@ -1123,7 +1137,8 @@
1123
1137
  "updateFailed": "Updating the identity profile failed \"{identity}\"",
1124
1138
  "notFound": "The identity profile could not be found \"{notFoundId}\"",
1125
1139
  "removeFailed": "Removing the identity profile failed \"{identity}\"",
1126
- "listFailed": "Failed listing identities"
1140
+ "listFailed": "Failed listing identities",
1141
+ "listAdminFailed": "Failed listing identities with private data"
1127
1142
  },
1128
1143
  "immutableProofService": {
1129
1144
  "namespaceMismatch": "The namespace in the urn \"{id}\" does not match the namespace of the Immutable Proof service \"{namespace}\"",
@@ -1368,7 +1383,13 @@
1368
1383
  "counterIncOnly": "A counter metric can only be incremented, or added to with an integer",
1369
1384
  "upDownCounterIncOrDecOnly": "An up/down counter metric can only be incremented, decremented or adjusted with an integer",
1370
1385
  "gaugeNoIncDec": "A gauge can not be incremented or decremented",
1371
- "maxHistoryMustBePositiveInteger": "The maxHistory option must be a positive integer"
1386
+ "maxHistoryMustBePositiveInteger": "The maxHistory option must be a positive integer",
1387
+ "flushFailed": "Failed to flush metric values to storage"
1388
+ },
1389
+ "openTelemetryTelemetryConnector": {
1390
+ "metricNotFound": "The metric could not be found \"{notFoundId}\"",
1391
+ "counterIncOnly": "A counter metric can only be incremented, or added to with an integer",
1392
+ "gaugeNoIncDec": "A gauge can not be incremented or decremented"
1372
1393
  },
1373
1394
  "metricsCollectorService": {
1374
1395
  "producerCollectionFailed": "Failed to collect metrics from producer \"{producer}\""
@@ -1376,12 +1397,13 @@
1376
1397
  "entityStorageTracingConnector": {
1377
1398
  "spanNotFound": "The span could not be found \"{notFoundId}\""
1378
1399
  },
1379
- "spanHelper": {
1380
- "traceFlagsOutOfRange": "The trace flags value \"{traceFlags}\" is outside the valid range 0 to 255"
1381
- },
1382
1400
  "openTelemetryTracingConnector": {
1383
1401
  "sampleRatioOutOfRange": "The sample ratio \"{sampleRatio}\" must be between 0 and 1"
1384
1402
  },
1403
+ "tracingRouteProcessor": {
1404
+ "startSpanFailed": "The span for the request could not be started",
1405
+ "endSpanFailed": "The span for the request could not be ended"
1406
+ },
1385
1407
  "tracingRoutes": {
1386
1408
  "spanIdMismatch": "The span id in the path \"{pathSpanId}\" does not match the span id in the body \"{bodySpanId}\""
1387
1409
  },
@@ -1456,7 +1478,9 @@
1456
1478
  "noRestProcessors": "You must configure at least one REST processor",
1457
1479
  "noSocketProcessors": "You must configure at least one socket processor",
1458
1480
  "postProcessorError": "There was a failure after in a post processor for route \"{route}\"",
1459
- "invalidPublicOrigin": "The public origin \"{publicOrigin}\" is not a valid origin URL, it should be in the format \"protocol://host[:port]\"."
1481
+ "invalidPublicOrigin": "The public origin \"{publicOrigin}\" is not a valid origin URL, it should be in the format \"protocol://host[:port]\".",
1482
+ "unknownBodyLimit": "The route \"{route}\" uses the body limit named \"{bodyLimit}\", which is not configured",
1483
+ "invalidBodyLimit": "The body limit named \"{bodyLimit}\" must be an integer greater than zero, but it is \"{value}\""
1460
1484
  },
1461
1485
  "restRouteProcessor": {
1462
1486
  "routeNotFound": "The web server could not find the REST route \"{notFoundId}\""
@@ -1502,6 +1526,37 @@
1502
1526
  "pushSubscriptionNotFoundForActivity": "Push subscription not found for outbound activity (consumerPid: {consumerPid})",
1503
1527
  "transferRetrievalRecordFailed": "Failed to record the transfer retrieval (consumerPid: {consumerPid})"
1504
1528
  },
1529
+ "cosmosDbEntityStorageConnector": {
1530
+ "partitionIdsSkipped": "Skipping partition ids whose depth does not match the {expected} configured partition keys: {partitionIds}. Entities in these partitions are ignored by migration."
1531
+ },
1532
+ "dynamoDbEntityStorageConnector": {
1533
+ "partitionIdsSkipped": "Skipping partition ids whose depth does not match the {expected} configured partition keys: {partitionIds}. Entities in these partitions are ignored by migration."
1534
+ },
1535
+ "fileEntityStorageConnector": {
1536
+ "partitionIdsSkipped": "Skipping partition ids whose depth does not match the {expected} configured partition keys: {partitionIds}. Entities in these partitions are ignored by migration."
1537
+ },
1538
+ "firestoreEntityStorageConnector": {
1539
+ "partitionIdsSkipped": "Skipping partition ids whose depth does not match the {expected} configured partition keys: {partitionIds}. Entities in these partitions are ignored by migration."
1540
+ },
1541
+ "memoryEntityStorageConnector": {
1542
+ "partitionIdsSkipped": "Skipping partition ids whose depth does not match the {expected} configured partition keys: {partitionIds}. Entities in these partitions are ignored by migration."
1543
+ },
1544
+ "mongoDbEntityStorageConnector": {
1545
+ "partitionIdsSkipped": "Skipping partition ids whose depth does not match the {expected} configured partition keys: {partitionIds}. Entities in these partitions are ignored by migration.",
1546
+ "indexOptionsConflict": "An index already exists on property \"{property}\" with incompatible options and will not be overwritten"
1547
+ },
1548
+ "mySqlEntityStorageConnector": {
1549
+ "partitionIdsSkipped": "Skipping partition ids whose depth does not match the {expected} configured partition keys: {partitionIds}. Entities in these partitions are ignored by migration."
1550
+ },
1551
+ "postgreSqlEntityStorageConnector": {
1552
+ "partitionIdsSkipped": "Skipping partition ids whose depth does not match the {expected} configured partition keys: {partitionIds}. Entities in these partitions are ignored by migration."
1553
+ },
1554
+ "scyllaDBTableConnector": {
1555
+ "partitionIdsSkipped": "Skipping partition ids whose depth does not match the {expected} configured partition keys: {partitionIds}. Entities in these partitions are ignored by migration."
1556
+ },
1557
+ "schemaVersionService": {
1558
+ "migrationDisabled": "Schema migration is disabled. Schema \"{schemaName}\" requires migration from version {from} to {to}. Continuing without migration may cause errors."
1559
+ },
1505
1560
  "immutableProofService": {
1506
1561
  "taskRecordRemoveFailed": "Removing the completed task record for proof \"{proofId}\" failed, the record will be removed when its retention expires",
1507
1562
  "orphanedTaskRemoveFailed": "Removing the background task \"{taskId}\" for proof \"{proofId}\" failed after the proof entity could not be persisted; the task will still run to completion",
@@ -2375,11 +2430,12 @@
2375
2430
  "taskSchedulerService": {
2376
2431
  "taskAdded": "Task with id \"{id}\" added",
2377
2432
  "taskRemoved": "Task with id \"{id}\" removed",
2378
- "taskTriggered": "Task with id \"{id}\" triggered at time \"{time}\""
2433
+ "taskTriggered": "Task with id \"{id}\" triggered at time \"{time}\"",
2434
+ "taskCompleted": "Task with id \"{id}\" completed in {duration} ms"
2379
2435
  },
2380
2436
  "backgroundTaskService": {
2381
2437
  "start": "Processing task \"{id}\" with type \"{type}\"",
2382
- "complete": "Completed processing task \"{id}\" with type \"{type}\" with status \"{status}\"",
2438
+ "complete": "Completed processing task \"{id}\" with type \"{type}\" with status \"{status}\" in {duration} ms",
2383
2439
  "initialisingWorker": "Initialising worker for task type \"{type}\"",
2384
2440
  "shutdownWorker": "Shutting down worker for task type \"{type}\""
2385
2441
  },
@@ -2441,7 +2497,9 @@
2441
2497
  "stalledTransfersCleanupComplete": "Stalled transfers cleanup completed (cleanedUp: {cleanedUp})",
2442
2498
  "providerTransferPolicySweepComplete": "Provider transfer policy sweep completed (terminated: {terminated})",
2443
2499
  "preparingTransfer": "Preparing consumer-initiated data transfer (agreementId: {agreementId}, providerEndpoint: {providerEndpoint}, format: {format})",
2444
- "transferPrepared": "Consumer data transfer prepared successfully (consumerPid: {consumerPid}, providerPid: {providerPid}, agreementId: {agreementId}, format: {format})"
2500
+ "transferPrepared": "Consumer data transfer prepared successfully (consumerPid: {consumerPid}, providerPid: {providerPid}, agreementId: {agreementId}, format: {format})",
2501
+ "agreementSwept": "Unused agreement removed by the sweep (agreementId: {agreementId}, reason: {reason})",
2502
+ "agreementSweepComplete": "Agreement sweep completed (scanned: {scanned}, skipped: {skipped}, candidates: {candidates}, swept: {swept})"
2445
2503
  },
2446
2504
  "dataspaceControlPlanePolicyRequester": {
2447
2505
  "offerReceived": "Offer received from provider (negotiationId: {negotiationId}, offerId: {offerId})",
@@ -2908,7 +2966,8 @@
2908
2966
  "auditableItemGraphService": {},
2909
2967
  "debug": {
2910
2968
  "dataspaceControlPlaneService": {
2911
- "engineCloneStart": "Skipping control plane startup tasks (engine clone or no engine)"
2969
+ "engineCloneStart": "Skipping control plane startup tasks (engine clone or no engine)",
2970
+ "agreementSweepSkipped": "Agreement excluded from the sweep (agreementId: {agreementId}, reason: {reason})"
2912
2971
  },
2913
2972
  "dataspaceDataPlaneService": {
2914
2973
  "newActivity": "New Activity of type \"{activityType}\" notified by \"{generator}\"",
package/docs/changelog.md CHANGED
@@ -1,5 +1,262 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.9.3-next.1](https://github.com/iotaledger/twin-node/compare/node-v0.9.3-next.0...node-v0.9.3-next.1) (2026-08-27)
4
+
5
+
6
+ ### Features
7
+
8
+ * add additional env vars ([#328](https://github.com/iotaledger/twin-node/issues/328)) ([6ca8718](https://github.com/iotaledger/twin-node/commit/6ca87184bc4d78829c957ea055d3c281aca6cf9f))
9
+ * add auth admin component ([1661e57](https://github.com/iotaledger/twin-node/commit/1661e57a699d5cf9ebde333e3cbc3aaea89d7c9c))
10
+ * add automation ([cfc63b4](https://github.com/iotaledger/twin-node/commit/cfc63b465c139280f696877df21d54dc6a065a7e))
11
+ * add CLI commands and remove automated bootstrap code ([#69](https://github.com/iotaledger/twin-node/issues/69)) ([6e40933](https://github.com/iotaledger/twin-node/commit/6e40933d8bb820b380e1074fc88feeedca0ef7d9))
12
+ * add cloud soak profile, disabled groups filter, and nightly GHA workflow ([#266](https://github.com/iotaledger/twin-node/issues/266)) ([6e8179c](https://github.com/iotaledger/twin-node/commit/6e8179c2dadbba8a2f0d577b44dc1ed9c8288046))
13
+ * add context id features ([#53](https://github.com/iotaledger/twin-node/issues/53)) ([827adf5](https://github.com/iotaledger/twin-node/commit/827adf52cb87fca53cec52b27e67f7a9dba2c088))
14
+ * add data space connector ([157e8b0](https://github.com/iotaledger/twin-node/commit/157e8b0a76e3a8a63c1991924f7f963eb83e27ae))
15
+ * add dsp sweep vars ([#340](https://github.com/iotaledger/twin-node/issues/340)) ([5487c13](https://github.com/iotaledger/twin-node/commit/5487c13197fcd386206ec37f9f342c55ec5b1176))
16
+ * add extensions support ([476d5a8](https://github.com/iotaledger/twin-node/commit/476d5a864026a2f78e5b02bc9eb81359777a4a45))
17
+ * add missing export ([e8eb621](https://github.com/iotaledger/twin-node/commit/e8eb6213937a202520b164a9970a891004122b61))
18
+ * add mutex settings ([#222](https://github.com/iotaledger/twin-node/issues/222)) ([492c55f](https://github.com/iotaledger/twin-node/commit/492c55f67d5f70c2a4a27dfdb2700a644ee87955))
19
+ * add notarization ([#121](https://github.com/iotaledger/twin-node/issues/121)) ([b2a11df](https://github.com/iotaledger/twin-node/commit/b2a11df92c7b5026f73f08a018c0586ebe008e92))
20
+ * add obligation enforcers and multi instance support ([#89](https://github.com/iotaledger/twin-node/issues/89)) ([d81af99](https://github.com/iotaledger/twin-node/commit/d81af99b8c4db6e9a1370b7065bf6d9d222c71ed))
21
+ * add rights management components ([0fc6293](https://github.com/iotaledger/twin-node/commit/0fc629332db24494bd73003625c7bf3f939a2597))
22
+ * add soak and load test harness for the node server with k6 and memory-growth detection ([#248](https://github.com/iotaledger/twin-node/issues/248)) ([5dc9193](https://github.com/iotaledger/twin-node/commit/5dc91931d448796f4dedbab912c73817a8041b11))
23
+ * add standalone federated catalogue example config and endpoint tests ([#235](https://github.com/iotaledger/twin-node/issues/235)) ([ffb51dd](https://github.com/iotaledger/twin-node/commit/ffb51ddda5188c2f21b8ce65343b39a28f4eee4b))
24
+ * add support for dynamodb connection timeout ([63051b0](https://github.com/iotaledger/twin-node/commit/63051b0d22138079115dfac921e7f0c45eaad34e))
25
+ * add synchronised storage config ([e315869](https://github.com/iotaledger/twin-node/commit/e315869adbffcd7fe5d3ce151dd35f662f6134a9))
26
+ * add tenant override ([#337](https://github.com/iotaledger/twin-node/issues/337)) ([b4ea765](https://github.com/iotaledger/twin-node/commit/b4ea7656e2557c19053365dd5d4af14d0d945cd5))
27
+ * add tracing ([#344](https://github.com/iotaledger/twin-node/issues/344)) ([4fa71cd](https://github.com/iotaledger/twin-node/commit/4fa71cd0eafd7d708df15c8f0a85323fecd05561))
28
+ * add tracing console connector ([#373](https://github.com/iotaledger/twin-node/issues/373)) ([fb36cb8](https://github.com/iotaledger/twin-node/commit/fb36cb8bebc2e8c1b94fa332cead8283ca5d636a))
29
+ * add tracing support ([a4986fc](https://github.com/iotaledger/twin-node/commit/a4986fc4af603ee461ec8d18ff502dddbc43edec))
30
+ * add trust and rights management plugin support ([cdeb504](https://github.com/iotaledger/twin-node/commit/cdeb504ee5986a347466162b9afa781645b4a54c))
31
+ * add trust ttl ([#73](https://github.com/iotaledger/twin-node/issues/73)) ([911cee7](https://github.com/iotaledger/twin-node/commit/911cee771bba490143bb1574ca8360f7cf8baa1a))
32
+ * add validate-locales ([1a19dcb](https://github.com/iotaledger/twin-node/commit/1a19dcb005c2f0e3103e290db28c48a3464094cb))
33
+ * add vault prefix configuration ([#75](https://github.com/iotaledger/twin-node/issues/75)) ([1d4afb1](https://github.com/iotaledger/twin-node/commit/1d4afb1b1a8aa60795898eeb9e7f5153c279527d))
34
+ * adding npm and https protocols to load extensions ([#45](https://github.com/iotaledger/twin-node/issues/45)) ([33940b7](https://github.com/iotaledger/twin-node/commit/33940b7e771a0c5af32c18d442deb26a8631fd02))
35
+ * additional cli commands ([#269](https://github.com/iotaledger/twin-node/issues/269)) ([c9e7c93](https://github.com/iotaledger/twin-node/commit/c9e7c939aedfceed9cbe501f2dc936e84289ed62))
36
+ * additional env vars and validation ([#324](https://github.com/iotaledger/twin-node/issues/324)) ([6b01e8c](https://github.com/iotaledger/twin-node/commit/6b01e8c10f9aa7181f51f13534d8164db3e7322d))
37
+ * additional options for enabling components ([e13d772](https://github.com/iotaledger/twin-node/commit/e13d7721a0dd7143d456fff246622cbe63dbd0f1))
38
+ * additional route logging env vars ([7152c88](https://github.com/iotaledger/twin-node/commit/7152c887c3ba76778e2d9e68ba57198b8d81d802))
39
+ * align node module with dataspace rename and control plane integ… ([#95](https://github.com/iotaledger/twin-node/issues/95)) ([8129868](https://github.com/iotaledger/twin-node/commit/812986886fb5d779dd380956c4e6cc47c2d73530))
40
+ * bootstrap-legacy rename ([#310](https://github.com/iotaledger/twin-node/issues/310)) ([53af8a2](https://github.com/iotaledger/twin-node/commit/53af8a2e797e90bb601416215247cd8649dd6220))
41
+ * configure web server body limits from the environment ([#356](https://github.com/iotaledger/twin-node/issues/356)) ([f196ad3](https://github.com/iotaledger/twin-node/commit/f196ad368559515184e37a99d6876570074ebcd5))
42
+ * custom REST paths ([#99](https://github.com/iotaledger/twin-node/issues/99)) ([dcab1b2](https://github.com/iotaledger/twin-node/commit/dcab1b2b23c13b4c9f39c3c1c67284f56e732bd1))
43
+ * dataspace plane path ([#272](https://github.com/iotaledger/twin-node/issues/272)) ([5998eeb](https://github.com/iotaledger/twin-node/commit/5998eeb6fa1392ae753eb6bafeccefa1fb690573))
44
+ * enable N2N dataspace protocol with synchronized storage ([#98](https://github.com/iotaledger/twin-node/issues/98)) ([f67e366](https://github.com/iotaledger/twin-node/commit/f67e366c5ed3c829955a62b19c420361f035a578))
45
+ * enhanced cli commands ([#288](https://github.com/iotaledger/twin-node/issues/288)) ([479fb34](https://github.com/iotaledger/twin-node/commit/479fb3448c493a134aee35b69ae39458e493a4ad))
46
+ * env var simplification ([460b0f2](https://github.com/iotaledger/twin-node/commit/460b0f20a73cb482f7443af502f261d5f9d01759))
47
+ * env var validation ([#243](https://github.com/iotaledger/twin-node/issues/243)) ([569945a](https://github.com/iotaledger/twin-node/commit/569945a751eb52d008a681777a3cba881af1b9a4))
48
+ * env vars consistency ([1823b7a](https://github.com/iotaledger/twin-node/commit/1823b7aeae5dc7484861534b851080afda64d869))
49
+ * env-prefix option and user-update cli command ([#83](https://github.com/iotaledger/twin-node/issues/83)) ([fc48efa](https://github.com/iotaledger/twin-node/commit/fc48efa7ad72173def048170c3afb5eeb9f1b292))
50
+ * eslint migration to flat config ([080db74](https://github.com/iotaledger/twin-node/commit/080db746390230f78725d214bc957da2efee9eb1))
51
+ * exclude unece codes from open api spec ([16b72f3](https://github.com/iotaledger/twin-node/commit/16b72f37af0d5aa107e5007741690a3fc043153a))
52
+ * expose gasBudget and gasReservationDuration as configurable env vars ([#286](https://github.com/iotaledger/twin-node/issues/286)) ([d678b27](https://github.com/iotaledger/twin-node/commit/d678b27d629930a6ce85eeab9caf89d1187c3461))
53
+ * extend to 7-group weighted mix, fix REST paths + JSON-LD contexts ([#257](https://github.com/iotaledger/twin-node/issues/257)) ([d9f8d55](https://github.com/iotaledger/twin-node/commit/d9f8d55d389a82947b7a0297f44f76f7f6b3ba21))
54
+ * federated catalogue trust mode ([#194](https://github.com/iotaledger/twin-node/issues/194)) ([c18e6fb](https://github.com/iotaledger/twin-node/commit/c18e6fbe0014eb5faf8084d16169d86f3d3b23a6))
55
+ * file logging config ([#287](https://github.com/iotaledger/twin-node/issues/287)) ([a567b25](https://github.com/iotaledger/twin-node/commit/a567b253cbb8b9af872bb0e494c013212f4f55a2))
56
+ * first metrics in the core and app for testing ([#139](https://github.com/iotaledger/twin-node/issues/139)) ([abe17bb](https://github.com/iotaledger/twin-node/commit/abe17bb9a6261dcb7fd46253221182fbb1dc2259))
57
+ * health and url transformer ([#131](https://github.com/iotaledger/twin-node/issues/131)) ([3658903](https://github.com/iotaledger/twin-node/commit/36589036b9bea120880fc395b0d123a89032cf40))
58
+ * identity profile information source ([dbb53d1](https://github.com/iotaledger/twin-node/commit/dbb53d145f517070d864f37650a6dbc1f3e9c3a8))
59
+ * immutable proof config ([#307](https://github.com/iotaledger/twin-node/issues/307)) ([9257495](https://github.com/iotaledger/twin-node/commit/92574953329647756aa6ab4cca80b1707e14a33f))
60
+ * immutable proof gate and additional config ([#157](https://github.com/iotaledger/twin-node/issues/157)) ([1d1fbb7](https://github.com/iotaledger/twin-node/commit/1d1fbb7c53525af848761dc25b42e9e676929972))
61
+ * improve bootstrapping and shutdown behaviour ([#66](https://github.com/iotaledger/twin-node/issues/66)) ([65b3452](https://github.com/iotaledger/twin-node/commit/65b345240334bfff48b52e136cc486cd7ac7f290))
62
+ * improve node logging ([c25b9c6](https://github.com/iotaledger/twin-node/commit/c25b9c6779bdb76f341df072c39b4c2fae4565a3))
63
+ * improved cli commands ([#206](https://github.com/iotaledger/twin-node/issues/206)) ([cf00850](https://github.com/iotaledger/twin-node/commit/cf0085023a66e187aaaaf3889128c845c73a1faf))
64
+ * migration options ([#293](https://github.com/iotaledger/twin-node/issues/293)) ([91acc88](https://github.com/iotaledger/twin-node/commit/91acc881f665be0177b2e895e2810dd4d6145105))
65
+ * migration testing ([#199](https://github.com/iotaledger/twin-node/issues/199)) ([97a731c](https://github.com/iotaledger/twin-node/commit/97a731c520d66ab0588d80987a0f88d388ce51ae))
66
+ * multi-tenant env wiring, trust auto-enable, tenant-token vault key, engine-driven callbackPath ([#128](https://github.com/iotaledger/twin-node/issues/128)) ([0de4d35](https://github.com/iotaledger/twin-node/commit/0de4d356fb2f825afae5469005d475700f510ee4))
67
+ * new tenant auth mechanisms ([#168](https://github.com/iotaledger/twin-node/issues/168)) ([686f111](https://github.com/iotaledger/twin-node/commit/686f1118e79e6f26a8dc72a5e9172584057f4518))
68
+ * organization identifiers ([#203](https://github.com/iotaledger/twin-node/issues/203)) ([1a6b176](https://github.com/iotaledger/twin-node/commit/1a6b1760d9f8e43a769407668426c70e1c8e1aa8))
69
+ * pool env vars ([#331](https://github.com/iotaledger/twin-node/issues/331)) ([338ea61](https://github.com/iotaledger/twin-node/commit/338ea612b37aa4d15971c8a09def47bee9395d0c))
70
+ * remove dap and darp ([36c3ffb](https://github.com/iotaledger/twin-node/commit/36c3ffb31af65a0e3025859dab675efeee043155))
71
+ * remove set-tenant ([#186](https://github.com/iotaledger/twin-node/issues/186)) ([1fc1909](https://github.com/iotaledger/twin-node/commit/1fc1909e6335dea51dfec3bb91fba4badaa9790a))
72
+ * rest metrics ([#341](https://github.com/iotaledger/twin-node/issues/341)) ([ebec573](https://github.com/iotaledger/twin-node/commit/ebec5736bb66adfd97f7d73912bec1ce7392e5f8))
73
+ * separate script directory from exec directory ([f6bb4db](https://github.com/iotaledger/twin-node/commit/f6bb4dbea1f1e200e0640fa154c6997ef99c99b4))
74
+ * silent telemetry and tracing options ([#351](https://github.com/iotaledger/twin-node/issues/351)) ([3a5752f](https://github.com/iotaledger/twin-node/commit/3a5752fc0bf8a028b3ebfc34878524ac799fb81e))
75
+ * support multiple entity and blob storage connectors ([a489f79](https://github.com/iotaledger/twin-node/commit/a489f7907544aef5708d5111e9f72985e1377bae))
76
+ * support public origin and hosting service ([#77](https://github.com/iotaledger/twin-node/issues/77)) ([3b9039f](https://github.com/iotaledger/twin-node/commit/3b9039fcba7f7038c06f8fd6a5ccc9fdbbf535b3))
77
+ * telemetry batching ([#347](https://github.com/iotaledger/twin-node/issues/347)) ([5d5b0a9](https://github.com/iotaledger/twin-node/commit/5d5b0a91396298fe774ae26193b0595875cd118a))
78
+ * telemetry tracing multi ([#357](https://github.com/iotaledger/twin-node/issues/357)) ([b6412ac](https://github.com/iotaledger/twin-node/commit/b6412ac3141a94a0f9f7d1dd391451ac9247e862))
79
+ * typescript 6 update ([ce2e3ca](https://github.com/iotaledger/twin-node/commit/ce2e3ca5219587709f7b9cf6c65909b48fba11b5))
80
+ * update background tasks and add fedcat filters ([1fd297e](https://github.com/iotaledger/twin-node/commit/1fd297e29f60b5bb3909638b68e326c5b0e2d77d))
81
+ * update dependencies ([64c8ea8](https://github.com/iotaledger/twin-node/commit/64c8ea8c8b5e918f7ad419c4e3b8d08faf5e3fdd))
82
+ * update dependencies ([aab05b5](https://github.com/iotaledger/twin-node/commit/aab05b552152a208a504fb9a080603f1990d4f79))
83
+ * update dependencies ([6cb3d3a](https://github.com/iotaledger/twin-node/commit/6cb3d3a63f7b976f80074ddecfba034b7e92f919))
84
+ * update dependencies ([351f777](https://github.com/iotaledger/twin-node/commit/351f777e001bf4183762657fc565b133a317600a))
85
+ * update dependencies ([#316](https://github.com/iotaledger/twin-node/issues/316)) ([f3fe328](https://github.com/iotaledger/twin-node/commit/f3fe3281a80f34763c923eacca58364273a550b7))
86
+ * update docs ([61e5a00](https://github.com/iotaledger/twin-node/commit/61e5a004089a0c11ec03e354b076604ecdeb4817))
87
+ * update docs ([409126a](https://github.com/iotaledger/twin-node/commit/409126a1325998face4634426b71682944c6a504))
88
+ * update document management components ([ed2c065](https://github.com/iotaledger/twin-node/commit/ed2c065a5030a7233f3623818d7325d85654ef0d))
89
+ * update engine ([a40b377](https://github.com/iotaledger/twin-node/commit/a40b37726c3b61c6bb40265ec0006d1071ffac7e))
90
+ * update engine ([4b438e2](https://github.com/iotaledger/twin-node/commit/4b438e22c27d784ee6cc964b7cb4401e9699ab16))
91
+ * update for livez endpoint ([9fc2e6a](https://github.com/iotaledger/twin-node/commit/9fc2e6ade38b3ec9591399a633d02b1e5fe07910))
92
+ * update framework components ([4bee2b9](https://github.com/iotaledger/twin-node/commit/4bee2b9d3651df09b8550a9ed226be1b46031854))
93
+ * update framework core ([8bd769a](https://github.com/iotaledger/twin-node/commit/8bd769a4451f5f1f6be3f115a5e94eeb05bce7f1))
94
+ * update logging retention units in config ([0b9bb69](https://github.com/iotaledger/twin-node/commit/0b9bb696db0722f6b33e37e1ebd1f4d6ffbcf7cc))
95
+ * update rights management ([5c992c6](https://github.com/iotaledger/twin-node/commit/5c992c6b0d72f3eeaa39ee267e096d9a3f477f4e))
96
+ * update rights management components ([176a0d6](https://github.com/iotaledger/twin-node/commit/176a0d611f88360fc845ae233b26ee0b43d7cb23))
97
+ * update to latest engine ([00d4974](https://github.com/iotaledger/twin-node/commit/00d4974f9cfb02bf48505cfb4af4a7aba1df4b3d))
98
+ * update twindev schemas ([b7bb6ba](https://github.com/iotaledger/twin-node/commit/b7bb6ba308eaf10b66d349ada8f3880f15b31e0f))
99
+ * updated context id features ([ef7be07](https://github.com/iotaledger/twin-node/commit/ef7be07d44dccdeacf10f90cb4ffde0303faa6fa))
100
+
101
+
102
+ ### Bug Fixes
103
+
104
+ * improve calculation of execution directory ([106d65d](https://github.com/iotaledger/twin-node/commit/106d65d7ad5524e2e147b681d68f9476c024cfaa))
105
+ * stalled timeout now is provided in seconds ([#241](https://github.com/iotaledger/twin-node/issues/241)) ([ebd827d](https://github.com/iotaledger/twin-node/commit/ebd827d02a9a4f8ad4f4c84d064d02831ef015cb))
106
+ * update dependencies ([#283](https://github.com/iotaledger/twin-node/issues/283)) ([053c53d](https://github.com/iotaledger/twin-node/commit/053c53d45ec233e6936e56f8de8d5a5346ad2242))
107
+ * wire includeErrorStack debug flag into auth and tenant processor configs ([#313](https://github.com/iotaledger/twin-node/issues/313)) ([3c69c51](https://github.com/iotaledger/twin-node/commit/3c69c51bfdd65305efe2fbe9da508e684a4245d1))
108
+
109
+
110
+ ### Dependencies
111
+
112
+ * The following workspace dependencies were updated
113
+ * dependencies
114
+ * @twin.org/node-core bumped from 0.9.3-next.0 to 0.9.3-next.1
115
+
116
+ ## [0.9.2](https://github.com/iotaledger/twin-node/compare/node-v0.9.2...node-v0.9.2) (2026-08-24)
117
+
118
+
119
+ ### Features
120
+
121
+ * add auth admin component ([1661e57](https://github.com/iotaledger/twin-node/commit/1661e57a699d5cf9ebde333e3cbc3aaea89d7c9c))
122
+ * add extend engine and server methods ([ec09c7e](https://github.com/iotaledger/twin-node/commit/ec09c7eb882d9f5797f2fd372e96cad1a3716f59))
123
+ * add extend engine and server methods ([0136a6f](https://github.com/iotaledger/twin-node/commit/0136a6f3f4e1a82b1427ee9618b8a17c79bc7fda))
124
+ * add fedcat to openapi ([eac69bd](https://github.com/iotaledger/twin-node/commit/eac69bdf94a22c35fe58e7523d9cf78bdc72eb7b))
125
+ * add updated config vars ([ebe8178](https://github.com/iotaledger/twin-node/commit/ebe81788ce53ddf3d6925a5f2f6dac381f84f06c))
126
+ * improve default options and spec ([b538721](https://github.com/iotaledger/twin-node/commit/b538721902e7f65021d2715148ba59409ccce035))
127
+ * initial commit ([522f1e5](https://github.com/iotaledger/twin-node/commit/522f1e515348f9b1dd1eeb3170b1249e2b0b5371))
128
+ * migrate env config from engine to node ([5da29b8](https://github.com/iotaledger/twin-node/commit/5da29b8d714495308320d237a68e84355bba2b47))
129
+ * node app use JavaScript ([14fe08c](https://github.com/iotaledger/twin-node/commit/14fe08cb760dd885a5dac9056a4d5dbc3d61df64))
130
+ * release to production ([6319a38](https://github.com/iotaledger/twin-node/commit/6319a38490a2c2809622f8acd170cb92bfa06942))
131
+ * release to production ([4f44403](https://github.com/iotaledger/twin-node/commit/4f444039832edce8fae562baa7c900ccdc2181da))
132
+ * release to production ([2d96e37](https://github.com/iotaledger/twin-node/commit/2d96e3737bd9663bc0d1171c2ff2c7f8b2ab01bb))
133
+ * release to production ([#253](https://github.com/iotaledger/twin-node/issues/253)) ([230efd0](https://github.com/iotaledger/twin-node/commit/230efd0f99af6114e707999b4c1a83a391cc1741))
134
+ * release to production ([#300](https://github.com/iotaledger/twin-node/issues/300)) ([4d2b09f](https://github.com/iotaledger/twin-node/commit/4d2b09f92c7815ad3fe48d54eca0972fefc782f7))
135
+ * release to production ([#364](https://github.com/iotaledger/twin-node/issues/364)) ([dbba3db](https://github.com/iotaledger/twin-node/commit/dbba3dbf3d9efb858b0ea28aaf88378964fcf08e))
136
+ * update dependencies ([9d25f16](https://github.com/iotaledger/twin-node/commit/9d25f16f1d554cd38f3bec28fdf7f8fff892ceaf))
137
+ * update spec generation config ([cff633a](https://github.com/iotaledger/twin-node/commit/cff633a0ffb73ad652d5f1bae653fa91e82dc8ab))
138
+
139
+
140
+ ### Bug Fixes
141
+
142
+ * adding a condition to verify if the password exists when bootstrapping ([6030a42](https://github.com/iotaledger/twin-node/commit/6030a42bdaf581678d96932fd0b809396bf7b8b0))
143
+ * adding a condition to verify if the password exists when bootstrapping ([c66f396](https://github.com/iotaledger/twin-node/commit/c66f396717394161a7647d1f08b3d87729d96e96))
144
+ * broken docs ([61479fd](https://github.com/iotaledger/twin-node/commit/61479fd618f766d22c5aafec5277e1a89e22b453))
145
+
146
+ ## [0.9.2-next.17](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.16...node-v0.9.2-next.17) (2026-08-24)
147
+
148
+
149
+ ### Miscellaneous Chores
150
+
151
+ * **node:** Synchronize repo versions
152
+
153
+
154
+ ### Dependencies
155
+
156
+ * The following workspace dependencies were updated
157
+ * dependencies
158
+ * @twin.org/node-core bumped from 0.9.2-next.16 to 0.9.2-next.17
159
+
160
+ ## [0.9.2-next.16](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.15...node-v0.9.2-next.16) (2026-08-21)
161
+
162
+
163
+ ### Features
164
+
165
+ * configure web server body limits from the environment ([#356](https://github.com/iotaledger/twin-node/issues/356)) ([f196ad3](https://github.com/iotaledger/twin-node/commit/f196ad368559515184e37a99d6876570074ebcd5))
166
+ * telemetry tracing multi ([#357](https://github.com/iotaledger/twin-node/issues/357)) ([b6412ac](https://github.com/iotaledger/twin-node/commit/b6412ac3141a94a0f9f7d1dd391451ac9247e862))
167
+
168
+
169
+ ### Dependencies
170
+
171
+ * The following workspace dependencies were updated
172
+ * dependencies
173
+ * @twin.org/node-core bumped from 0.9.2-next.15 to 0.9.2-next.16
174
+
175
+ ## [0.9.2-next.15](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.14...node-v0.9.2-next.15) (2026-08-20)
176
+
177
+
178
+ ### Features
179
+
180
+ * silent telemetry and tracing options ([#351](https://github.com/iotaledger/twin-node/issues/351)) ([3a5752f](https://github.com/iotaledger/twin-node/commit/3a5752fc0bf8a028b3ebfc34878524ac799fb81e))
181
+
182
+
183
+ ### Dependencies
184
+
185
+ * The following workspace dependencies were updated
186
+ * dependencies
187
+ * @twin.org/node-core bumped from 0.9.2-next.14 to 0.9.2-next.15
188
+
189
+ ## [0.9.2-next.14](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.13...node-v0.9.2-next.14) (2026-08-19)
190
+
191
+
192
+ ### Features
193
+
194
+ * telemetry batching ([#347](https://github.com/iotaledger/twin-node/issues/347)) ([5d5b0a9](https://github.com/iotaledger/twin-node/commit/5d5b0a91396298fe774ae26193b0595875cd118a))
195
+
196
+
197
+ ### Dependencies
198
+
199
+ * The following workspace dependencies were updated
200
+ * dependencies
201
+ * @twin.org/node-core bumped from 0.9.2-next.13 to 0.9.2-next.14
202
+
203
+ ## [0.9.2-next.13](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.12...node-v0.9.2-next.13) (2026-08-18)
204
+
205
+
206
+ ### Features
207
+
208
+ * add tracing ([#344](https://github.com/iotaledger/twin-node/issues/344)) ([4fa71cd](https://github.com/iotaledger/twin-node/commit/4fa71cd0eafd7d708df15c8f0a85323fecd05561))
209
+
210
+
211
+ ### Dependencies
212
+
213
+ * The following workspace dependencies were updated
214
+ * dependencies
215
+ * @twin.org/node-core bumped from 0.9.2-next.12 to 0.9.2-next.13
216
+
217
+ ## [0.9.2-next.12](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.11...node-v0.9.2-next.12) (2026-08-17)
218
+
219
+
220
+ ### Features
221
+
222
+ * add dsp sweep vars ([#340](https://github.com/iotaledger/twin-node/issues/340)) ([5487c13](https://github.com/iotaledger/twin-node/commit/5487c13197fcd386206ec37f9f342c55ec5b1176))
223
+ * rest metrics ([#341](https://github.com/iotaledger/twin-node/issues/341)) ([ebec573](https://github.com/iotaledger/twin-node/commit/ebec5736bb66adfd97f7d73912bec1ce7392e5f8))
224
+
225
+
226
+ ### Dependencies
227
+
228
+ * The following workspace dependencies were updated
229
+ * dependencies
230
+ * @twin.org/node-core bumped from 0.9.2-next.11 to 0.9.2-next.12
231
+
232
+ ## [0.9.2-next.11](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.10...node-v0.9.2-next.11) (2026-08-14)
233
+
234
+
235
+ ### Features
236
+
237
+ * add tenant override ([#337](https://github.com/iotaledger/twin-node/issues/337)) ([b4ea765](https://github.com/iotaledger/twin-node/commit/b4ea7656e2557c19053365dd5d4af14d0d945cd5))
238
+
239
+
240
+ ### Dependencies
241
+
242
+ * The following workspace dependencies were updated
243
+ * dependencies
244
+ * @twin.org/node-core bumped from 0.9.2-next.10 to 0.9.2-next.11
245
+
246
+ ## [0.9.2-next.10](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.9...node-v0.9.2-next.10) (2026-08-12)
247
+
248
+
249
+ ### Miscellaneous Chores
250
+
251
+ * **node:** Synchronize repo versions
252
+
253
+
254
+ ### Dependencies
255
+
256
+ * The following workspace dependencies were updated
257
+ * dependencies
258
+ * @twin.org/node-core bumped from 0.9.2-next.9 to 0.9.2-next.10
259
+
3
260
  ## [0.9.2-next.9](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.8...node-v0.9.2-next.9) (2026-08-12)
4
261
 
5
262
 
@@ -5085,6 +5085,463 @@
5085
5085
  }
5086
5086
  }
5087
5087
  },
5088
+ "/identity/profile/{userIdentity}": {
5089
+ "get": {
5090
+ "operationId": "identityProfileAdminGet",
5091
+ "summary": "Get the identity profile properties of another user",
5092
+ "tags": [
5093
+ "Identity Profile"
5094
+ ],
5095
+ "parameters": [
5096
+ {
5097
+ "name": "userIdentity",
5098
+ "description": "The identity of the user whose profile is to be retrieved.",
5099
+ "in": "path",
5100
+ "required": true,
5101
+ "schema": {
5102
+ "type": "string"
5103
+ },
5104
+ "style": "simple",
5105
+ "example": "did:iota:tst:0xc57d94b088f4c6d2cb32ded014813d0c786aa00134c8ee22f84b1e2545602a70"
5106
+ },
5107
+ {
5108
+ "name": "publicPropertyNames",
5109
+ "description": "The public properties to get for the profile, defaults to all, should be a comma separated list.",
5110
+ "in": "query",
5111
+ "required": false,
5112
+ "schema": {
5113
+ "type": "string"
5114
+ },
5115
+ "example": "name,jobTitle"
5116
+ },
5117
+ {
5118
+ "name": "privatePropertyNames",
5119
+ "description": "The private properties to get for the profile, defaults to all, should be a comma separated list.",
5120
+ "in": "query",
5121
+ "required": false,
5122
+ "schema": {
5123
+ "type": "string"
5124
+ }
5125
+ }
5126
+ ],
5127
+ "security": [
5128
+ {
5129
+ "jwtBearerAuthScheme": []
5130
+ }
5131
+ ],
5132
+ "responses": {
5133
+ "200": {
5134
+ "description": "Response to get an identity details.",
5135
+ "content": {
5136
+ "application/json": {
5137
+ "schema": {
5138
+ "$ref": "#/components/schemas/IdentityProfileGetResponse"
5139
+ },
5140
+ "examples": {
5141
+ "identityProfileAdminGetResponseExample": {
5142
+ "value": {
5143
+ "identity": "did:iota:tst:0xc57d94b088f4c6d2cb32ded014813d0c786aa00134c8ee22f84b1e2545602a70",
5144
+ "publicProfile": {
5145
+ "@context": "https://schema.org",
5146
+ "@type": "Person",
5147
+ "jobTitle": "Professor",
5148
+ "name": "Jane Doe"
5149
+ }
5150
+ }
5151
+ }
5152
+ }
5153
+ }
5154
+ }
5155
+ },
5156
+ "400": {
5157
+ "description": "The server cannot process the request, see the content for more details.",
5158
+ "content": {
5159
+ "application/json": {
5160
+ "schema": {
5161
+ "$ref": "#/components/schemas/Error"
5162
+ },
5163
+ "examples": {
5164
+ "exampleResponse": {
5165
+ "value": {
5166
+ "name": "GeneralError",
5167
+ "message": "errorMessage",
5168
+ "properties": {
5169
+ "foo": "bar"
5170
+ }
5171
+ }
5172
+ }
5173
+ }
5174
+ }
5175
+ }
5176
+ },
5177
+ "401": {
5178
+ "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
5179
+ "content": {
5180
+ "application/json": {
5181
+ "schema": {
5182
+ "$ref": "#/components/schemas/Error"
5183
+ },
5184
+ "examples": {
5185
+ "exampleResponse": {
5186
+ "value": {
5187
+ "name": "UnauthorizedError",
5188
+ "message": "errorMessage"
5189
+ }
5190
+ }
5191
+ }
5192
+ }
5193
+ }
5194
+ },
5195
+ "403": {
5196
+ "description": "The operation that you tried to perform is not possible, see the content for more details.",
5197
+ "content": {
5198
+ "application/json": {
5199
+ "schema": {
5200
+ "$ref": "#/components/schemas/Error"
5201
+ },
5202
+ "examples": {
5203
+ "exampleResponse": {
5204
+ "value": {
5205
+ "name": "ForbiddenError",
5206
+ "message": "errorMessage",
5207
+ "properties": {
5208
+ "foo": "bar"
5209
+ }
5210
+ }
5211
+ }
5212
+ }
5213
+ }
5214
+ }
5215
+ },
5216
+ "404": {
5217
+ "description": "The resource you tried to access does not exist, see the content for more details.",
5218
+ "content": {
5219
+ "application/json": {
5220
+ "schema": {
5221
+ "$ref": "#/components/schemas/NotFoundResponse"
5222
+ },
5223
+ "examples": {
5224
+ "exampleResponse": {
5225
+ "value": {
5226
+ "name": "NotFoundError",
5227
+ "message": "errorMessage",
5228
+ "properties": {
5229
+ "notFoundId": "1"
5230
+ }
5231
+ }
5232
+ }
5233
+ }
5234
+ }
5235
+ }
5236
+ },
5237
+ "500": {
5238
+ "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
5239
+ "content": {
5240
+ "application/json": {
5241
+ "schema": {
5242
+ "$ref": "#/components/schemas/Error"
5243
+ },
5244
+ "examples": {
5245
+ "exampleResponse": {
5246
+ "value": {
5247
+ "name": "InternalServerError",
5248
+ "message": "errorMessage"
5249
+ }
5250
+ }
5251
+ }
5252
+ }
5253
+ }
5254
+ }
5255
+ }
5256
+ },
5257
+ "put": {
5258
+ "operationId": "identityProfileAdminUpdate",
5259
+ "summary": "Update the identity profile properties of another user",
5260
+ "tags": [
5261
+ "Identity Profile"
5262
+ ],
5263
+ "parameters": [
5264
+ {
5265
+ "name": "userIdentity",
5266
+ "description": "The identity of the user whose profile is to be updated.",
5267
+ "in": "path",
5268
+ "required": true,
5269
+ "schema": {
5270
+ "type": "string"
5271
+ },
5272
+ "style": "simple",
5273
+ "example": "did:iota:tst:0xc57d94b088f4c6d2cb32ded014813d0c786aa00134c8ee22f84b1e2545602a70"
5274
+ }
5275
+ ],
5276
+ "security": [
5277
+ {
5278
+ "jwtBearerAuthScheme": []
5279
+ }
5280
+ ],
5281
+ "requestBody": {
5282
+ "description": "Request to update the profile of another user as an admin.",
5283
+ "required": true,
5284
+ "content": {
5285
+ "application/json": {
5286
+ "schema": {
5287
+ "$ref": "#/components/schemas/IdentityProfileAdminUpdateRequest"
5288
+ },
5289
+ "examples": {
5290
+ "identityProfileAdminUpdateRequestExample": {
5291
+ "value": {
5292
+ "publicProfile": {
5293
+ "@context": "https://schema.org",
5294
+ "@type": "Person",
5295
+ "jobTitle": "Professor",
5296
+ "name": "Jane Doe"
5297
+ },
5298
+ "privateProfile": {
5299
+ "@context": "https://schema.org",
5300
+ "@type": "Person",
5301
+ "telephone": "(425) 123-4567",
5302
+ "url": "http://www.janedoe.com"
5303
+ }
5304
+ }
5305
+ }
5306
+ }
5307
+ }
5308
+ }
5309
+ },
5310
+ "responses": {
5311
+ "204": {
5312
+ "description": "The rest request ended in success with no data."
5313
+ },
5314
+ "400": {
5315
+ "description": "The server cannot process the request, see the content for more details.",
5316
+ "content": {
5317
+ "application/json": {
5318
+ "schema": {
5319
+ "$ref": "#/components/schemas/Error"
5320
+ },
5321
+ "examples": {
5322
+ "exampleResponse": {
5323
+ "value": {
5324
+ "name": "GeneralError",
5325
+ "message": "errorMessage",
5326
+ "properties": {
5327
+ "foo": "bar"
5328
+ }
5329
+ }
5330
+ }
5331
+ }
5332
+ }
5333
+ }
5334
+ },
5335
+ "401": {
5336
+ "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
5337
+ "content": {
5338
+ "application/json": {
5339
+ "schema": {
5340
+ "$ref": "#/components/schemas/Error"
5341
+ },
5342
+ "examples": {
5343
+ "exampleResponse": {
5344
+ "value": {
5345
+ "name": "UnauthorizedError",
5346
+ "message": "errorMessage"
5347
+ }
5348
+ }
5349
+ }
5350
+ }
5351
+ }
5352
+ },
5353
+ "403": {
5354
+ "description": "The operation that you tried to perform is not possible, see the content for more details.",
5355
+ "content": {
5356
+ "application/json": {
5357
+ "schema": {
5358
+ "$ref": "#/components/schemas/Error"
5359
+ },
5360
+ "examples": {
5361
+ "exampleResponse": {
5362
+ "value": {
5363
+ "name": "ForbiddenError",
5364
+ "message": "errorMessage",
5365
+ "properties": {
5366
+ "foo": "bar"
5367
+ }
5368
+ }
5369
+ }
5370
+ }
5371
+ }
5372
+ }
5373
+ },
5374
+ "404": {
5375
+ "description": "The resource you tried to access does not exist, see the content for more details.",
5376
+ "content": {
5377
+ "application/json": {
5378
+ "schema": {
5379
+ "$ref": "#/components/schemas/NotFoundResponse"
5380
+ },
5381
+ "examples": {
5382
+ "exampleResponse": {
5383
+ "value": {
5384
+ "name": "NotFoundError",
5385
+ "message": "errorMessage",
5386
+ "properties": {
5387
+ "notFoundId": "1"
5388
+ }
5389
+ }
5390
+ }
5391
+ }
5392
+ }
5393
+ }
5394
+ },
5395
+ "500": {
5396
+ "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
5397
+ "content": {
5398
+ "application/json": {
5399
+ "schema": {
5400
+ "$ref": "#/components/schemas/Error"
5401
+ },
5402
+ "examples": {
5403
+ "exampleResponse": {
5404
+ "value": {
5405
+ "name": "InternalServerError",
5406
+ "message": "errorMessage"
5407
+ }
5408
+ }
5409
+ }
5410
+ }
5411
+ }
5412
+ }
5413
+ }
5414
+ },
5415
+ "delete": {
5416
+ "operationId": "identityProfileAdminRemove",
5417
+ "summary": "Remove the identity profile of another user",
5418
+ "tags": [
5419
+ "Identity Profile"
5420
+ ],
5421
+ "parameters": [
5422
+ {
5423
+ "name": "userIdentity",
5424
+ "description": "The identity of the user whose profile is to be removed.",
5425
+ "in": "path",
5426
+ "required": true,
5427
+ "schema": {
5428
+ "type": "string"
5429
+ },
5430
+ "style": "simple",
5431
+ "example": "did:iota:tst:0xc57d94b088f4c6d2cb32ded014813d0c786aa00134c8ee22f84b1e2545602a70"
5432
+ }
5433
+ ],
5434
+ "security": [
5435
+ {
5436
+ "jwtBearerAuthScheme": []
5437
+ }
5438
+ ],
5439
+ "responses": {
5440
+ "204": {
5441
+ "description": "The rest request ended in success with no data."
5442
+ },
5443
+ "400": {
5444
+ "description": "The server cannot process the request, see the content for more details.",
5445
+ "content": {
5446
+ "application/json": {
5447
+ "schema": {
5448
+ "$ref": "#/components/schemas/Error"
5449
+ },
5450
+ "examples": {
5451
+ "exampleResponse": {
5452
+ "value": {
5453
+ "name": "GeneralError",
5454
+ "message": "errorMessage",
5455
+ "properties": {
5456
+ "foo": "bar"
5457
+ }
5458
+ }
5459
+ }
5460
+ }
5461
+ }
5462
+ }
5463
+ },
5464
+ "401": {
5465
+ "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
5466
+ "content": {
5467
+ "application/json": {
5468
+ "schema": {
5469
+ "$ref": "#/components/schemas/Error"
5470
+ },
5471
+ "examples": {
5472
+ "exampleResponse": {
5473
+ "value": {
5474
+ "name": "UnauthorizedError",
5475
+ "message": "errorMessage"
5476
+ }
5477
+ }
5478
+ }
5479
+ }
5480
+ }
5481
+ },
5482
+ "403": {
5483
+ "description": "The operation that you tried to perform is not possible, see the content for more details.",
5484
+ "content": {
5485
+ "application/json": {
5486
+ "schema": {
5487
+ "$ref": "#/components/schemas/Error"
5488
+ },
5489
+ "examples": {
5490
+ "exampleResponse": {
5491
+ "value": {
5492
+ "name": "ForbiddenError",
5493
+ "message": "errorMessage",
5494
+ "properties": {
5495
+ "foo": "bar"
5496
+ }
5497
+ }
5498
+ }
5499
+ }
5500
+ }
5501
+ }
5502
+ },
5503
+ "404": {
5504
+ "description": "The resource you tried to access does not exist, see the content for more details.",
5505
+ "content": {
5506
+ "application/json": {
5507
+ "schema": {
5508
+ "$ref": "#/components/schemas/NotFoundResponse"
5509
+ },
5510
+ "examples": {
5511
+ "exampleResponse": {
5512
+ "value": {
5513
+ "name": "NotFoundError",
5514
+ "message": "errorMessage",
5515
+ "properties": {
5516
+ "notFoundId": "1"
5517
+ }
5518
+ }
5519
+ }
5520
+ }
5521
+ }
5522
+ }
5523
+ },
5524
+ "500": {
5525
+ "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
5526
+ "content": {
5527
+ "application/json": {
5528
+ "schema": {
5529
+ "$ref": "#/components/schemas/Error"
5530
+ },
5531
+ "examples": {
5532
+ "exampleResponse": {
5533
+ "value": {
5534
+ "name": "InternalServerError",
5535
+ "message": "errorMessage"
5536
+ }
5537
+ }
5538
+ }
5539
+ }
5540
+ }
5541
+ }
5542
+ }
5543
+ }
5544
+ },
5088
5545
  "/identity/profile/{identity}/public": {
5089
5546
  "get": {
5090
5547
  "operationId": "identityProfileGetPublic",
@@ -5369,6 +5826,189 @@
5369
5826
  }
5370
5827
  }
5371
5828
  },
5829
+ "/identity/profile/admin/query": {
5830
+ "get": {
5831
+ "operationId": "identitiesProfileAdminList",
5832
+ "summary": "Get the list of profile data for identities including private properties",
5833
+ "tags": [
5834
+ "Identity Profile"
5835
+ ],
5836
+ "parameters": [
5837
+ {
5838
+ "name": "publicFilters",
5839
+ "description": "The public filters to apply to the list, comma separated list with colon between key and value for each pair e.g. prop1:value1,prop2:value2.",
5840
+ "in": "query",
5841
+ "required": false,
5842
+ "schema": {
5843
+ "type": "string"
5844
+ }
5845
+ },
5846
+ {
5847
+ "name": "privateFilters",
5848
+ "description": "The private filters to apply to the list, comma separated list with colon between key and value for each pair e.g. prop1:value1,prop2:value2.",
5849
+ "in": "query",
5850
+ "required": false,
5851
+ "schema": {
5852
+ "type": "string"
5853
+ }
5854
+ },
5855
+ {
5856
+ "name": "publicPropertyNames",
5857
+ "description": "The public properties to get for the profile, defaults to all, should be a comma separated list.",
5858
+ "in": "query",
5859
+ "required": false,
5860
+ "schema": {
5861
+ "type": "string"
5862
+ }
5863
+ },
5864
+ {
5865
+ "name": "privatePropertyNames",
5866
+ "description": "The private properties to get for the profile, defaults to none, should be a comma separated list.",
5867
+ "in": "query",
5868
+ "required": false,
5869
+ "schema": {
5870
+ "type": "string"
5871
+ }
5872
+ },
5873
+ {
5874
+ "name": "cursor",
5875
+ "description": "The cursor for paged requests.",
5876
+ "in": "query",
5877
+ "required": false,
5878
+ "schema": {
5879
+ "type": "string"
5880
+ }
5881
+ },
5882
+ {
5883
+ "name": "limit",
5884
+ "description": "Number of items to return.",
5885
+ "in": "query",
5886
+ "required": false,
5887
+ "schema": {
5888
+ "type": "string"
5889
+ }
5890
+ }
5891
+ ],
5892
+ "security": [
5893
+ {
5894
+ "jwtBearerAuthScheme": []
5895
+ }
5896
+ ],
5897
+ "responses": {
5898
+ "200": {
5899
+ "description": "Response to get an admin list of identities including private profile data.",
5900
+ "content": {
5901
+ "application/json": {
5902
+ "schema": {
5903
+ "$ref": "#/components/schemas/IdentityProfileAdminListResponse"
5904
+ },
5905
+ "examples": {
5906
+ "identitiesProfileAdminListResponseExample": {
5907
+ "value": {
5908
+ "items": [
5909
+ {
5910
+ "identity": "did:iota:tst:0xc57d94b088f4c6d2cb32ded014813d0c786aa00134c8ee22f84b1e2545602a70",
5911
+ "publicProfile": {
5912
+ "@context": "https://schema.org",
5913
+ "@type": "Person",
5914
+ "jobTitle": "Professor",
5915
+ "name": "Jane Doe"
5916
+ },
5917
+ "privateProfile": {
5918
+ "@context": "https://schema.org",
5919
+ "@type": "Person",
5920
+ "telephone": "(425) 123-4567"
5921
+ }
5922
+ }
5923
+ ],
5924
+ "cursor": "1"
5925
+ }
5926
+ }
5927
+ }
5928
+ }
5929
+ }
5930
+ },
5931
+ "400": {
5932
+ "description": "The server cannot process the request, see the content for more details.",
5933
+ "content": {
5934
+ "application/json": {
5935
+ "schema": {
5936
+ "$ref": "#/components/schemas/Error"
5937
+ },
5938
+ "examples": {
5939
+ "exampleResponse": {
5940
+ "value": {
5941
+ "name": "GeneralError",
5942
+ "message": "errorMessage",
5943
+ "properties": {
5944
+ "foo": "bar"
5945
+ }
5946
+ }
5947
+ }
5948
+ }
5949
+ }
5950
+ }
5951
+ },
5952
+ "401": {
5953
+ "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
5954
+ "content": {
5955
+ "application/json": {
5956
+ "schema": {
5957
+ "$ref": "#/components/schemas/Error"
5958
+ },
5959
+ "examples": {
5960
+ "exampleResponse": {
5961
+ "value": {
5962
+ "name": "UnauthorizedError",
5963
+ "message": "errorMessage"
5964
+ }
5965
+ }
5966
+ }
5967
+ }
5968
+ }
5969
+ },
5970
+ "403": {
5971
+ "description": "The operation that you tried to perform is not possible, see the content for more details.",
5972
+ "content": {
5973
+ "application/json": {
5974
+ "schema": {
5975
+ "$ref": "#/components/schemas/Error"
5976
+ },
5977
+ "examples": {
5978
+ "exampleResponse": {
5979
+ "value": {
5980
+ "name": "ForbiddenError",
5981
+ "message": "errorMessage",
5982
+ "properties": {
5983
+ "foo": "bar"
5984
+ }
5985
+ }
5986
+ }
5987
+ }
5988
+ }
5989
+ }
5990
+ },
5991
+ "500": {
5992
+ "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
5993
+ "content": {
5994
+ "application/json": {
5995
+ "schema": {
5996
+ "$ref": "#/components/schemas/Error"
5997
+ },
5998
+ "examples": {
5999
+ "exampleResponse": {
6000
+ "value": {
6001
+ "name": "InternalServerError",
6002
+ "message": "errorMessage"
6003
+ }
6004
+ }
6005
+ }
6006
+ }
6007
+ }
6008
+ }
6009
+ }
6010
+ }
6011
+ },
5372
6012
  "/blob-storage": {
5373
6013
  "post": {
5374
6014
  "operationId": "blobStorageCreate",
@@ -18751,6 +19391,15 @@
18751
19391
  "type": "string"
18752
19392
  },
18753
19393
  "example": "optional-pagination-cursor"
19394
+ },
19395
+ {
19396
+ "name": "properties",
19397
+ "description": "Comma-separated list of policy property names to include in the response, the policy \"@id\" is always included.",
19398
+ "in": "query",
19399
+ "required": false,
19400
+ "schema": {
19401
+ "type": "string"
19402
+ }
18754
19403
  }
18755
19404
  ],
18756
19405
  "security": [
@@ -22124,6 +22773,10 @@
22124
22773
  {
22125
22774
  "const": "duration",
22126
22775
  "description": "Duration in seconds."
22776
+ },
22777
+ {
22778
+ "const": "array",
22779
+ "description": "Array."
22127
22780
  }
22128
22781
  ]
22129
22782
  },
@@ -22587,6 +23240,47 @@
22587
23240
  },
22588
23241
  "description": "The data for the request."
22589
23242
  },
23243
+ "IdentityProfileAdminListResponse": {
23244
+ "type": "object",
23245
+ "properties": {
23246
+ "items": {
23247
+ "type": "array",
23248
+ "items": {
23249
+ "type": "object",
23250
+ "properties": {
23251
+ "identity": {
23252
+ "type": "string",
23253
+ "description": "The identity."
23254
+ }
23255
+ },
23256
+ "required": [
23257
+ "identity"
23258
+ ]
23259
+ },
23260
+ "description": "The identities."
23261
+ },
23262
+ "cursor": {
23263
+ "type": "string",
23264
+ "description": "An optional cursor, when defined can be used to call find to get more entities."
23265
+ }
23266
+ },
23267
+ "required": [
23268
+ "items"
23269
+ ],
23270
+ "description": "The response payload."
23271
+ },
23272
+ "IdentityProfileAdminUpdateRequest": {
23273
+ "type": "object",
23274
+ "properties": {
23275
+ "publicProfile": {
23276
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdDocument"
23277
+ },
23278
+ "privateProfile": {
23279
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdDocument"
23280
+ }
23281
+ },
23282
+ "description": "The data for the request."
23283
+ },
22590
23284
  "IdentityProfileCreateRequest": {
22591
23285
  "type": "object",
22592
23286
  "properties": {
@@ -23833,8 +24527,7 @@
23833
24527
  }
23834
24528
  },
23835
24529
  "required": [
23836
- "metric",
23837
- "value"
24530
+ "metric"
23838
24531
  ],
23839
24532
  "description": "The body parameters."
23840
24533
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/node",
3
- "version": "0.9.2-next.9",
3
+ "version": "0.9.3-next.1",
4
4
  "description": "TWIN Node serving APIs using the specified configuration",
5
5
  "repository": {
6
6
  "type": "git",
@@ -14,7 +14,7 @@
14
14
  "node": ">=24.0.0"
15
15
  },
16
16
  "dependencies": {
17
- "@twin.org/node-core": "0.9.2-next.9"
17
+ "@twin.org/node-core": "0.9.3-next.1"
18
18
  },
19
19
  "bugs": {
20
20
  "url": "git+https://github.com/iotaledger/twin-node/issues"