@didit-protocol/sdk-node 2.13.1 → 2.15.0

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.
package/dist/index.js CHANGED
@@ -324,7 +324,7 @@ function decodeDates(value, plan, named, depth = 0) {
324
324
  }
325
325
 
326
326
  // src/core/version.ts
327
- var VERSION = "2.13.1";
327
+ var VERSION = "2.15.0";
328
328
 
329
329
  // src/core/runtime.ts
330
330
  function processLike() {
@@ -1632,6 +1632,7 @@ var DATE_PLANS = {
1632
1632
  p: { results: { i: { p: { biometric_template_expires_at: 1 } } } }
1633
1633
  },
1634
1634
  SessionsCreateKybPartyDraftResponse: { p: { created_at: 1, updated_at: 1 } },
1635
+ SessionsCreateResponse: { p: { expires_at: 1 } },
1635
1636
  SessionsDeleteResponse: { p: { biometric_template_expires_at: 1 } },
1636
1637
  SessionsImportsListActiveJobsResponse: { p: { results: { i: "ImportJobSummary" } } },
1637
1638
  SessionsImportsListErrorsResponse: { p: { results: { i: "SessionImportError" } } },
@@ -1716,7 +1717,8 @@ var DATE_PLANS = {
1716
1717
  data_unmasked: "TravelRuleDataUnmasked",
1717
1718
  counterparty_vasp: { p: { dd_assessed_at: 1 } },
1718
1719
  delivery: "TravelRuleDelivery",
1719
- discovery: { i: "TravelRuleDiscoveryStep" }
1720
+ discovery: { i: "TravelRuleDiscoveryStep" },
1721
+ user_choice: "TravelRuleUserChoice"
1720
1722
  }
1721
1723
  },
1722
1724
  TransactionNote: { p: { created_at: 1 } },
@@ -1728,7 +1730,8 @@ var DATE_PLANS = {
1728
1730
  counterparty_vasp: { p: { dd_assessed_at: 1 } },
1729
1731
  delivery: "TravelRuleDelivery",
1730
1732
  discovery: { i: "TravelRuleDiscoveryStep" },
1731
- deliveries: { i: "TravelRuleDeliveryLogEntry" }
1733
+ deliveries: { i: "TravelRuleDeliveryLogEntry" },
1734
+ user_choice: "TravelRuleUserChoice"
1732
1735
  }
1733
1736
  },
1734
1737
  TransactionWalletOwnershipAction: { p: { expires_at: 1 } },
@@ -1822,12 +1825,15 @@ var DATE_PLANS = {
1822
1825
  created_at: 1,
1823
1826
  delivery: "TravelRuleDelivery",
1824
1827
  discovery: { i: "TravelRuleDiscoveryStep" },
1825
- deliveries: { i: "TravelRuleDeliveryLogEntry" }
1828
+ deliveries: { i: "TravelRuleDeliveryLogEntry" },
1829
+ user_choice: "TravelRuleUserChoice"
1826
1830
  }
1827
1831
  },
1828
1832
  TravelRuleTransferRow: { p: { txn_date: 1, deadline_at: 1, created_at: 1 } },
1829
1833
  TravelRuleTransfersListResponse: { p: { results: { i: "TravelRuleTransferRow" } } },
1830
1834
  TravelRuleUnmatchedDepositsListResponse: { p: { results: { i: "TravelRuleTransferRow" } } },
1835
+ TravelRuleUserChoice: { p: { link_expires_at: 1 } },
1836
+ TravelRuleUserLinkResponse: { p: { expires_at: 1 } },
1831
1837
  TravelRuleWalletAddressesListResponse: { p: { results: { i: "WalletAddressEntry" } } },
1832
1838
  TravelRuleWalletProofReview: { p: { method_chosen_at: 1, decided_at: 1, created_at: 1 } },
1833
1839
  TravelRuleWalletProofsListResponse: { p: { results: { i: "TravelRuleWalletProofReview" } } },
