@proveanything/smartlinks 2.0.29 → 2.0.31

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.
@@ -1,6 +1,6 @@
1
1
  # Smartlinks API Summary
2
2
 
3
- Version: 2.0.29 | Generated: 2026-09-29T10:33:46.286Z
3
+ Version: 2.0.31 | Generated: 2026-09-29T19:37:17.528Z
4
4
 
5
5
  This is a concise summary of all available API functions and types.
6
6
 
@@ -4711,6 +4711,27 @@ interface AppConfig {
4711
4711
  }
4712
4712
  ```
4713
4713
 
4714
+ **CollectionUser** (interface)
4715
+ ```typescript
4716
+ interface CollectionUser {
4717
+ uid: string
4718
+ access: CollectionAccessLevel | string
4719
+ name?: string
4720
+ email?: string
4721
+ }
4722
+ ```
4723
+
4724
+ **InviteUserInput** (interface)
4725
+ ```typescript
4726
+ interface InviteUserInput {
4727
+ email: string
4728
+ name?: string
4729
+ access: CollectionAccessLevel | string
4730
+ loginCollectionId?: string
4731
+ consoleOrigin?: string
4732
+ }
4733
+ ```
4734
+
4714
4735
  **CollectionResponse** = `Collection`
4715
4736
 
4716
4737
  **CollectionCreateRequest** = `Omit<Collection, 'id' | 'shortId'>`
@@ -4719,6 +4740,8 @@ interface AppConfig {
4719
4740
 
4720
4741
  **DomainTarget** = `"smartlinks" | "hub"`
4721
4742
 
4743
+ **CollectionAccessLevel** = `'Owner' | 'Admin' | 'Assigner' | 'Reporter' | 'User' | 'None'`
4744
+
4722
4745
  ### common
4723
4746
 
4724
4747
  **IdField** = `'userId' | 'contactId'`
@@ -6539,6 +6562,7 @@ interface FlowList {
6539
6562
  ```typescript
6540
6563
  interface RunFlowInput {
6541
6564
  entityId?: string
6565
+ trigger?: RunTrigger
6542
6566
  }
