@proveanything/smartlinks 1.13.5 → 1.13.8

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/openapi.yaml CHANGED
@@ -57,6 +57,27 @@ tags:
57
57
  security:
58
58
  - bearerAuth: []
59
59
  paths:
60
+ /admin/auth/push:
61
+ get:
62
+ tags:
63
+ - realtime
64
+ summary: Get an Ably token for admin real-time communication.
65
+ operationId: realtime_getAdminToken
66
+ security:
67
+ - bearerAuth: []
68
+ responses:
69
+ 200:
70
+ description: Success
71
+ content:
72
+ application/json:
73
+ schema:
74
+ $ref: "#/components/schemas/AblyTokenRequest"
75
+ 400:
76
+ description: Bad request
77
+ 401:
78
+ description: Unauthorized
79
+ 404:
80
+ description: Not found
60
81
  /admin/auth/requestJWT:
61
82
  post:
62
83
  tags:
@@ -2177,39 +2198,6 @@ paths:
2177
2198
  application/json:
2178
2199
  schema:
2179
2200
  $ref: "#/components/schemas/BroadcastSendTestRequest"
2180
- /admin/collection/{collectionId}/comm.send:
2181
- post:
2182
- tags:
2183
- - comms
2184
- summary: Send a single transactional message to one contact using a template.
2185
- operationId: comms_sendTransactional
2186
- security:
2187
- - bearerAuth: []
2188
- parameters:
2189
- - name: collectionId
2190
- in: path
2191
- required: true
2192
- schema:
2193
- type: string
2194
- responses:
2195
- 200:
2196
- description: Success
2197
- content:
2198
- application/json:
2199
- schema:
2200
- $ref: "#/components/schemas/TransactionalSendResult"
2201
- 400:
2202
- description: Bad request
2203
- 401:
2204
- description: Unauthorized
2205
- 404:
2206
- description: Not found
2207
- requestBody:
2208
- required: true
2209
- content:
2210
- application/json:
2211
- schema:
2212
- $ref: "#/components/schemas/TransactionalSendRequest"
2213
2201
  /admin/collection/{collectionId}/comm.settings:
2214
2202
  get:
2215
2203
  tags:
@@ -7835,42 +7823,18 @@ paths:
7835
7823
  application/json:
7836
7824
  schema:
7837
7825
  $ref: "#/components/schemas/TranslationUpdateRequest"
7838
- /api/admin/auth/push:
7839
- get:
7840
- tags:
7841
- - realtime
7842
- summary: Get an Ably token for admin real-time communication.
7843
- operationId: realtime_getAdminToken
7844
- security: []
7845
- responses:
7846
- 200:
7847
- description: Success
7848
- content:
7849
- application/json:
7850
- schema:
7851
- $ref: "#/components/schemas/AblyTokenRequest"
7852
- 400:
7853
- description: Bad request
7854
- 401:
7855
- description: Unauthorized
7856
- 404:
7857
- description: Not found
7858
- /api/public/push/token:
7859
- get:
7826
+ /admin/collection/{encodedCollectionId}/comm/send:
7827
+ post:
7860
7828
  tags:
7861
- - realtime
7862
- summary: realtime.getPublicToken
7863
- operationId: realtime_getPublicToken
7864
- security: []
7829
+ - comms
7830
+ summary: Send a single transactional message to one contact using a template.
7831
+ operationId: comms_sendTransactional
7832
+ security:
7833
+ - bearerAuth: []
7865
7834
  parameters:
7866
- - name: collectionId
7867
- in: query
7868
- required: false
7869
- schema:
7870
- type: string
7871
- - name: appId
7872
- in: query
7873
- required: false
7835
+ - name: encodedCollectionId
7836
+ in: path
7837
+ required: true
7874
7838
  schema:
7875
7839
  type: string
7876
7840
  responses:
@@ -7879,13 +7843,19 @@ paths:
7879
7843
  content:
7880
7844
  application/json:
7881
7845
  schema:
7882
- $ref: "#/components/schemas/AblyTokenRequest"
7846
+ $ref: "#/components/schemas/TransactionalSendResult"
7883
7847
  400:
7884
7848
  description: Bad request
7885
7849
  401:
7886
7850
  description: Unauthorized
7887
7851
  404:
7888
7852
  description: Not found
7853
+ requestBody:
7854
+ required: true
7855
+ content:
7856
+ application/json:
7857
+ schema:
7858
+ $ref: "#/components/schemas/TransactionalSendRequest"
7889
7859
  /authKit/{authKitId}/config:
7890
7860
  get:
7891
7861
  tags:
@@ -8359,7 +8329,7 @@ paths:
8359
8329
  post:
8360
8330
  tags:
8361
8331
  - authKit
8362
- summary: Verify phone verification code (public).
8332
+ summary: Upsert contact identity after lightweight verification (public).
8363
8333
  operationId: authKit_requestPasswordReset
8364
8334
  security: []
8365
8335
  parameters:
@@ -8421,6 +8391,64 @@ paths:
8421
8391
  schema:
8422
8392
  type: object
8423
8393
  additionalProperties: true
8394
+ /authkit/{clientId}/auth/sms/send:
8395
+ post:
8396
+ tags:
8397
+ - authKit
8398
+ summary: Send an SMS click-to-verify link (public).
8399
+ operationId: authKit_sendSmsVerify
8400
+ security: []
8401
+ parameters:
8402
+ - name: clientId
8403
+ in: path
8404
+ required: true
8405
+ schema:
8406
+ type: string
8407
+ responses:
8408
+ 200:
8409
+ description: Success
8410
+ content:
8411
+ application/json:
8412
+ schema:
8413
+ $ref: "#/components/schemas/SendSmsVerifyResponse"
8414
+ 400:
8415
+ description: Bad request
8416
+ 401:
8417
+ description: Unauthorized
8418
+ 404:
8419
+ description: Not found
8420
+ requestBody:
8421
+ required: true
8422
+ content:
8423
+ application/json:
8424
+ schema:
8425
+ $ref: "#/components/schemas/SendSmsVerifyRequest"
8426
+ /authkit/{clientId}/auth/sms/verify:
8427
+ post:
8428
+ tags:
8429
+ - authKit
8430
+ summary: Verify an SMS click-to-verify token via API (public).
8431
+ operationId: authKit_verifySms
8432
+ security: []
8433
+ parameters:
8434
+ - name: clientId
8435
+ in: path
8436
+ required: true
8437
+ schema:
8438
+ type: string
8439
+ responses:
8440
+ 200:
8441
+ description: Success
8442
+ content:
8443
+ application/json:
8444
+ schema:
8445
+ $ref: "#/components/schemas/VerifySmsResponse"
8446
+ 400:
8447
+ description: Bad request
8448
+ 401:
8449
+ description: Unauthorized
8450
+ 404:
8451
+ description: Not found
8424
8452
  /authkit/{clientId}/auth/verify-email:
8425
8453
  post:
8426
8454
  tags:
@@ -8473,6 +8501,122 @@ paths:
8473
8501
  description: Unauthorized
8474
8502
  404:
8475
8503
  description: Not found
8504
+ /authkit/{clientId}/auth/whatsapp/send:
8505
+ post:
8506
+ tags:
8507
+ - authKit
8508
+ summary: Send a WhatsApp verification deep-link (public).
8509
+ operationId: authKit_sendWhatsApp
8510
+ security: []
8511
+ parameters:
8512
+ - name: clientId
8513
+ in: path
8514
+ required: true
8515
+ schema:
8516
+ type: string
8517
+ responses:
8518
+ 200:
8519
+ description: Success
8520
+ content:
8521
+ application/json:
8522
+ schema:
8523
+ $ref: "#/components/schemas/SendWhatsAppResponse"
8524
+ 400:
8525
+ description: Bad request
8526
+ 401:
8527
+ description: Unauthorized
8528
+ 404:
8529
+ description: Not found
8530
+ requestBody:
8531
+ required: true
8532
+ content:
8533
+ application/json:
8534
+ schema:
8535
+ $ref: "#/components/schemas/SendWhatsAppRequest"
8536
+ /authkit/{clientId}/auth/whatsapp/status:
8537
+ get:
8538
+ tags:
8539
+ - authKit
8540
+ summary: Poll WhatsApp verification status for a token (public).
8541
+ operationId: authKit_getWhatsAppStatus
8542
+ security: []
8543
+ parameters:
8544
+ - name: clientId
8545
+ in: path
8546
+ required: true
8547
+ schema:
8548
+ type: string
8549
+ responses:
8550
+ 200:
8551
+ description: Success
8552
+ content:
8553
+ application/json:
8554
+ schema:
8555
+ $ref: "#/components/schemas/WhatsAppStatusResponse"
8556
+ 400:
8557
+ description: Bad request
8558
+ 401:
8559
+ description: Unauthorized
8560
+ 404:
8561
+ description: Not found
8562
+ /authkit/{clientId}/auth/whatsapp/verify:
8563
+ post:
8564
+ tags:
8565
+ - authKit
8566
+ summary: Manually verify WhatsApp token if inbound webhook path is unavailable (public).
8567
+ operationId: authKit_verifyWhatsApp
8568
+ security: []
8569
+ parameters:
8570
+ - name: clientId
8571
+ in: path
8572
+ required: true
8573
+ schema:
8574
+ type: string
8575
+ responses:
8576
+ 200:
8577
+ description: Success
8578
+ content:
8579
+ application/json:
8580
+ schema:
8581
+ $ref: "#/components/schemas/VerifyWhatsAppResponse"
8582
+ 400:
8583
+ description: Bad request
8584
+ 401:
8585
+ description: Unauthorized
8586
+ 404:
8587
+ description: Not found
8588
+ /authkit/{clientId}/contact/upsert:
8589
+ post:
8590
+ tags:
8591
+ - authKit
8592
+ summary: Upsert contact identity after lightweight verification (public).
8593
+ operationId: authKit_upsertContact
8594
+ security: []
8595
+ parameters:
8596
+ - name: clientId
8597
+ in: path
8598
+ required: true
8599
+ schema:
8600
+ type: string
8601
+ responses:
8602
+ 200:
8603
+ description: Success
8604
+ content:
8605
+ application/json:
8606
+ schema:
8607
+ $ref: "#/components/schemas/UpsertContactResponse"
8608
+ 400:
8609
+ description: Bad request
8610
+ 401:
8611
+ description: Unauthorized
8612
+ 404:
8613
+ description: Not found
8614
+ requestBody:
8615
+ required: true
8616
+ content:
8617
+ application/json:
8618
+ schema:
8619
+ $ref: "#/components/schemas/UpsertContactRequest"
8476
8620
  /platform/location:
8477
8621
  post:
8478
8622
  tags:
@@ -11840,6 +11984,37 @@ paths:
11840
11984
  application/json:
11841
11985
  schema:
11842
11986
  $ref: "#/components/schemas/NfcValidateRequest"
11987
+ /public/push/token:
11988
+ get:
11989
+ tags:
11990
+ - realtime
11991
+ summary: realtime.getPublicToken
11992
+ operationId: realtime_getPublicToken
11993
+ security: []
11994
+ parameters:
11995
+ - name: collectionId
11996
+ in: query
11997
+ required: false
11998
+ schema:
11999
+ type: string
12000
+ - name: appId
12001
+ in: query
12002
+ required: false
12003
+ schema:
12004
+ type: string
12005
+ responses:
12006
+ 200:
12007
+ description: Success
12008
+ content:
12009
+ application/json:
12010
+ schema:
12011
+ $ref: "#/components/schemas/AblyTokenRequest"
12012
+ 400:
12013
+ description: Bad request
12014
+ 401:
12015
+ description: Unauthorized
12016
+ 404:
12017
+ description: Not found
11843
12018
  /public/qr/lookupShortCode/{shortId}/{code}:
11844
12019
  get:
11845
12020
  tags:
@@ -12327,7 +12502,7 @@ paths:
12327
12502
  get:
12328
12503
  tags:
12329
12504
  - records
12330
- summary: List records with optional query parameters GET /records
12505
+ summary: "List records with optional query parameters GET /records Public/owner callers only receive records with `status: \"active\"`."
12331
12506
  operationId: records_list
12332
12507
  security: []
12333
12508
  parameters:
@@ -12346,6 +12521,11 @@ paths:
12346
12521
  required: true
12347
12522
  schema:
12348
12523
  type: string
12524
+ - name: status
12525
+ in: query
12526
+ required: false
12527
+ schema:
12528
+ type: string
12349
12529
  - name: recordType
12350
12530
  in: query
12351
12531
  required: false
@@ -16265,6 +16445,8 @@ components:
16265
16445
  RecordListQueryParams:
16266
16446
  type: object
16267
16447
  properties:
16448
+ status:
16449
+ type: string
16268
16450
  recordType:
16269
16451
  type: string
16270
16452
  ref:
@@ -17682,6 +17864,139 @@ components:
17682
17864
  required:
17683
17865
  - success
17684
17866
  - message
