@hyperscale0/sdk 1.0.361 → 1.0.369

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/CHANGELOG.md CHANGED
@@ -4,6 +4,16 @@
4
4
 
5
5
  Newest first. A release that changed nothing the SDK sees has no entry.
6
6
 
7
+ ## 1.0.364
8
+
9
+ ### Added
10
+
11
+ - `internal_transfer.list` and `internal_transfer.retrieve` items carry `recordedAt` when a sandbox transfer is dated on its Product's advanced clock: the wall time Hyperscale recorded it, while `createdAt` stays the Product's business time.
12
+
13
+ ### Changed
14
+
15
+ - `tenant.safeguarding.retrieve`: each master's `heldForCustomers` and `safeguarded` can be null, with `unavailable` saying why, when the ledger cannot answer. `heldForCustomers` is the same figure as `tenant.money.summary` `stocks.heldForCustomers`.
16
+
7
17
  ## 1.0.341
8
18
 
9
19
  ### Added
package/client.js CHANGED
@@ -212,6 +212,12 @@ const routes = {
212
212
  "idempotency": "required",
213
213
  "takesProductId": true
214
214
  },
215
+ "customer.join": {
216
+ "method": "POST",
217
+ "path": "/v1/customer-identity/join",
218
+ "pathParams": [],
219
+ "idempotency": "required"
220
+ },
215
221
  "customer.list": {
216
222
  "method": "GET",
217
223
  "path": "/v1/customers",
@@ -233,6 +239,13 @@ const routes = {
233
239
  "pathParams": [],
234
240
  "idempotency": "required"
235
241
  },
242
+ "customer.me.retrieve": {
243
+ "method": "GET",
244
+ "path": "/v1/customer-identity/me",
245
+ "pathParams": [],
246
+ "idempotency": "not_required",
247
+ "takesProductId": true
248
+ },
236
249
  "customer.profile.update": {
237
250
  "method": "PATCH",
238
251
  "path": "/v1/customers/{customerId}/profile",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperscale0/sdk",
3
- "version": "1.0.361",
3
+ "version": "1.0.369",
4
4
  "description": "JavaScript client and TypeScript types for the Hyperscale Product API.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -26,5 +26,5 @@
26
26
  "publishConfig": {
27
27
  "access": "public"
28
28
  },
29
- "gitHead": "df2a68f424ef2d8ad53bd08944a920dcc3ca566c"
29
+ "gitHead": "322072d39306fa6693377bcc812caa40822e93a2"
30
30
  }
package/platform.d.ts CHANGED
@@ -63,12 +63,16 @@ export type customer_access_suspendInput = { readonly "customerAccessId": string
63
63
  export type customer_access_suspendOutput = { readonly "tenantId": string; readonly "productId": string; readonly "customerId": string; readonly "customerAccessId": string; readonly "updatedAt": string; readonly "reason": string; readonly "previousStatus": "active"; readonly "status": "suspended"; };
64
64
  export type customer_createInput = { readonly "productId": string; readonly "entity": ({ readonly "kind": "person"; readonly "displayName": string; readonly "country": string; readonly "profile"?: { readonly "kind": "person"; readonly "nationality": string; readonly "dateOfBirth": string; readonly "idDocument": { readonly "type": "national_id" | "resident_id" | "passport"; readonly "number": string; readonly "issuingCountry": string; readonly "expiresOn": string; }; readonly "phone": string; readonly "address": { readonly "line1": string; readonly "city": string; readonly "postalCode": string; readonly "country": string; }; readonly "occupation": string; readonly "sourceOfFunds": "salary" | "business_income" | "investments" | "savings" | "inheritance" | "other"; readonly "politicallyExposed": boolean; }; } | { readonly "kind": "organization"; readonly "displayName": string; readonly "country": string; readonly "profile"?: { readonly "kind": "organization"; readonly "legalForm": "llc" | "sole_establishment" | "joint_stock" | "simplified_joint_stock" | "partnership" | "foreign_branch" | "nonprofit" | "other"; readonly "registrationNumber": string; readonly "incorporatedOn": string; readonly "taxNumber"?: string; readonly "activity": string; readonly "phone": string; readonly "address": { readonly "line1": string; readonly "city": string; readonly "postalCode": string; readonly "country": string; }; readonly "signatory": { readonly "fullName": string; readonly "role": string; readonly "idDocument": { readonly "type": "national_id" | "resident_id" | "passport"; readonly "number": string; readonly "issuingCountry": string; readonly "expiresOn": string; }; }; readonly "beneficialOwners": ReadonlyArray<{ readonly "fullName": string; readonly "nationality": string; readonly "idDocument": { readonly "type": "national_id" | "resident_id" | "passport"; readonly "number": string; readonly "issuingCountry": string; readonly "expiresOn": string; }; readonly "ownershipPercent": number; }>; }; }); readonly "test"?: true; };
65
65
  export type customer_createOutput = { readonly "tenantId": string; readonly "productId": string; readonly "customerId": string; readonly "partyId": string; readonly "customerStatus": "active"; readonly "entityId": string; readonly "entityStatus": "pending" | "verified" | "rejected" | "disabled" | "not_checked"; readonly "identity": "test" | "pending" | "verified" | "rejected" | "disabled"; readonly "customerAccessId": string; readonly "customerAccessStatus"?: "active"; };
66
+ export type customer_joinInput = { readonly "token": string; readonly "firstName": string; };
67
+ export type customer_joinOutput = { readonly "tenantId": string; readonly "productId": string; readonly "environment": "sandbox" | "live"; readonly "customerId": string; readonly "entityId": string; readonly "displayName": string; readonly "customerAccessId": string; readonly "customerAccessStatus": "pending" | "active" | "suspended" | "closed"; readonly "accountId": string; readonly "fundingTransferId": string; readonly "fundingAmount": string; readonly "currency": "SAR"; readonly "customerSessionId": string; readonly "sessionToken"?: string; readonly "sessionExpiresAt": string; };
66
68
  export type customer_listInput = { readonly "productId"?: string; readonly "limit"?: number; readonly "cursor"?: string; readonly "query"?: string; readonly "createdFrom"?: string; readonly "createdTo"?: string; readonly "status"?: "pending" | "active" | "disabled" | "erased"; };
67
69
  export type customer_listOutput = { readonly "items": ReadonlyArray<{ readonly "customerId": string; readonly "tenantId": string; readonly "displayName": string; readonly "entityId"?: string; readonly "entityKind": "person" | "organization"; readonly "entityCountry": string; readonly "entityStatus": "pending" | "verified" | "rejected" | "disabled" | "not_checked"; readonly "profile": (({ readonly "kind": "person"; readonly "nationality": string; readonly "dateOfBirth": string; readonly "idDocument": { readonly "type": "national_id" | "resident_id" | "passport"; readonly "number": string; readonly "issuingCountry": string; readonly "expiresOn": string; }; readonly "phone": string; readonly "address": { readonly "line1": string; readonly "city": string; readonly "postalCode": string; readonly "country": string; }; readonly "occupation": string; readonly "sourceOfFunds": "salary" | "business_income" | "investments" | "savings" | "inheritance" | "other"; readonly "politicallyExposed": boolean; } | { readonly "kind": "organization"; readonly "legalForm": "llc" | "sole_establishment" | "joint_stock" | "simplified_joint_stock" | "partnership" | "foreign_branch" | "nonprofit" | "other"; readonly "registrationNumber": string; readonly "incorporatedOn": string; readonly "taxNumber"?: string; readonly "activity": string; readonly "phone": string; readonly "address": { readonly "line1": string; readonly "city": string; readonly "postalCode": string; readonly "country": string; }; readonly "signatory": { readonly "fullName": string; readonly "role": string; readonly "idDocument": { readonly "type": "national_id" | "resident_id" | "passport"; readonly "number": string; readonly "issuingCountry": string; readonly "expiresOn": string; }; }; readonly "beneficialOwners": ReadonlyArray<{ readonly "fullName": string; readonly "nationality": string; readonly "idDocument": { readonly "type": "national_id" | "resident_id" | "passport"; readonly "number": string; readonly "issuingCountry": string; readonly "expiresOn": string; }; readonly "ownershipPercent": number; }>; }) | null); readonly "profileStatus": "missing" | "complete"; readonly "identity": "test" | "pending" | "verified" | "rejected" | "disabled"; readonly "principalId": string; readonly "externalReference"?: string | null; readonly "status"?: "pending" | "active" | "disabled" | "erased"; readonly "createdAt"?: string; }>; readonly "nextCursor"?: string; readonly "statusCounts"?: { readonly [key: string]: number }; };
68
70
  export type customer_loginInput = { readonly "productId": string; readonly "email": string; readonly "password": string; };
69
71
  export type customer_loginOutput = { readonly "tenantId": string; readonly "productId": string; readonly "environment": "sandbox" | "live"; readonly "customerId": string; readonly "entityId": string; readonly "email": string; readonly "customerAccessId": string; readonly "customerAccessStatus": "pending" | "active" | "suspended" | "closed"; readonly "customerSessionId": string; readonly "sessionToken"?: string; readonly "sessionExpiresAt": string; };
70
72
  export type customer_logoutInput = Record<string, never>;
71
73
  export type customer_logoutOutput = { readonly "customerSessionId": string; readonly "status": "revoked"; readonly "revokedAt": string; };
74
+ export type customer_me_retrieveInput = { readonly "productId": string; };
75
+ export type customer_me_retrieveOutput = { readonly "tenantId": string; readonly "productId": string; readonly "environment": "sandbox" | "live"; readonly "customerId": string; readonly "accounts": ReadonlyArray<{ readonly "accountId": string; readonly "role": "tenant_billing" | "tenant_credit" | "tenant_settlement" | "customer_balance" | "customer_investment" | "product_pool" | "product_credit" | "product_revenue"; readonly "currency": "SAR"; readonly "available": string; readonly "settled": string; readonly "pending": string; readonly "asOf": string; }>; readonly "activity": ReadonlyArray<{ readonly "amount": string; readonly "balanceDelta": string; readonly "counterpartyAccountId": string; readonly "counterpartyDisplayName": string; readonly "currency": "SAR"; readonly "direction": "debit" | "credit"; readonly "entryId": string; readonly "ledgerTransferId": string; readonly "memo": string; readonly "occurredAt": string; readonly "operationId": string; readonly "operationName": string; readonly "origin"?: { readonly "instrumentId": string; readonly "instrumentInstanceId": string; readonly "action": string; }; readonly "runningBalance": string; readonly "status": "pending" | "posted" | "voided"; readonly "title"?: string; readonly "transferId": string; readonly "accountId": string; }>; };
72
76
  export type customer_profile_updateInput = { readonly "customerId": string; readonly "profile": ({ readonly "kind": "person"; readonly "nationality": string; readonly "dateOfBirth": string; readonly "idDocument": { readonly "type": "national_id" | "resident_id" | "passport"; readonly "number": string; readonly "issuingCountry": string; readonly "expiresOn": string; }; readonly "phone": string; readonly "address": { readonly "line1": string; readonly "city": string; readonly "postalCode": string; readonly "country": string; }; readonly "occupation": string; readonly "sourceOfFunds": "salary" | "business_income" | "investments" | "savings" | "inheritance" | "other"; readonly "politicallyExposed": boolean; } | { readonly "kind": "organization"; readonly "legalForm": "llc" | "sole_establishment" | "joint_stock" | "simplified_joint_stock" | "partnership" | "foreign_branch" | "nonprofit" | "other"; readonly "registrationNumber": string; readonly "incorporatedOn": string; readonly "taxNumber"?: string; readonly "activity": string; readonly "phone": string; readonly "address": { readonly "line1": string; readonly "city": string; readonly "postalCode": string; readonly "country": string; }; readonly "signatory": { readonly "fullName": string; readonly "role": string; readonly "idDocument": { readonly "type": "national_id" | "resident_id" | "passport"; readonly "number": string; readonly "issuingCountry": string; readonly "expiresOn": string; }; }; readonly "beneficialOwners": ReadonlyArray<{ readonly "fullName": string; readonly "nationality": string; readonly "idDocument": { readonly "type": "national_id" | "resident_id" | "passport"; readonly "number": string; readonly "issuingCountry": string; readonly "expiresOn": string; }; readonly "ownershipPercent": number; }>; }); };
73
77
  export type customer_profile_updateOutput = { readonly "tenantId": string; readonly "customerId": string; readonly "profile": ({ readonly "kind": "person"; readonly "nationality": string; readonly "dateOfBirth": string; readonly "idDocument": { readonly "type": "national_id" | "resident_id" | "passport"; readonly "number": string; readonly "issuingCountry": string; readonly "expiresOn": string; }; readonly "phone": string; readonly "address": { readonly "line1": string; readonly "city": string; readonly "postalCode": string; readonly "country": string; }; readonly "occupation": string; readonly "sourceOfFunds": "salary" | "business_income" | "investments" | "savings" | "inheritance" | "other"; readonly "politicallyExposed": boolean; } | { readonly "kind": "organization"; readonly "legalForm": "llc" | "sole_establishment" | "joint_stock" | "simplified_joint_stock" | "partnership" | "foreign_branch" | "nonprofit" | "other"; readonly "registrationNumber": string; readonly "incorporatedOn": string; readonly "taxNumber"?: string; readonly "activity": string; readonly "phone": string; readonly "address": { readonly "line1": string; readonly "city": string; readonly "postalCode": string; readonly "country": string; }; readonly "signatory": { readonly "fullName": string; readonly "role": string; readonly "idDocument": { readonly "type": "national_id" | "resident_id" | "passport"; readonly "number": string; readonly "issuingCountry": string; readonly "expiresOn": string; }; }; readonly "beneficialOwners": ReadonlyArray<{ readonly "fullName": string; readonly "nationality": string; readonly "idDocument": { readonly "type": "national_id" | "resident_id" | "passport"; readonly "number": string; readonly "issuingCountry": string; readonly "expiresOn": string; }; readonly "ownershipPercent": number; }>; }); readonly "profileStatus": "complete"; readonly "updatedAt": string; };
74
78
  export type customer_retrieveInput = { readonly "productId"?: string; readonly "customerId": string; };
@@ -84,12 +88,12 @@ export type event_retrieveOutput = { readonly "id": string; readonly "object": "
84
88
  export type extension_listInput = { readonly "limit"?: number; readonly "cursor"?: string; };
85
89
  export type extension_listOutput = { readonly "items": ReadonlyArray<{ readonly "id": "booking" | "cards" | "collections" | "escrow" | "financing" | "insurance" | "lending" | "marketplace" | "money" | "purchase" | "rental" | "reporting" | "savings" | "wallet"; readonly "title": string; readonly "objects": ReadonlyArray<{ readonly "name": string; readonly "qualifiedName": string; readonly "signature": string; readonly "states": ReadonlyArray<string>; readonly "summary": string; readonly "authoringTemplate": { readonly "source": string; readonly "instancePlaceholder": string; readonly "requiredBindings": ReadonlyArray<{ readonly "name": string; readonly "type": string; readonly "placeholder": string; }>; }; readonly "tunables": ReadonlyArray<{ readonly "name": string; readonly "type": string; readonly "required": boolean; readonly "default"?: string; readonly "values"?: ReadonlyArray<string>; readonly "minimum"?: (number | string); readonly "maximum"?: (number | string); }>; readonly "checks": ReadonlyArray<{ readonly "rule": string; readonly "when"?: { readonly "selector": string; readonly "is": string; }; readonly "message": string; readonly "fix": string; }>; readonly "parties": ReadonlyArray<string>; readonly "subject": ReadonlyArray<{ readonly "name": string; readonly "type": string; }>; readonly "actions": ReadonlyArray<{ readonly "name": string; readonly "summary": string; readonly "actor": string; }>; }>; }>; readonly "nextCursor"?: string; };
86
90
  export type internal_transfer_listInput = { readonly "productId"?: string; readonly "limit"?: number; readonly "cursor"?: string; readonly "query"?: string; readonly "createdFrom"?: string; readonly "createdTo"?: string; readonly "accountId"?: string; readonly "customerId"?: string; readonly "book"?: "cash" | "claim"; readonly "currency"?: "SAR"; readonly "amountMin"?: string; readonly "amountMax"?: string; readonly "timeBasis"?: "created" | "posted"; readonly "postedFrom"?: string; readonly "postedTo"?: string; readonly "status"?: "settled" | "reversed" | "accepted" | "reserved" | "posted" | "voided" | "failed"; };
87
- export type internal_transfer_listOutput = { readonly "items": ReadonlyArray<{ readonly "transferId": string; readonly "tenantId": string; readonly "amount"?: string; readonly "postedAmount"?: string; readonly "currency"?: string; readonly "sourceAccountId"?: string; readonly "destinationAccountId"?: string; readonly "status"?: "settled" | "reversed" | "accepted" | "reserved" | "posted" | "voided" | "failed"; readonly "expiresAt"?: string; readonly "expiredAt"?: string; readonly "metadata"?: internal_transfer_listOutput_Metadata; readonly "correctsTransferId"?: string; readonly "operationId"?: string; readonly "productName"?: string; readonly "accountLabel"?: string; readonly "ownerName"?: string; readonly "sourceName"?: string; readonly "destinationName"?: string; readonly "record"?: { readonly "productId": string; readonly "kind": string; readonly "objectId": string; readonly "title": string; }; readonly "createdAt"?: string; readonly "postedInRangeAmount"?: string; }>; readonly "nextCursor"?: string; readonly "statusCounts"?: { readonly [key: string]: number }; };
91
+ export type internal_transfer_listOutput = { readonly "items": ReadonlyArray<{ readonly "transferId": string; readonly "tenantId": string; readonly "amount"?: string; readonly "postedAmount"?: string; readonly "currency"?: string; readonly "sourceAccountId"?: string; readonly "destinationAccountId"?: string; readonly "status"?: "settled" | "reversed" | "accepted" | "reserved" | "posted" | "voided" | "failed"; readonly "expiresAt"?: string; readonly "expiredAt"?: string; readonly "metadata"?: internal_transfer_listOutput_Metadata; readonly "correctsTransferId"?: string; readonly "operationId"?: string; readonly "productName"?: string; readonly "accountLabel"?: string; readonly "ownerName"?: string; readonly "sourceName"?: string; readonly "destinationName"?: string; readonly "record"?: { readonly "productId": string; readonly "kind": string; readonly "objectId": string; readonly "title": string; }; readonly "createdAt"?: string; readonly "postedInRangeAmount"?: string; readonly "recordedAt"?: string; }>; readonly "nextCursor"?: string; readonly "statusCounts"?: { readonly [key: string]: number }; };
88
92
  type internal_transfer_listOutput_Metadata = { readonly [key: string]: internal_transfer_listOutput_MetadataValue };
89
93
  type internal_transfer_listOutput_MetadataValue = (internal_transfer_listOutput_MetadataScalar | ReadonlyArray<internal_transfer_listOutput_MetadataScalar> | { readonly [key: string]: internal_transfer_listOutput_MetadataScalar });
90
94
  type internal_transfer_listOutput_MetadataScalar = (string | number | boolean | null);
91
95
  export type internal_transfer_retrieveInput = { readonly "productId"?: string; readonly "transferId": string; };
92
- export type internal_transfer_retrieveOutput = { readonly "transferId": string; readonly "tenantId": string; readonly "amount"?: string; readonly "postedAmount"?: string; readonly "currency"?: string; readonly "sourceAccountId"?: string; readonly "destinationAccountId"?: string; readonly "status"?: "settled" | "reversed" | "accepted" | "reserved" | "posted" | "voided" | "failed"; readonly "expiresAt"?: string; readonly "expiredAt"?: string; readonly "metadata"?: internal_transfer_retrieveOutput_Metadata; readonly "correctsTransferId"?: string; readonly "operationId"?: string; readonly "productName"?: string; readonly "accountLabel"?: string; readonly "ownerName"?: string; readonly "sourceName"?: string; readonly "destinationName"?: string; readonly "record"?: { readonly "productId": string; readonly "kind": string; readonly "objectId": string; readonly "title": string; }; readonly "createdAt"?: string; readonly "postedInRangeAmount"?: string; };
96
+ export type internal_transfer_retrieveOutput = { readonly "transferId": string; readonly "tenantId": string; readonly "amount"?: string; readonly "postedAmount"?: string; readonly "currency"?: string; readonly "sourceAccountId"?: string; readonly "destinationAccountId"?: string; readonly "status"?: "settled" | "reversed" | "accepted" | "reserved" | "posted" | "voided" | "failed"; readonly "expiresAt"?: string; readonly "expiredAt"?: string; readonly "metadata"?: internal_transfer_retrieveOutput_Metadata; readonly "correctsTransferId"?: string; readonly "operationId"?: string; readonly "productName"?: string; readonly "accountLabel"?: string; readonly "ownerName"?: string; readonly "sourceName"?: string; readonly "destinationName"?: string; readonly "record"?: { readonly "productId": string; readonly "kind": string; readonly "objectId": string; readonly "title": string; }; readonly "createdAt"?: string; readonly "postedInRangeAmount"?: string; readonly "recordedAt"?: string; };
93
97
  type internal_transfer_retrieveOutput_Metadata = { readonly [key: string]: internal_transfer_retrieveOutput_MetadataValue };
94
98
  type internal_transfer_retrieveOutput_MetadataValue = (internal_transfer_retrieveOutput_MetadataScalar | ReadonlyArray<internal_transfer_retrieveOutput_MetadataScalar> | { readonly [key: string]: internal_transfer_retrieveOutput_MetadataScalar });
95
99
  type internal_transfer_retrieveOutput_MetadataScalar = (string | number | boolean | null);
@@ -161,7 +165,7 @@ export type product_schedule_listOutput = { readonly "effectiveAt": string; read
161
165
  export type product_treasury_retrieveInput = { readonly "productId": string; };
162
166
  export type product_treasury_retrieveOutput = { readonly "environment": "sandbox" | "live"; readonly "tenantId": string; readonly "productId": string; readonly "asOf": string; readonly "credit": { readonly "accountId": string; readonly "available": string; readonly "pending": string; readonly "settled": string; readonly "currency": "SAR"; }; readonly "earnRateFees": { readonly "accountId": string; readonly "available": string; readonly "pending": string; readonly "settled": string; readonly "currency": "SAR"; }; readonly "revenue": ReadonlyArray<{ readonly "currency": "SAR"; readonly "amount": string; }>; };
163
167
  export type product_work_listInput = { readonly "productId": string; readonly "cursor"?: string; readonly "limit"?: number; };
164
- export type product_work_listOutput = { readonly "effectiveAt": string; readonly "items": ReadonlyArray<{ readonly "object": { readonly "kind": string; readonly "objectId": string; }; readonly "recordTitle": string; readonly "agreement"?: { readonly "instanceId": string; }; readonly "lane": "needs_human" | "waiting_customer" | "waiting_provider" | "waiting_clock"; readonly "reason": string; readonly "responsibleRole": string; readonly "dueAt"?: string; readonly "evidenceReference"?: string; readonly "action"?: { readonly "name": string; readonly "title": string; readonly "attachment": string; readonly "instanceId": string; }; }>; readonly "complete": boolean; readonly "unavailable": ReadonlyArray<"work_counts_incomplete">; readonly "counts": { readonly "needsHuman": (number | null); readonly "waitingCustomer": (number | null); readonly "waitingProvider": (number | null); readonly "waitingClock": (number | null); }; readonly "nextCursor"?: string; };
168
+ export type product_work_listOutput = { readonly "effectiveAt": string; readonly "items": ReadonlyArray<{ readonly "object": { readonly "kind": string; readonly "objectId": string; }; readonly "recordTitle": string; readonly "agreement"?: { readonly "instanceId": string; }; readonly "lane": "needs_human" | "waiting_customer" | "waiting_provider" | "waiting_clock"; readonly "reason": string; readonly "responsibleRole": string; readonly "staffRole"?: "credit_underwriter"; readonly "customer"?: { readonly "name": string; readonly "customerId"?: string; }; readonly "amount"?: { readonly "value": string; readonly "currency": "SAR"; }; readonly "requestedAt"?: string; readonly "dueAt"?: string; readonly "evidenceReference"?: string; readonly "action"?: { readonly "name": string; readonly "title": string; readonly "attachment": string; readonly "instanceId": string; }; }>; readonly "complete": boolean; readonly "unavailable": ReadonlyArray<"work_counts_incomplete">; readonly "counts": { readonly "needsHuman": (number | null); readonly "waitingCustomer": (number | null); readonly "waitingProvider": (number | null); readonly "waitingClock": (number | null); }; readonly "nextCursor"?: string; };
165
169
  export type receipt_listInput = { readonly "productId"?: string; readonly "limit"?: number; readonly "cursor"?: string; readonly "query"?: string; readonly "createdFrom"?: string; readonly "createdTo"?: string; };
166
170
  export type receipt_listOutput = { readonly "items": ReadonlyArray<{ readonly "receiptId": string; readonly "tenantId"?: string; readonly "id": string; readonly "operationName"?: string; readonly "operationId"?: string; readonly "errorCode"?: string; readonly "errorMessage"?: string; readonly "moves"?: ReadonlyArray<{ readonly "transferId": string; readonly "sourceAccountId": string; readonly "destinationAccountId": string; readonly "amount": string; readonly "currency": "SAR"; readonly "phase": "post" | "reserve" | "post_pending" | "void_pending"; }>; readonly "status"?: string; readonly "createdAt"?: string; }>; readonly "nextCursor"?: string; readonly "statusCounts"?: { readonly [key: string]: number }; };
167
171
  export type receipt_retrieveInput = { readonly "productId"?: string; readonly "receiptId": string; };
@@ -232,9 +236,11 @@ readonly "customer_access.reactivate": { input: customer_access_reactivateInput;
232
236
  readonly "customer_access.retrieve": { input: customer_access_retrieveInput; output: customer_access_retrieveOutput; errorCode: "agent_approval_denied" | "agent_approval_required" | "agent_token_expired" | "agent_token_replaced" | "environment_mismatch" | "invalid_credentials" | "key_revoked" | "missing_required_permission" | "missing_required_product_capability" | "missing_required_scope" | "operation_not_allowed" | "product_access_suspended" | "product_activation_required" | "product_not_found" | "resource_reader_unavailable" | "session_expired" | "session_required" | "session_revoked" | "tenant_mismatch" | "tenant_status_forbidden" };
233
237
  readonly "customer_access.suspend": { input: customer_access_suspendInput; output: customer_access_suspendOutput; errorCode: "agent_approval_denied" | "agent_approval_required" | "agent_result_already_delivered" | "agent_token_expired" | "agent_token_replaced" | "csrf_token_invalid" | "customer_access_lifecycle_status_forbidden" | "customer_access_not_found" | "environment_mismatch" | "idempotency_conflict" | "idempotency_required" | "instrument_instance_not_found" | "invalid_credentials" | "key_revoked" | "missing_required_permission" | "missing_required_product_capability" | "missing_required_scope" | "operation_environment_invalid" | "operation_not_allowed" | "operation_not_finalized" | "product_access_suspended" | "product_activation_required" | "product_context_forbidden" | "product_context_mismatch" | "product_context_owner_mismatch" | "product_context_required" | "product_not_found" | "product_scope_required" | "product_scope_unsupported" | "product_status_forbidden" | "request_body_too_large" | "session_expired" | "session_required" | "session_revoked" | "state_constraint_failed" | "tenant_mismatch" | "tenant_status_forbidden" };
234
238
  readonly "customer.create": { input: customer_createInput; output: customer_createOutput; errorCode: "agent_approval_denied" | "agent_approval_required" | "agent_result_already_delivered" | "agent_token_expired" | "agent_token_replaced" | "csrf_token_invalid" | "customer_not_found" | "customer_status_forbidden" | "entity_not_found" | "entity_status_forbidden" | "environment_mismatch" | "idempotency_conflict" | "idempotency_required" | "instrument_instance_not_found" | "invalid_credentials" | "key_revoked" | "missing_required_permission" | "missing_required_product_capability" | "missing_required_scope" | "operation_not_allowed" | "operation_not_finalized" | "product_access_suspended" | "product_activation_required" | "request_body_too_large" | "session_expired" | "session_required" | "session_revoked" | "state_constraint_failed" | "tenant_mismatch" | "tenant_status_forbidden" };
239
+ readonly "customer.join": { input: customer_joinInput; output: customer_joinOutput; errorCode: "cross_tenant_transfer_forbidden" | "currency_mismatch" | "idempotency_conflict" | "idempotency_required" | "instrument_instance_not_found" | "insufficient_balance" | "join_link_expired" | "join_link_full" | "join_link_not_found" | "ledger_transfer_rejected" | "ledger_unavailable" | "operation_not_finalized" | "request_body_too_large" | "state_constraint_failed" | "tenant_status_forbidden" };
235
240
  readonly "customer.list": { input: customer_listInput; output: customer_listOutput; errorCode: "agent_approval_denied" | "agent_approval_required" | "agent_token_expired" | "agent_token_replaced" | "environment_mismatch" | "invalid_credentials" | "key_revoked" | "missing_required_permission" | "missing_required_product_capability" | "missing_required_scope" | "operation_not_allowed" | "product_access_suspended" | "product_activation_required" | "resource_reader_unavailable" | "session_expired" | "session_required" | "session_revoked" | "tenant_mismatch" | "tenant_status_forbidden" };
236
241
  readonly "customer.login": { input: customer_loginInput; output: customer_loginOutput; errorCode: "customer_access_required" | "customer_access_status_forbidden" | "customer_not_found" | "idempotency_conflict" | "idempotency_required" | "instrument_instance_not_found" | "invalid_credentials" | "operation_not_finalized" | "product_access_suspended" | "product_activation_required" | "product_not_found" | "request_body_too_large" | "state_constraint_failed" | "tenant_status_forbidden" };
237
242
  readonly "customer.logout": { input: customer_logoutInput; output: customer_logoutOutput; errorCode: "environment_mismatch" | "idempotency_conflict" | "idempotency_required" | "instrument_instance_not_found" | "missing_required_scope" | "operation_not_finalized" | "product_access_suspended" | "product_activation_required" | "request_body_too_large" | "session_required" | "state_constraint_failed" | "tenant_mismatch" };
243
+ readonly "customer.me.retrieve": { input: customer_me_retrieveInput; output: customer_me_retrieveOutput; errorCode: "environment_mismatch" | "ledger_unavailable" | "missing_required_scope" | "product_access_suspended" | "product_activation_required" | "resource_reader_unavailable" | "tenant_mismatch" | "tenant_status_forbidden" };
238
244
  readonly "customer.profile.update": { input: customer_profile_updateInput; output: customer_profile_updateOutput; errorCode: "agent_approval_denied" | "agent_approval_required" | "agent_result_already_delivered" | "agent_token_expired" | "agent_token_replaced" | "csrf_token_invalid" | "customer_erased" | "customer_not_found" | "entity_lifecycle_status_forbidden" | "entity_not_found" | "entity_status_forbidden" | "environment_mismatch" | "idempotency_conflict" | "idempotency_required" | "instrument_instance_not_found" | "invalid_credentials" | "key_revoked" | "missing_required_permission" | "missing_required_product_capability" | "missing_required_scope" | "operation_not_allowed" | "operation_not_finalized" | "product_access_suspended" | "product_activation_required" | "product_not_found" | "request_body_too_large" | "session_expired" | "session_required" | "session_revoked" | "state_constraint_failed" | "tenant_mismatch" | "tenant_status_forbidden" };
239
245
  readonly "customer.retrieve": { input: customer_retrieveInput; output: customer_retrieveOutput; errorCode: "agent_approval_denied" | "agent_approval_required" | "agent_token_expired" | "agent_token_replaced" | "environment_mismatch" | "invalid_credentials" | "key_revoked" | "missing_required_permission" | "missing_required_product_capability" | "missing_required_scope" | "operation_not_allowed" | "product_access_suspended" | "product_activation_required" | "product_not_found" | "resource_reader_unavailable" | "session_expired" | "session_required" | "session_revoked" | "tenant_mismatch" | "tenant_status_forbidden" };
240
246
  readonly "customer.session.revoke": { input: customer_session_revokeInput; output: customer_session_revokeOutput; errorCode: "environment_mismatch" | "idempotency_conflict" | "idempotency_required" | "instrument_instance_not_found" | "missing_required_scope" | "operation_not_finalized" | "product_access_suspended" | "product_activation_required" | "request_body_too_large" | "session_not_found" | "session_required" | "state_constraint_failed" | "tenant_mismatch" | "tenant_status_forbidden" };