6543
6567
  ```
6544
6568
 
@@ -6551,6 +6575,128 @@ interface RunFlowSummary {
6551
6575
  sent: number
6552
6576
  failed: number
6553
6577
  status: RunStatus
6578
+ runId?: string
6579
+ }
6580
+ ```
6581
+
6582
+ **CapturedRequest** (interface)
6583
+ ```typescript
6584
+ interface CapturedRequest {
6585
+ transport: string
6586
+ method: string
6587
+ url: string
6588
+ headers: Record<string, string>
6589
+ partitionKey?: string
6590
+ body: unknown
6591
+ bodyBytes: number
6592
+ truncated: boolean
6593
+ }
6594
+ ```
6595
+
6596
+ **CapturedResponse** (interface)
6597
+ ```typescript
6598
+ interface CapturedResponse {
6599
+ status: number | null
6600
+ ok: boolean | null
6601
+ headers: Record<string, string>
6602
+ body: unknown
6603
+ bodyBytes: number
6604
+ truncated: boolean
6605
+ error: string | null
6606
+ }
6607
+ ```
6608
+
6609
+ **FlowRun** (interface)
6610
+ ```typescript
6611
+ interface FlowRun {
6612
+ id: string
6613
+ flowId: string
6614
+ connectionId?: string | null
6615
+ trigger: RunTrigger
6616
+ triggerEvent?: string | null
6617
+ triggerEntityId?: string | null
6618
+ status: FlowRunStatus
6619
+ records: number
6620
+ sent: number
6621
+ failed: number
6622
+ error?: string | null
6623
+ correlationId?: string | null
6624
+ captureLevel: CaptureLevel
6625
+ bodiesPurged: boolean
6626
+ startedAt: string
6627
+ completedAt?: string | null
6628
+ durationMs?: number | null
6629
+ }
6630
+ ```
6631
+
6632
+ **FlowRunItem** (interface)
6633
+ ```typescript
6634
+ interface FlowRunItem {
6635
+ id: string
6636
+ runId: string
6637
+ entityType: string
6638
+ entityId?: string | null
6639
+ entityLabel?: string | null
6640
+ status: FlowRunItemStatus
6641
+ skipReason?: string | null
6642
+ request?: CapturedRequest | null
6643
+ response?: CapturedResponse | null
6644
+ attempt: number
6645
+ durationMs?: number | null
6646
+ createdAt: string
6647
+ }
6648
+ ```
6649
+
6650
+ **ListRunsQuery** (interface)
6651
+ ```typescript
6652
+ interface ListRunsQuery {
6653
+ status?: FlowRunStatus
6654
+ trigger?: RunTrigger
6655
+ entityId?: string
6656
+ limit?: number
6657
+ cursor?: string
6658
+ }
6659
+ ```
6660
+
6661
+ **RunList** (interface)
6662
+ ```typescript
6663
+ interface RunList {
6664
+ runs: FlowRun[]; nextCursor?: string
6665
+ }
6666
+ ```
6667
+
6668
+ **ListRunItemsQuery** (interface)
6669
+ ```typescript
6670
+ interface ListRunItemsQuery {
6671
+ status?: FlowRunItemStatus; limit?: number; cursor?: string
6672
+ }
6673
+ ```
6674
+
6675
+ **RunItemList** (interface)
6676
+ ```typescript
6677
+ interface RunItemList {
6678
+ items: FlowRunItem[]; nextCursor?: string
6679
+ }
6680
+ ```
6681
+
6682
+ **LoggingWindow** (interface)
6683
+ ```typescript
6684
+ interface LoggingWindow {
6685
+ id: string
6686
+ connectionId: string
6687
+ level: CaptureLevel
6688
+ enabledBy?: string | null
6689
+ enabledAt: string
6690
+ expiresAt?: string | null
6691
+ canceledAt?: string | null
6692
+ }
6693
+ ```
6694
+
6695
+ **SetLoggingInput** (interface)
6696
+ ```typescript
6697
+ interface SetLoggingInput {
6698
+ ttlMinutes?: number
6699
+ level?: 'full' | 'errors_only'
6554
6700
  }
6555
6701
  ```
6556
6702
 
@@ -6637,6 +6783,14 @@ interface RecordTypesResponse {
6637
6783
 
6638
6784
  **UpdateFlowInput** = `Partial<Omit<CreateFlowInput, 'direction'>> & {`
6639
6785
 
6786
+ **RunTrigger** = `'manual' | 'event' | 'schedule' | 'test'`
6787
+
6788
+ **FlowRunStatus** = `'running' | 'success' | 'partial' | 'failed' | 'skipped'`
6789
+
6790
+ **FlowRunItemStatus** = `'sent' | 'failed' | 'skipped'`
6791
+
6792
+ **CaptureLevel** = `'metadata' | 'errors_only' | 'full'`
6793
+
6640
6794
  **RunFlowResult** = `RunFlowSummary | RunFlowEnqueued`
6641
6795
 
6642
6796
  ### interaction
@@ -10433,6 +10587,18 @@ Look up a serial number by code for a collection (admin only).
10433
10587
  value: any) → `Promise<any>`
10434
10588
  Assign a value to a serial number for a collection (admin only).
10435
10589
 