17867
+ SendWhatsAppRequest:
17868
+ type: object
17869
+ properties:
17870
+ phoneNumber:
17871
+ type: string
17872
+ redirectUrl:
17873
+ type: string
17874
+ required:
17875
+ - phoneNumber
17876
+ - redirectUrl
17877
+ SendWhatsAppResponse:
17878
+ type: object
17879
+ properties:
17880
+ waLink:
17881
+ type: string
17882
+ code:
17883
+ type: string
17884
+ token:
17885
+ type: string
17886
+ expiresAt:
17887
+ type: string
17888
+ required:
17889
+ - waLink
17890
+ - code
17891
+ - token
17892
+ - expiresAt
17893
+ VerifyWhatsAppResponse:
17894
+ type: object
17895
+ properties:
17896
+ success:
17897
+ type: boolean
17898
+ verified:
17899
+ type: boolean
17900
+ redirectUrl:
17901
+ type: string
17902
+ required:
17903
+ - success
17904
+ - verified
17905
+ WhatsAppStatusResponse:
17906
+ type: object
17907
+ properties:
17908
+ ok:
17909
+ type: boolean
17910
+ status:
17911
+ $ref: "#/components/schemas/VerifyStatus"
17912
+ verified:
17913
+ type: boolean
17914
+ redirectUrl:
17915
+ type: string
17916
+ phoneNumber:
17917
+ type: string
17918
+ updatedAt: {}
17919
+ required:
17920
+ - ok
17921
+ - status
17922
+ - verified
17923
+ SendSmsVerifyRequest:
17924
+ type: object
17925
+ properties:
17926
+ phoneNumber:
17927
+ type: string
17928
+ redirectUrl:
17929
+ type: string
17930
+ ctaText:
17931
+ type: string
17932
+ required:
17933
+ - phoneNumber
17934
+ - redirectUrl
17935
+ SendSmsVerifyResponse:
17936
+ type: object
17937
+ properties:
17938
+ success:
17939
+ type: boolean
17940
+ expiresAt:
17941
+ type: string
17942
+ required:
17943
+ - success
17944
+ - expiresAt
17945
+ VerifySmsResponse:
17946
+ type: object
17947
+ properties:
17948
+ verified:
17949
+ type: boolean
17950
+ redirectUrl:
17951
+ type: string
17952
+ phoneNumber:
17953
+ type: string
17954
+ required:
17955
+ - verified
17956
+ UpsertContactRequest:
17957
+ type: object
17958
+ properties:
17959
+ collectionId:
17960
+ type: string
17961
+ phone:
17962
+ type: string
17963
+ email:
17964
+ type: string
17965
+ name:
17966
+ type: string
17967
+ firstName:
17968
+ type: string
17969
+ lastName:
17970
+ type: string
17971
+ displayName:
17972
+ type: string
17973
+ source:
17974
+ type: string
17975
+ customFields:
17976
+ type: object
17977
+ additionalProperties: true
17978
+ externalIds:
17979
+ type: object
17980
+ additionalProperties: true
17981
+ UpsertContactResponse:
17982
+ type: object
17983
+ properties:
17984
+ ok:
17985
+ type: boolean
17986
+ collectionId:
17987
+ type: string
17988
+ contactId:
17989
+ type: string
17990
+ userId:
17991
+ type: string
17992
+ created:
17993
+ type: boolean
17994
+ required:
17995
+ - ok
17996
+ - collectionId
17997
+ - contactId
17998
+ - userId
17999
+ - created
17685
18000
  AuthKitBrandingConfig:
17686
18001
  type: object
17687
18002
  properties:
@@ -18864,6 +19179,7 @@ components:
18864
19179
  enum:
18865
19180
  - email
18866
19181
  - sms
19182
+ - whatsapp
18867
19183
  - push
18868
19184
  - wallet
18869
19185
  - preferred
@@ -18905,6 +19221,7 @@ components:
18905
19221
  enum:
18906
19222
  - email
18907
19223
  - sms
19224
+ - whatsapp
18908
19225
  - push
18909
19226
  - wallet
18910
19227
  messageId:
@@ -590,6 +590,11 @@ export interface UpdateRecordInput {
590
590
  * Query parameters for listing records
591
591
  */
592
592
  export interface RecordListQueryParams extends ListQueryParams {
593
+ /**
594
+ * Admin: any status or `in:a,b,c` filter is allowed.
595
+ * Public/owner: results are restricted to active records.
596
+ */
597
+ status?: string;
593
598
  recordType?: string;
594
599
  ref?: string;
595
600
  /** Filter records whose ref starts with this value */
@@ -75,6 +75,63 @@ export interface EmailVerifyTokenResponse {
75
75
  accountData?: Record<string, any>;
76
76
  emailVerificationMode?: 'immediate' | 'verify-auto-login' | 'verify-manual-login';
77
77
  }
78
+ export type VerifyStatus = 'pending' | 'verified' | 'failed' | 'expired' | 'unknown';
79
+ export interface SendWhatsAppRequest {
80
+ phoneNumber: string;
81
+ redirectUrl: string;
82
+ }
83
+ export interface SendWhatsAppResponse {
84
+ waLink: string;
85
+ code: string;
86
+ token: string;
87
+ expiresAt: string;
88
+ }
89
+ export interface VerifyWhatsAppResponse {
90
+ success: boolean;
91
+ verified: boolean;
92
+ redirectUrl?: string | null;
93
+ }
94
+ export interface WhatsAppStatusResponse {
95
+ ok: boolean;
96
+ status: VerifyStatus;
97
+ verified: boolean;
98
+ redirectUrl?: string | null;
99
+ phoneNumber?: string | null;
100
+ updatedAt?: unknown;
101
+ }
102
+ export interface SendSmsVerifyRequest {
103
+ phoneNumber: string;
104
+ redirectUrl: string;
105
+ ctaText?: string;
106
+ }
107
+ export interface SendSmsVerifyResponse {
108
+ success: boolean;
109
+ expiresAt: string;
110
+ }
111
+ export interface VerifySmsResponse {
112
+ verified: boolean;
113
+ redirectUrl?: string | null;
114
+ phoneNumber?: string | null;
115
+ }
116
+ export interface UpsertContactRequest {
117
+ collectionId?: string;
118
+ phone?: string;
119
+ email?: string;
120
+ name?: string;
121
+ firstName?: string;
122
+ lastName?: string;
123
+ displayName?: string;
124
+ source?: string;
125
+ customFields?: Record<string, unknown>;
126
+ externalIds?: Record<string, unknown>;
127
+ }
128
+ export interface UpsertContactResponse {
129
+ ok: boolean;
130
+ collectionId: string;
131
+ contactId: string;
132
+ userId: string | null;
133
+ created: boolean;
134
+ }
78
135
  export interface AuthKitBrandingConfig {
79
136
  logoUrl?: string;
80
137
  title?: string;
@@ -280,7 +280,7 @@ export interface SubscriptionsResolveResponse {
280
280
  * No broadcast record is created; the send is logged directly to the
281
281
  * contact's communication history with sourceType: 'transactional'.
282
282
  *
283
- * POST /admin/collection/:collectionId/comm.send
283
+ * POST /admin/collection/:collectionId/comm/send
284
284
  */
285
285
  export interface TransactionalSendRequest {
286
286
  /** CRM contact UUID */
@@ -290,9 +290,9 @@ export interface TransactionalSendRequest {
290
290
  /**
291
291
  * Channel to send on. Defaults to 'preferred', which auto-selects the
292
292
  * contact's best available channel respecting consent, suppression, and
293
- * template availability (priority: email → push → sms → wallet).
293
+ * template availability.
294
294
  */
295
- channel?: 'email' | 'sms' | 'push' | 'wallet' | 'preferred';
295
+ channel?: 'email' | 'sms' | 'whatsapp' | 'push' | 'wallet' | 'preferred';
296
296
  /** Extra Liquid variables merged into the top-level render context */
297
297
  props?: Record<string, unknown>;
298
298
  /** Context objects to hydrate into the Liquid template */
@@ -320,8 +320,8 @@ export interface TransactionalSendRequest {
320
320
  export interface TransactionalSendResponse {
321
321
  ok: true;
322
322
  /** The channel the message was actually sent on */
323
- channel: 'email' | 'sms' | 'push' | 'wallet';
324
- /** Provider message ID (email/SMS); absent for push/wallet */
323
+ channel: 'email' | 'sms' | 'whatsapp' | 'push' | 'wallet';
324
+ /** Provider message ID (email/SMS/WhatsApp); absent for push/wallet */
325
325
  messageId?: string;
326
326
  }
327
327
  export interface TransactionalSendError {
@@ -333,6 +333,7 @@ export interface TransactionalSendError {
333
333
  * - `transactional.no_channel_available`
334
334
  * - `transactional.email_missing`
335
335
  * - `transactional.phone_missing`
336
+ * - `transactional.whatsapp_missing`
336
337
  * - `transactional.no_push_methods`
337
338
  * - `transactional.no_wallet_methods`
338
339
  */
@@ -28,6 +28,7 @@ export * from "./tags";
28
28
  export * from "./navigation";
29
29
  export * from "./order";
30
30
  export * from "./crate";
31
+ export * from "./authKit";
31
32
  export * from "./iframeResponder";
32
33
  export * from "./ai";
33
34
  export * from "./appManifest";
@@ -30,6 +30,7 @@ export * from "./tags";
30
30
  export * from "./navigation";
31
31
  export * from "./order";
32
32
  export * from "./crate";
33
+ export * from "./authKit";
33
34
  export * from "./iframeResponder";
34
35
  export * from "./ai";
35
36
  export * from "./appManifest";