@@ -2136,7 +2142,7 @@ var AddressValidation = class extends APIResource {
2136
2142
  *
2137
2143
  * **Billing.** A live call costs $0.10 per validated address. An `unavailable` result is not charged. Nothing is stored apart from the usage record: no session is created and the result is returned only in this response.
2138
2144
  *
2139
- * **Sandbox.** Sandbox keys validate the request and always return a deterministic `verified` result that echoes the address sent, without consuming credits.
2145
+ * **Sandbox.** Sandbox keys validate the request and always return a deterministic `verified` result that echoes the address sent, with `address_type` and `is_residential` always `null` (the keys are present), without consuming credits.
2140
2146
  *
2141
2147
  * **Authentication.** Send your application's API key in `x-api-key`. Missing or invalid credentials return `403` - this API never returns `401`.
2142
2148
  *
@@ -2330,13 +2336,13 @@ var Bank = class extends APIResource {
2330
2336
  *
2331
2337
  * **What you send.** The account's `country` (ISO 3166-1 alpha-3), the `account` the way that country writes it, and the `holder` name: `full_name` for a person or `business_name` for a company. A business name checks a business account.
2332
2338
  *
2333
- * **What you get back.** `result` is `match`, `close_match`, `no_match` or `cannot_verify`. On a `close_match`, `holder_name` is the name the bank holds the account under, when the bank returned it. `account` comes back masked to its last 4 characters.
2339
+ * **What you get back.** `result` is `match`, `close_match`, `no_match` or `cannot_verify`. On a `close_match`, `holder_name` is the name the bank holds the account under, when the bank returned it. `name_match_score` is the 0 to 100 similarity `result` was decided on, so you can apply your own threshold; `result` stays authoritative, decided with the default thresholds (a `match` from 85, a `close_match` from 70). It is `null` when no name was compared: a `cannot_verify`, or a `no_match` for an account that does not exist. `account` comes back masked to its last 4 characters.
2334
2340
  *
2335
2341
  * **Billing.** Each check the bank answers is billed once at the Account check price of the account's country, whatever the result: a `no_match`, an account that does not exist and a `cannot_verify` are billed too. A request answered with an error is never billed.
2336
2342
  *
2337
2343
  * **Every request is a new check.** There is no idempotency key and no endpoint to read a check back, so a retried request runs, and is billed, again. Store the response.
2338
2344
  *
2339
- * **Sandbox.** Use a sandbox API key with the sample account details. A sandbox key calls no bank and is charged nothing. The last 4 characters of the IBAN, else of the account number, choose the answer: `0001` a `close_match` with a `holder_name`, `0002` a `close_match` without one, `0003` and `0006` a `no_match`, `0004` `cannot_verify`, `0005` a `503` and `0009` a `400`. Any other ending is a `match`.
2345
+ * **Sandbox.** Use a sandbox API key with the sample account details. A sandbox key calls no bank and is charged nothing. The last 4 characters of the IBAN, else of the account number, choose the answer: `0001` a `close_match` with a `holder_name`, `0002` a `close_match` without one (`name_match_score` 78), `0003` a `no_match` (`name_match_score` 0), `0006` a `no_match` for an account that does not exist (`name_match_score` null), `0004` `cannot_verify`, `0005` a `503` and `0009` a `400`. Any other ending is a `match` (`name_match_score` 100).
2340
2346
  *
2341
2347
  * **API keys.** A scoped API key needs write access to sessions.
2342
2348
  *
@@ -2829,6 +2835,12 @@ var Businesses = class extends APIResource {
2829
2835
  };
2830
2836
 
2831
2837
  // src/resources/cases.ts
2838
+ var CASES_BLUEPRINTS_AI_DRAFT = {
2839
+ method: "POST",
2840
+ path: "/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/ai-draft/",
2841
+ scope: "application",
2842
+ body: "json"
2843
+ };
2832
2844
  var CASES_BLUEPRINTS_CREATE = {
2833
2845
  method: "POST",
2834
2846
  path: "/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/",
@@ -3303,10 +3315,20 @@ var CASES_UPDATE = {
3303
3315
  dates: "CaseDetail"
3304
3316
  };
3305
3317
  var CasesBlueprints = class extends APIResource {
3318
+ /**
3319
+ * Draft case blueprint with AI
3320
+ *
3321
+ * Generate an unsaved blueprint proposal. Requires write:cases. Returns a draft object, not a blueprint UUID; no blueprint or saved policy draft is created. Review the proposal, choose assignees and any teams, approvals or routing, then create or update a blueprint separately. Invalid generated content or generation failure returns 503. See [blueprint AI drafts](/management-api/case-blueprints/ai-draft).
3322
+ *
3323
+ * `POST /v3/organization/{organization_id}/application/{application_id}/cases/blueprints/ai-draft/`
3324
+ */
3325
+ aiDraft(params, options) {
3326
+ return this._client.request(CASES_BLUEPRINTS_AI_DRAFT, [], params, options);
3327
+ }
3306
3328
  /**
3307
3329
  * Create blueprint
3308
3330
  *
3309
- * Create a case blueprint: general settings (assignment, escalation, transfer, 4-eyes pairing) plus content_config, the six sections that drive the case page. Set publish=false to create an unpublished draft; Publish creates its first live version. Discarding a never-published draft deletes it.
3331
+ * Create a case blueprint: general settings (assignment, escalation, transfer, 4-eyes pairing) plus content_config, the six sections that drive the case page. Set publish=false to create an unpublished draft; Publish creates its first live version. Discarding a never-published draft deletes it. applies_to accepts the six case-type values. content_config.stages.items[].worked_by is an optional active review-team UUID from this application. These settings are preserved in case policy snapshots; later edits do not change existing snapshots.
3310
3332
  *
3311
3333
  * `POST /v3/organization/{organization_id}/application/{application_id}/cases/blueprints/`
3312
3334
  */
@@ -3420,7 +3442,7 @@ var CasesBlueprints = class extends APIResource {
3420
3442
  /**
3421
3443
  * Update blueprint
3422
3444
  *
3423
- * Partially update a blueprint's general settings or content_config.
3445
+ * Partially update a blueprint's general settings or content_config. applies_to accepts the six case-type values. content_config.stages.items[].worked_by is an optional active review-team UUID from this application. These settings are preserved in case policy snapshots; later edits do not change existing snapshots.
3424
3446
  *
3425
3447
  * `PATCH /v3/organization/{organization_id}/application/{application_id}/cases/blueprints/{blueprint_uuid}/`
3426
3448
  *
@@ -3461,7 +3483,7 @@ var CasesLinks = class extends APIResource {
3461
3483
  /**
3462
3484
  * Add case link
3463
3485
  *
3464
- * Attach a session, business session, or transaction to the case. Rejected with 400 if the entity belongs to a different subject than the case.
3486
+ * Attach a session, business session, transaction, or network to the case. Rejected with 400 if the entity belongs to a different subject than the case. Network links require write:cases plus read:networks, Networks access and investigation access for the network scope. The network must be visible and contain the case subject. Manually adding links to network-generated cases is not allowed.
3465
3487
  *
3466
3488
  * `POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/links/`
3467
3489
  *
@@ -3878,7 +3900,7 @@ var Cases = class extends APIResource {
3878
3900
  /**
3879
3901
  * Create case
3880
3902
  *
3881
- * Create a case anchored to exactly one subject (a user or a business), directly or by deriving the subject from an attached session/transaction link. Source is always `MANUAL` for API-created cases.
3903
+ * Create a case anchored to exactly one subject (a user or a business), directly or by deriving the subject from an attached session/transaction link. Source is always `MANUAL` for API-created cases. Network links require write:cases plus read:networks, Networks access and investigation access for the network scope. The network must be visible and contain the case subject. Manually adding links to network-generated cases is not allowed. An explicit subject is required whenever links includes a network.
3882
3904
  *
3883
3905
  * `POST /v3/organization/{organization_id}/application/{application_id}/cases/`
3884
3906
  */
@@ -6748,7 +6770,12 @@ var SESSIONS_CANCEL_FEATURE_OVERRIDE = {
6748
6770
  path: "/v3/session/{sessionId}/features/overrides/{overrideId}/cancel/",
6749
6771
  dates: "FeatureStatusOverride"
6750
6772
  };
6751
- var SESSIONS_CREATE = { method: "POST", path: "/v3/session/", body: "json" };
6773
+ var SESSIONS_CREATE = {
6774
+ method: "POST",
6775
+ path: "/v3/session/",
6776
+ body: "json",
6777
+ dates: { p: { expires_at: 1 } }
6778
+ };
6752
6779
  var SESSIONS_CREATE_KYB_PARTY_DRAFT = {
6753
6780
  method: "POST",
6754
6781
  path: "/v3/session/{sessionId}/kyb/parties/drafts/",
@@ -7393,9 +7420,9 @@ var Sessions = class extends APIResource {
7393
7420
  *
7394
7421
  * Call this from your backend (never the browser - the API key is a secret) whenever a user or business needs to be verified: at signup, before a sensitive action, or when re-verification is required. Prerequisites: a published workflow (created in the Console [Workflows](https://docs.didit.me/console/workflows) page) and an application API key with available credits. Sandbox applications bypass the credit check.
7395
7422
  *
7396
- * **Idempotency:** when `vendor_data` is provided and an unfinished session (`Not Started`, `In Progress`, `Resubmitted`, or `Awaiting User`) with the same `vendor_data` already exists on the workflow's **current latest published version** (and that session already has a hosted verification URL), the existing session is returned (still `201`) instead of creating a duplicate - with its `callback` and `metadata` updated to the newly provided values. An unfinished session created on an older version of the workflow (one that has since been republished) is **not** reused; a new session pinned to the latest published version is created instead. Sessions in `Approved`, `Declined`, `In Review`, `Expired`, `Abandoned`, or `Kyc Expired` are never reused.
7423
+ * **Idempotency:** for a User Verification workflow, when `vendor_data` is provided and an unfinished session (`Not Started`, `In Progress`, `Resubmitted`, or `Awaiting User`) with the same `vendor_data` already exists on the workflow's **current latest published version** (and that session already has a hosted verification URL), the existing session is returned (still `201`) instead of creating a duplicate - with its `callback` and `metadata` updated to the newly provided values. An unfinished session created on an older version of the workflow (one that has since been republished) is **not** reused; a new session pinned to the latest published version is created instead. Sessions in `Approved`, `Declined`, `In Review`, `Expired`, `Abandoned`, or `Kyc Expired` are never reused. A Business Verification workflow creates a new session on every call.
7397
7424
  *
7398
- * **Side effects:** the hosted verification URL is generated and stored; if `contact_details.send_notification_emails` is `true` and an email is provided, a verification invite email is sent. The session expires after the workflow's configured session expiration time. For KYB workflows, `contact_details.phone` and `expected_details` are ignored.
7425
+ * **Side effects:** the hosted verification URL is generated and stored; if `contact_details.send_notification_emails` is `true` and an email is provided, a verification invite email is sent. The session expires after `session_expiration_time` seconds when the request sets it, otherwise after the workflow's configured session expiration time. For KYB workflows, `contact_details.phone` and `expected_details` are ignored.
7399
7426
  *
7400
7427
  * `POST /v3/session/`
7401
7428
  */
@@ -8106,6 +8133,12 @@ var TRANSACTIONS_TRAVEL_RULE_CREATE_MESSAGE = {
8106
8133
  body: "json",
8107
8134
  dates: "TravelRuleMessage"
8108
8135
  };
8136
+ var TRANSACTIONS_TRAVEL_RULE_CREATE_USER_LINK = {
8137
+ method: "POST",
8138
+ path: "/v3/transactions/{transaction_id}/travel-rule/user-link/",
8139
+ body: "json",
8140
+ dates: "TravelRuleUserLinkResponse"
8141
+ };
8109
8142
  var TRANSACTIONS_TRAVEL_RULE_LIST_DELIVERIES = {
8110
8143
  method: "GET",
8111
8144
  path: "/v3/transactions/{transaction_id}/travel-rule/deliveries/",
@@ -8357,6 +8390,23 @@ var TransactionsTravelRule = class extends APIResource {
8357
8390
  options
8358
8391
  );
8359
8392
  }
8393
+ /**
8394
+ * Create or email a Travel Rule end-user link
8395
+ *
8396
+ * Issue a new link and revoke previous open links for this transfer. Requires write access to transactions and an outbound transfer in AWAITING_COUNTERPARTY, COUNTERPARTY_VASP_NOT_FOUND, COUNTERPARTY_VASP_NOT_REACHABLE, UNCONFIRMED_OWNERSHIP or ON_HOLD. channel=email uses the end user's Didit-record email and verification-session language when available. A send failure returns the link with emailed_to empty; email_available reports address availability, not delivery. See [User links](/management-api/travel-rule/create-user-link).
8397
+ *
8398
+ * `POST /v3/transactions/{transaction_id}/travel-rule/user-link/`
8399
+ *
8400
+ * @param transactionId Didit-stable transaction UUID that owns the transfer.
8401
+ */
8402
+ createUserLink(transactionId, params = {}, options) {
8403
+ return this._client.request(
8404
+ TRANSACTIONS_TRAVEL_RULE_CREATE_USER_LINK,
8405
+ [transactionId],
8406
+ params,
8407
+ options
8408
+ );
8409
+ }
8360
8410
  /**
8361
8411
  * List Travel Rule delivery history
8362
8412
  *
@@ -8407,9 +8457,9 @@ var TransactionsTravelRule = class extends APIResource {
8407
8457
  );
8408
8458
  }
8409
8459
  /**
8410
- * Finish, cancel, resend, or update the originator wallet of a Travel Rule transfer
8460
+ * Update a Travel Rule transfer
8411
8461
  *
8412
- * Provide `payment_txn_id` to report the on-chain hash and move an outbound COMPLETED transfer to FINISHED (its INTERNAL-rail counterpart also moves to FINISHED), `{"action": "cancel"}` to cancel a non-terminal transfer, or `{"action": "resend"}` to route an outbound transfer stuck in COUNTERPARTY_VASP_NOT_FOUND, COUNTERPARTY_VASP_NOT_REACHABLE, or NOT_ENOUGH_COUNTERPARTY_DATA again (improve the counterparty data first, e.g. add a travel_address to the destination wallet entry). resend applies to outbound transfers only. `{"action": "update_compliance_email", "compliance_email": "desk@example.com"}` replaces the compliance email of an outbound transfer in one of those three statuses, the fix for `reason: email_undeliverable`: the status does not change, and the next `resend` sends the request to that address. A resend is queued, not run inside the request: the response shows the transfer back in AWAITING_COUNTERPARTY with a `resend queued` timeline entry and a queued `delivery`, and where it went arrives as a `travel_rule.status.updated` webhook. When the transfer went over GTR, VerifyVASP or Sygna Bridge, the network learns the on-chain hash or the cancellation after the response, with retries; `delivery` shows how that message stands. `{"action": "update_originator_wallet", "wallet_address": "..."}` records the wallet the funds actually left from on an outbound transfer, for example the address a UTXO withdrawal was broadcast from rather than the main wallet you declared. It changes the record only: nothing is sent to the counterparty again and the status stays. The originator becomes `chain_details.originator` with `source: updated`, the change is added to the `timeline` with the previous and the new wallet, and the INTERNAL-rail counterpart of the transfer is updated the same way. `{"action": "beneficiary_vasp", "beneficiary_vasp": "<directory VASP id>"}` names the counterparty yourself when discovery could not, on an outbound transfer in COUNTERPARTY_VASP_NOT_FOUND, COUNTERPARTY_VASP_NOT_REACHABLE or NOT_ENOUGH_COUNTERPARTY_DATA: the transfer is routed to that VASP and sent again.
8462
+ * Provide `payment_txn_id` to report the on-chain hash and move an outbound COMPLETED transfer to FINISHED (its INTERNAL-rail counterpart also moves to FINISHED), `{"action": "cancel"}` to cancel a non-terminal transfer, or `{"action": "resend"}` to route an outbound transfer stuck in COUNTERPARTY_VASP_NOT_FOUND, COUNTERPARTY_VASP_NOT_REACHABLE, or NOT_ENOUGH_COUNTERPARTY_DATA again (improve the counterparty data first, e.g. add a travel_address to the destination wallet entry). resend applies to outbound transfers only. `{"action": "update_compliance_email", "compliance_email": "desk@example.com"}` replaces the compliance email of an outbound transfer in one of those three statuses, the fix for `reason: email_undeliverable`: the status does not change, and the next `resend` sends the request to that address. A resend is queued, not run inside the request: the response shows the transfer back in AWAITING_COUNTERPARTY with a `resend queued` timeline entry and a queued `delivery`, and where it went arrives as a `travel_rule.status.updated` webhook. When the transfer went over GTR, VerifyVASP or Sygna Bridge, the network learns the on-chain hash or the cancellation after the response, with retries; `delivery` shows how that message stands. `{"action": "update_originator_wallet", "wallet_address": "..."}` records the wallet the funds actually left from on an outbound transfer, for example the address a UTXO withdrawal was broadcast from rather than the main wallet you declared. It changes the record only: nothing is sent to the counterparty again and the status stays. The originator becomes `chain_details.originator` with `source: updated`, the change is added to the `timeline` with the previous and the new wallet, and the INTERNAL-rail counterpart of the transfer is updated the same way. `{"action": "beneficiary_vasp", "beneficiary_vasp": "<directory VASP id>"}` names the counterparty yourself when discovery could not, on an outbound transfer in COUNTERPARTY_VASP_NOT_FOUND, COUNTERPARTY_VASP_NOT_REACHABLE or NOT_ENOUGH_COUNTERPARTY_DATA: the transfer is routed to that VASP and sent again. Cancellation accepts an optional reason and returns cancel_reason and cancelled_by. Resend accepts notify_on_answer; omission preserves the saved preference, initially false. Resend invalidates the previous counterparty pickup link. action=add_vasp_hint requires name, accepts lei and country, saves the hint and re-runs discovery under the same outbound/status restrictions as resend. update_compliance_email also accepts vasp_name and saves the address as an application-private contact when the transfer has a known directory VASP.
8413
8463
  *
8414
8464
  * `PATCH /v3/transactions/{transaction_id}/travel-rule/`
8415
8465
  *
@@ -8596,6 +8646,7 @@ var TRAVEL_RULE_TRANSFERS_LIST = {
8596
8646
  method: "GET",
8597
8647
  path: "/v3/travel-rule/transfers/",
8598
8648
  query: [
8649
+ "search",
8599
8650
  "direction",
8600
8651
  "status",
8601
8652
  "rail",
@@ -8709,6 +8760,12 @@ var TRAVEL_RULE_CLEAR_VASP_DECISION = {
8709
8760
  path: "/v3/travel-rule/vasps/{vasp_id}/decision/",
8710
8761
  dates: "TravelRuleCounterpartyDecisionResponse"
8711
8762
  };
8763
+ var TRAVEL_RULE_CREATE_VASP = {
8764
+ method: "POST",
8765
+ path: "/v3/travel-rule/vasps/",
8766
+ body: "json",
8767
+ dates: "VaspDirectoryEntry"
8768
+ };
8712
8769
  var TRAVEL_RULE_CREATE_WIDGET_SESSION = {
8713
8770
  method: "POST",
8714
8771
  path: "/v3/travel-rule/widget-session/",
@@ -9098,6 +9155,16 @@ var TravelRule = class extends APIResource {
9098
9155
  clearVaspDecision(vaspId, options) {
9099
9156
  return this._client.request(TRAVEL_RULE_CLEAR_VASP_DECISION, [vaspId], void 0, options);
9100
9157
  }
9158
+ /**
9159
+ * Create a private VASP directory entry
9160
+ *
9161
+ * Add a VASP privately to your application and optionally invite it. Requires write access to transactions. The response uses source=added_by_you. A matching visible name or LEI returns 409 with the existing vasp_id. See [Search the directory](/management-api/travel-rule/search-vasps).
9162
+ *
9163
+ * `POST /v3/travel-rule/vasps/`
9164
+ */
9165
+ createVasp(params, options) {
9166
+ return this._client.request(TRAVEL_RULE_CREATE_VASP, [], params, options);
9167
+ }
9101
9168
  /**
9102
9169
  * Mint a wallet-ownership widget session
9103
9170
  *
@@ -9123,7 +9190,7 @@ var TravelRule = class extends APIResource {
9123
9190
  /**
9124
9191
  * Search the VASP directory
9125
9192
  *
9126
- * Paginated, name-sorted search of the VASP directory: the shared directory entries, which Didit builds from the ESMA interim MiCA register, the public TRISA directory, the global LEI register and its own curation, plus the members of the Didit network. Each row carries the routes your application has to it today. Your own application's profile is never listed. Rows also carry the shared due-diligence assessment and your application's own decision, entity screening and questionnaires.
9193
+ * Paginated, name-sorted search of the VASP directory: the shared directory entries, which Didit builds from the ESMA interim MiCA register, the public TRISA directory, the global LEI register and its own curation, plus the members of the Didit network. Each row carries the routes your application has to it today. Your own application's profile is never listed. Rows also carry the shared due-diligence assessment and your application's own decision, entity screening and questionnaires. Includes entries your application added privately. The optional source field distinguishes their provenance; kind=didit member results may omit source.
9127
9194
  *
9128
9195
  * `GET /v3/travel-rule/vasps/`
9129
9196
  */