10590
+ **getUsers**(collectionId: string) → `Promise<CollectionUser[]>`
10591
+ List the users with access to a collection, each with their access level (admin only). Access is stored in the collection's `roles` map (userId → level); this resolves each to name/email. GET /admin/collection/:collectionId/getUsers
10592
+
10593
+ **setUserAccess**(collectionId: string,
10594
+ userId: string,
10595
+ access: CollectionAccessLevel | null) → `Promise<void>`
10596
+ Grant, change, or remove a user's access level on a collection (admin only). Pass `null` or `'None'` to remove access. The server enforces privilege-escalation rules — you cannot grant an access level above your own, nor change a user whose level is above yours. POST /admin/collection/:collectionId/updateUserAccess
10597
+
10598
+ **inviteUser**(collectionId: string,
10599
+ input: InviteUserInput) → `Promise<`
10600
+ Invite a user to a collection by email (admin only). Creates or links their account in the login / auth-kit collection (`loginCollectionId`, default `'global'`) and emails them an invite (new account) or an added-to-collection notice (existing account); returns their `uid`. This does NOT grant access on its own — follow with {@link setUserAccess} to set their level (this mirrors the console flow). POST /user/inviteUser
10601
+
10436
10602
  ### comms
10437
10603
 
10438
10604
  **getPushVapidPublicKey**(collectionId: string) → `Promise<import("../types/comms").PushVapidResponse>`
@@ -10815,6 +10981,27 @@ Type guard: the run executed inline and returned a summary.
10815
10981
  **isRunEnqueued**(r: RunFlowResult) → `r is RunFlowEnqueued`
10816
10982
  Type guard: the run was enqueued (async).
10817
10983
 
10984
+ **listRuns**(collectionId: string, flowId: string, query: ListRunsQuery = {}) → `Promise<RunList>`
10985
+ List a flow's runs, newest first. GET /integrations/flows/:id/runs
10986
+
10987
+ **getRun**(collectionId: string, flowId: string, runId: string) → `Promise<FlowRun>`
10988
+ Get one run's summary. GET /integrations/flows/:id/runs/:runId
10989
+
10990
+ **listRunItems**(collectionId: string, flowId: string, runId: string, query: ListRunItemsQuery = {}) → `Promise<RunItemList>`
10991
+ List a run's per-record items. GET /integrations/flows/:id/runs/:runId/items `request`/`response` are populated only for items captured while enhanced logging was active (and before the 24h body purge).
10992
+
10993
+ **listEntityRuns**(collectionId: string, entityId: string, query: { limit?: number } = {}) → `Promise<RunList>`
10994
+ Every run touching an entity (e.g. a product), across flows. GET /integrations/runs/entity/:entityId
10995
+
10996
+ **getLogging**(collectionId: string, connectionId: string) → `Promise<`
10997
+ Is enhanced logging active for a connection? GET /integrations/logging/:connectionId
10998
+
10999
+ **setLogging**(collectionId: string, connectionId: string, input: SetLoggingInput = {}) → `Promise<`
11000
+ Enable enhanced logging. POST /integrations/logging/:connectionId (omit ttlMinutes = until cancelled)
11001
+
11002
+ **cancelLogging**(collectionId: string, connectionId: string) → `Promise<`
11003
+ Cancel enhanced logging now. DELETE /integrations/logging/:connectionId
11004
+
10818
11005
  ### interactions
10819
11006
 
10820
11007
  **query**(collectionId: string,
package/openapi.yaml CHANGED
@@ -4334,6 +4334,35 @@ paths:
4334
4334
  description: Unauthorized
4335
4335
  404:
4336
4336
  description: Not found
4337
+ /admin/collection/{collectionId}/getUsers:
4338
+ get:
4339
+ tags:
4340
+ - collection
4341
+ summary: List the users with access to a collection, each with their access level (admin only).
4342
+ operationId: collection_getUsers
4343
+ security:
4344
+ - bearerAuth: []
4345
+ parameters:
4346
+ - name: collectionId
4347
+ in: path
4348
+ required: true
4349
+ schema:
4350
+ type: string
4351
+ responses:
4352
+ 200:
4353
+ description: Success
4354
+ content:
4355
+ application/json:
4356
+ schema:
4357
+ type: array
4358
+ items:
4359
+ $ref: "#/components/schemas/CollectionUser"
4360
+ 400:
4361
+ description: Bad request
4362
+ 401:
4363
+ description: Unauthorized
4364
+ 404:
4365
+ description: Not found
4337
4366
  /admin/collection/{collectionId}/hub:
4338
4367
  post:
4339
4368
  tags:
@@ -4415,6 +4444,38 @@ paths:
4415
4444
  description: Unauthorized
4416
4445
  404:
4417
4446
  description: Not found
4447
+ /admin/collection/{collectionId}/integrations/runs/entity/{entityId}:
4448
+ get:
4449
+ tags:
4450
+ - integrations
4451
+ summary: Every run touching an entity (e.g.
4452
+ operationId: integrations_listEntityRuns
4453
+ security:
4454
+ - bearerAuth: []
4455
+ parameters:
4456
+ - name: collectionId
4457
+ in: path
4458
+ required: true
4459
+ schema:
4460
+ type: string
4461
+ - name: entityId
4462
+ in: path
4463
+ required: true
4464
+ schema:
4465
+ type: string
4466
+ responses:
4467
+ 200:
4468
+ description: Success
4469
+ content:
4470
+ application/json:
4471
+ schema:
4472
+ $ref: "#/components/schemas/RunList"
4473
+ 400:
4474
+ description: Bad request
4475
+ 401:
4476
+ description: Unauthorized
4477
+ 404:
4478
+ description: Not found
4418
4479
  /admin/collection/{collectionId}/interactions:
4419
4480
  get:
4420
4481
  tags:
@@ -8694,6 +8755,38 @@ paths:
8694
8755
  application/json:
8695
8756
  schema:
8696
8757
  $ref: "#/components/schemas/TranslationUpdateRequest"
8758
+ /admin/collection/{collectionId}/updateUserAccess:
8759
+ post:
8760
+ tags:
8761
+ - collection
8762
+ summary: "Grant, change, or remove a user's access level on a collection (admin only)."
8763
+ operationId: collection_setUserAccess
8764
+ security:
8765
+ - bearerAuth: []
8766
+ parameters:
8767
+ - name: collectionId
8768
+ in: path
8769
+ required: true
8770
+ schema:
8771
+ type: string
8772
+ responses:
8773
+ 200:
8774
+ description: Success
8775
+ content:
8776
+ application/json:
8777
+ schema: {}
8778
+ 400:
8779
+ description: Bad request
8780
+ 401:
8781
+ description: Unauthorized
8782
+ 404:
8783
+ description: Not found
8784
+ requestBody:
8785
+ required: true
8786
+ content:
8787
+ application/json:
8788
+ schema:
8789
+ $ref: "#/components/schemas/CollectionAccessLevel"
8697
8790
  /admin/collection/{encodedCollectionId}/comm/send:
8698
8791
  post:
8699
8792
  tags:
@@ -22709,6 +22802,38 @@ components:
22709
22802
  $ref: "#/components/schemas/AppConfig"
22710
22803
  required:
22711
22804
  - apps
22805
+ CollectionUser:
22806
+ type: object
22807
+ properties:
22808
+ uid:
22809
+ type: string
22810
+ access:
22811
+ type: object
22812
+ additionalProperties: true
22813
+ name:
22814
+ type: string
22815
+ email:
22816
+ type: string
22817
+ required:
22818
+ - uid
22819
+ - access
22820
+ InviteUserInput:
22821
+ type: object
22822
+ properties:
22823
+ email:
22824
+ type: string
22825
+ name:
22826
+ type: string
22827
+ access:
22828
+ type: object
22829
+ additionalProperties: true
22830
+ loginCollectionId:
22831
+ type: string
22832
+ consoleOrigin:
22833
+ type: string
22834
+ required:
22835
+ - email
22836
+ - access
22712
22837
  CollectionResponse:
22713
22838
  $ref: "#/components/schemas/Collection"
22714
22839
  CollectionCreateRequest:
@@ -22718,6 +22843,15 @@ components:
22718
22843
  DomainTarget:
22719
22844
  type: object
22720
22845
  additionalProperties: true
22846
+ CollectionAccessLevel:
22847
+ type: string
22848
+ enum:
22849
+ - Owner
22850
+ - Admin
22851
+ - Assigner
22852
+ - Reporter
22853
+ - User
22854
+ - None
22721
22855
  IdField:
22722
22856
  type: string
22723
22857
  enum:
@@ -25148,6 +25282,8 @@ components:
25148
25282
  properties:
25149
25283
  entityId:
25150
25284
  type: string
25285
+ trigger:
25286
+ $ref: "#/components/schemas/RunTrigger"
25151
25287
  RunFlowSummary:
25152
25288
  type: object
25153
25289
  properties:
@@ -25163,6 +25299,8 @@ components:
25163
25299
  type: number
25164
25300
  status:
25165
25301
  $ref: "#/components/schemas/RunStatus"
25302
+ runId:
25303
+ type: string
25166
25304
  required:
25167
25305
  - flowId
25168
25306
  - direction
@@ -25170,6 +25308,209 @@ components:
25170
25308
  - sent
25171
25309
  - failed
25172
25310
  - status
25311
+ CapturedRequest:
25312
+ type: object
25313
+ properties:
25314
+ transport:
25315
+ type: string
25316
+ method:
25317
+ type: string
25318
+ url:
25319
+ type: string
25320
+ headers:
25321
+ type: object
25322
+ additionalProperties:
25323
+ type: string
25324
+ partitionKey:
25325
+ type: string
25326
+ body: {}
25327
+ bodyBytes:
25328
+ type: number
25329
+ truncated:
25330
+ type: boolean
25331
+ required:
25332
+ - transport
25333
+ - method
25334
+ - url
25335
+ - headers
25336
+ - body
25337
+ - bodyBytes
25338
+ - truncated
25339
+ CapturedResponse:
25340
+ type: object
25341
+ properties:
25342
+ status:
25343
+ type: number
25344
+ ok:
25345
+ type: boolean
25346
+ headers:
25347
+ type: object
25348
+ additionalProperties:
25349
+ type: string
25350
+ body: {}
25351
+ bodyBytes:
25352
+ type: number
25353
+ truncated:
25354
+ type: boolean
25355
+ error:
25356
+ type: string
25357
+ required:
25358
+ - status
25359
+ - ok
25360
+ - headers
25361
+ - body
25362
+ - bodyBytes
25363
+ - truncated
25364
+ - error
25365
+ FlowRun:
25366
+ type: object
25367
+ properties:
25368
+ id:
25369
+ type: string
25370
+ flowId:
25371
+ type: string
25372
+ connectionId:
25373
+ type: string
25374
+ trigger:
25375
+ $ref: "#/components/schemas/RunTrigger"
25376
+ triggerEvent:
25377
+ type: string
25378
+ triggerEntityId:
25379
+ type: string
25380
+ status:
25381
+ $ref: "#/components/schemas/FlowRunStatus"
25382
+ records:
25383
+ type: number
25384
+ sent:
25385
+ type: number
25386
+ failed:
25387
+ type: number
25388
+ error:
25389
+ type: string
25390
+ correlationId:
25391
+ type: string
25392
+ captureLevel:
25393
+ $ref: "#/components/schemas/CaptureLevel"
25394
+ bodiesPurged:
25395
+ type: boolean
25396
+ startedAt:
25397
+ type: string
25398
+ completedAt:
25399
+ type: string
25400
+ durationMs:
25401
+ type: number
25402
+ required:
25403
+ - id
25404
+ - flowId
25405
+ - trigger
25406
+ - status
25407
+ - records
25408
+ - sent
25409
+ - failed
25410
+ - captureLevel
25411
+ - bodiesPurged
25412
+ - startedAt
25413
+ FlowRunItem:
25414
+ type: object
25415
+ properties:
25416
+ id:
25417
+ type: string
25418
+ runId:
25419
+ type: string
25420
+ entityType:
25421
+ type: string
25422
+ entityId:
25423
+ type: string
25424
+ entityLabel:
25425
+ type: string
25426
+ status:
25427
+ $ref: "#/components/schemas/FlowRunItemStatus"
25428
+ skipReason:
25429
+ type: string
25430
+ request:
25431
+ $ref: "#/components/schemas/CapturedRequest"
25432
+ response:
25433
+ $ref: "#/components/schemas/CapturedResponse"
25434
+ attempt:
25435
+ type: number
25436
+ durationMs:
25437
+ type: number
25438
+ createdAt:
25439
+ type: string
25440
+ required:
25441
+ - id
25442
+ - runId
25443
+ - entityType
25444
+ - status
25445
+ - attempt
25446
+ - createdAt
25447
+ ListRunsQuery:
25448
+ type: object
25449
+ properties:
25450
+ status:
25451
+ $ref: "#/components/schemas/FlowRunStatus"
25452
+ trigger:
25453
+ $ref: "#/components/schemas/RunTrigger"
25454
+ entityId:
25455
+ type: string
25456
+ limit:
25457
+ type: number
25458
+ cursor:
25459
+ type: string
25460
+ RunList:
25461
+ type: object
25462
+ properties:
25463
+ runs:
25464
+ type: object
25465
+ additionalProperties: true
25466
+ required:
25467
+ - runs
25468
+ ListRunItemsQuery:
25469
+ type: object
25470
+ properties:
25471
+ status:
25472
+ type: object
25473
+ additionalProperties: true
25474
+ RunItemList:
25475
+ type: object
25476
+ properties:
25477
+ items:
25478
+ type: object
25479
+ additionalProperties: true
25480
+ required:
25481
+ - items
25482
+ LoggingWindow:
25483
+ type: object
25484
+ properties:
25485
+ id:
25486
+ type: string
25487
+ connectionId:
25488
+ type: string
25489
+ level:
25490
+ $ref: "#/components/schemas/CaptureLevel"
25491
+ enabledBy:
25492
+ type: string
25493
+ enabledAt:
25494
+ type: string
25495
+ expiresAt:
25496
+ type: string
25497
+ canceledAt:
25498
+ type: string
25499
+ required:
25500
+ - id
25501
+ - connectionId
25502
+ - level
25503
+ - enabledAt
25504
+ SetLoggingInput:
25505
+ type: object
25506
+ properties:
25507
+ ttlMinutes:
25508
+ type: number
25509
+ level:
25510
+ type: string
25511
+ enum:
25512
+ - full
25513
+ - errors_only
25173
25514
  RunFlowEnqueued:
25174
25515
  type: object
25175
25516
  properties:
@@ -25308,6 +25649,33 @@ components:
25308
25649
  - none
25309
25650
  UpdateFlowInput:
25310
25651
  $ref: "#/components/schemas/CreateFlowInput"
25652
+ RunTrigger:
25653
+ type: string
25654
+ enum:
25655
+ - manual
25656
+ - event
25657
+ - schedule
25658
+ - test
25659
+ FlowRunStatus:
25660
+ type: string
25661
+ enum:
25662
+ - running
25663
+ - success
25664
+ - partial
25665
+ - failed
25666
+ - skipped
25667
+ FlowRunItemStatus:
25668
+ type: string
25669
+ enum:
25670
+ - sent
25671
+ - failed
25672
+ - skipped
25673
+ CaptureLevel:
25674
+ type: string
25675
+ enum:
25676
+ - metadata
25677
+ - errors_only
25678
+ - full
25311
25679
  RunFlowResult:
25312
25680
  anyOf:
25313
25681
  - $ref: "#/components/schemas/RunFlowSummary"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proveanything/smartlinks",
3
- "version": "2.0.29",
3
+ "version": "2.0.31",
4
4
  "description": "Official JavaScript/TypeScript SDK for the Smartlinks API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",