@oomol-lab/open-connector 1.6.2 → 1.6.4

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.
Files changed (175) hide show
  1. package/README.md +27 -0
  2. package/assets/open-connector/catalog/apps/assured_platform.json +218 -0
  3. package/assets/open-connector/catalog/apps/baixiao.json +1080 -0
  4. package/assets/open-connector/catalog/apps/benchmarkone.json +956 -0
  5. package/assets/open-connector/catalog/apps/bing_webmaster.json +3097 -0
  6. package/assets/open-connector/catalog/apps/buzzsprout.json +1979 -0
  7. package/assets/open-connector/catalog/apps/feishu.json +13 -19
  8. package/assets/open-connector/catalog/apps/feishu_app_bot.json +12 -19
  9. package/assets/open-connector/catalog/apps/jin10.json +1 -1
  10. package/assets/open-connector/catalog/apps/linkfox.json +836 -0
  11. package/assets/open-connector/catalog/apps/metatraderapi.json +1077 -0
  12. package/assets/open-connector/catalog/apps/mktindex.json +2411 -0
  13. package/assets/open-connector/catalog/apps/mojo_helpdesk.json +660 -0
  14. package/assets/open-connector/catalog/apps/mumble.json +446 -0
  15. package/assets/open-connector/catalog/apps/notion.json +112 -3
  16. package/assets/open-connector/catalog/apps/omise.json +438 -0
  17. package/assets/open-connector/catalog/apps/panjiva.json +2858 -0
  18. package/assets/open-connector/catalog/apps/papertrail.json +449 -0
  19. package/assets/open-connector/catalog/apps/peec.json +747 -0
  20. package/assets/open-connector/catalog/apps/polygon_io.json +5156 -584
  21. package/assets/open-connector/catalog/apps/quant_data.json +1928 -0
  22. package/assets/open-connector/catalog/apps/riddle_quiz_maker.json +621 -0
  23. package/assets/open-connector/catalog/apps/slack.json +327 -4
  24. package/assets/open-connector/catalog/apps/slackbot.json +280 -3
  25. package/assets/open-connector/catalog/apps/templatedocs.json +438 -0
  26. package/assets/open-connector/catalog/apps/terminus_app.json +510 -0
  27. package/assets/open-connector/catalog/apps/ticket_tailor.json +584 -0
  28. package/assets/open-connector/catalog/apps/tongdaxin.json +2186 -82
  29. package/assets/open-connector/catalog/apps/veremark.json +514 -0
  30. package/assets/open-connector/catalog/apps/walletap.json +549 -0
  31. package/assets/open-connector/catalog/apps/xiaohongshu_store.json +955 -39
  32. package/assets/open-connector/catalog/apps-index.json +1 -1
  33. package/package.json +5 -1
  34. package/src/connection-service.d.ts +2 -0
  35. package/src/connection-service.js +8 -1
  36. package/src/core/provider-id.d.ts +5 -0
  37. package/src/core/provider-id.js +12 -0
  38. package/src/oauth/oauth-credential-refresh-service.js +2 -0
  39. package/src/oauth/oauth-flow-service.js +2 -0
  40. package/src/providers/action-contracts.generated.d.ts +27 -7
  41. package/src/providers/assured_platform/executors.d.ts +4 -0
  42. package/src/providers/assured_platform/executors.js +18 -0
  43. package/src/providers/assured_platform/runtime.d.ts +7 -0
  44. package/src/providers/assured_platform/runtime.js +108 -0
  45. package/src/providers/baixiao/actions.d.ts +2 -0
  46. package/src/providers/baixiao/actions.js +377 -0
  47. package/src/providers/baixiao/executors.d.ts +4 -0
  48. package/src/providers/baixiao/executors.js +106 -0
  49. package/src/providers/benchmarkone/executors.d.ts +4 -0
  50. package/src/providers/benchmarkone/executors.js +26 -0
  51. package/src/providers/benchmarkone/runtime.d.ts +12 -0
  52. package/src/providers/benchmarkone/runtime.js +113 -0
  53. package/src/providers/bing_webmaster/actions.d.ts +2 -0
  54. package/src/providers/bing_webmaster/actions.js +113 -0
  55. package/src/providers/bing_webmaster/executors.d.ts +4 -0
  56. package/src/providers/bing_webmaster/executors.js +104 -0
  57. package/src/providers/bing_webmaster/management-actions.d.ts +2 -0
  58. package/src/providers/bing_webmaster/management-actions.js +241 -0
  59. package/src/providers/bing_webmaster/reporting-actions.d.ts +2 -0
  60. package/src/providers/bing_webmaster/reporting-actions.js +300 -0
  61. package/src/providers/bing_webmaster/schemas.d.ts +33 -0
  62. package/src/providers/bing_webmaster/schemas.js +313 -0
  63. package/src/providers/buzzsprout/executors.d.ts +4 -0
  64. package/src/providers/buzzsprout/executors.js +21 -0
  65. package/src/providers/buzzsprout/runtime.d.ts +12 -0
  66. package/src/providers/buzzsprout/runtime.js +237 -0
  67. package/src/providers/dropbox/executors.js +21 -3
  68. package/src/providers/feishu/shared/drive-actions.d.ts +1 -0
  69. package/src/providers/feishu/shared/drive-actions.js +13 -9
  70. package/src/providers/feishu/shared/drive-runtime.js +15 -3
  71. package/src/providers/feishu/shared/wiki-actions.js +4 -2
  72. package/src/providers/feishu_app_bot/scopes.js +1 -1
  73. package/src/providers/hithink_finance/runtime.js +39 -60
  74. package/src/providers/linkfox/actions.js +2 -0
  75. package/src/providers/linkfox/runtime.js +70 -1
  76. package/src/providers/linkfox/sif-actions.d.ts +10 -0
  77. package/src/providers/linkfox/sif-actions.js +193 -0
  78. package/src/providers/mcp-client.d.ts +1 -0
  79. package/src/providers/mcp-client.js +41 -27
  80. package/src/providers/metatraderapi/executors.d.ts +4 -0
  81. package/src/providers/metatraderapi/executors.js +18 -0
  82. package/src/providers/metatraderapi/runtime.d.ts +7 -0
  83. package/src/providers/metatraderapi/runtime.js +216 -0
  84. package/src/providers/mktindex/actions-mmi.d.ts +2 -0
  85. package/src/providers/mktindex/actions-mmi.js +510 -0
  86. package/src/providers/mktindex/actions.d.ts +2 -0
  87. package/src/providers/mktindex/actions.js +2 -0
  88. package/src/providers/mktindex/executors.d.ts +4 -0
  89. package/src/providers/mktindex/executors.js +27 -0
  90. package/src/providers/mktindex/request.d.ts +17 -0
  91. package/src/providers/mktindex/request.js +48 -0
  92. package/src/providers/mktindex/runtime.d.ts +9 -0
  93. package/src/providers/mktindex/runtime.js +492 -0
  94. package/src/providers/mojo_helpdesk/executors.d.ts +4 -0
  95. package/src/providers/mojo_helpdesk/executors.js +18 -0
  96. package/src/providers/mojo_helpdesk/runtime.d.ts +7 -0
  97. package/src/providers/mojo_helpdesk/runtime.js +173 -0
  98. package/src/providers/mumble/executors.d.ts +4 -0
  99. package/src/providers/mumble/executors.js +99 -0
  100. package/src/providers/notion/executors.d.ts +9 -0
  101. package/src/providers/notion/executors.js +161 -6
  102. package/src/providers/omise/executors.d.ts +4 -0
  103. package/src/providers/omise/executors.js +120 -0
  104. package/src/providers/panjiva/actions.d.ts +14 -0
  105. package/src/providers/panjiva/actions.js +389 -0
  106. package/src/providers/panjiva/executors.d.ts +4 -0
  107. package/src/providers/panjiva/executors.js +136 -0
  108. package/src/providers/papertrail/executors.d.ts +4 -0
  109. package/src/providers/papertrail/executors.js +15 -0
  110. package/src/providers/papertrail/runtime.d.ts +7 -0
  111. package/src/providers/papertrail/runtime.js +167 -0
  112. package/src/providers/peec/executors.d.ts +4 -0
  113. package/src/providers/peec/executors.js +15 -0
  114. package/src/providers/peec/runtime.d.ts +7 -0
  115. package/src/providers/peec/runtime.js +128 -0
  116. package/src/providers/polygon_io/actions.d.ts +2 -0
  117. package/src/providers/polygon_io/actions.js +282 -0
  118. package/src/providers/polygon_io/expanded-actions.d.ts +2 -0
  119. package/src/providers/polygon_io/expanded-actions.js +375 -0
  120. package/src/providers/polygon_io/expanded-runtime.d.ts +16 -0
  121. package/src/providers/polygon_io/expanded-runtime.js +277 -0
  122. package/src/providers/polygon_io/runtime.js +21 -2
  123. package/src/providers/quant_data/executors.d.ts +4 -0
  124. package/src/providers/quant_data/executors.js +15 -0
  125. package/src/providers/quant_data/runtime.d.ts +7 -0
  126. package/src/providers/quant_data/runtime.js +118 -0
  127. package/src/providers/registry.generated.js +20 -0
  128. package/src/providers/riddle_quiz_maker/executors.d.ts +4 -0
  129. package/src/providers/riddle_quiz_maker/executors.js +15 -0
  130. package/src/providers/riddle_quiz_maker/runtime.d.ts +7 -0
  131. package/src/providers/riddle_quiz_maker/runtime.js +145 -0
  132. package/src/providers/sellersprite_mcp/executors.js +2 -1
  133. package/src/providers/slack/actions.js +106 -3
  134. package/src/providers/slack/runtime.js +262 -38
  135. package/src/providers/slackbot/actions.js +1 -1
  136. package/src/providers/templatedocs/executors.d.ts +4 -0
  137. package/src/providers/templatedocs/executors.js +18 -0
  138. package/src/providers/templatedocs/runtime.d.ts +13 -0
  139. package/src/providers/templatedocs/runtime.js +151 -0
  140. package/src/providers/terminus_app/executors.d.ts +4 -0
  141. package/src/providers/terminus_app/executors.js +15 -0
  142. package/src/providers/terminus_app/runtime.d.ts +7 -0
  143. package/src/providers/terminus_app/runtime.js +172 -0
  144. package/src/providers/ticket_tailor/executors.d.ts +4 -0
  145. package/src/providers/ticket_tailor/executors.js +15 -0
  146. package/src/providers/ticket_tailor/runtime.d.ts +7 -0
  147. package/src/providers/ticket_tailor/runtime.js +152 -0
  148. package/src/providers/tongdaxin/actions.d.ts +1 -0
  149. package/src/providers/tongdaxin/actions.js +6 -3
  150. package/src/providers/tongdaxin/executors.js +55 -13
  151. package/src/providers/tongdaxin/named-action-output.d.ts +1 -0
  152. package/src/providers/tongdaxin/named-action-output.js +143 -0
  153. package/src/providers/tongdaxin/named-action-routing.d.ts +9 -0
  154. package/src/providers/tongdaxin/named-action-routing.js +417 -0
  155. package/src/providers/tongdaxin/named-actions.d.ts +2 -0
  156. package/src/providers/tongdaxin/named-actions.js +373 -0
  157. package/src/providers/twenty_crm/runtime.js +4 -2
  158. package/src/providers/veremark/executors.d.ts +4 -0
  159. package/src/providers/veremark/executors.js +129 -0
  160. package/src/providers/walletap/executors.d.ts +4 -0
  161. package/src/providers/walletap/executors.js +15 -0
  162. package/src/providers/walletap/runtime.d.ts +7 -0
  163. package/src/providers/walletap/runtime.js +147 -0
  164. package/src/providers/weixin_official_account/access-token.js +31 -7
  165. package/src/providers/weixin_store/access-token.js +33 -7
  166. package/src/providers/xiaohongshu_store/executors.js +152 -3
  167. package/src/server/api/openapi.js +3 -0
  168. package/src/server/connector-assets.d.ts +4 -0
  169. package/src/server/connector-assets.js +12 -0
  170. package/src/server/connector-build.d.ts +33 -0
  171. package/src/server/connector-build.js +73 -0
  172. package/src/server/connector-runtime.d.ts +1 -2
  173. package/src/server/connector-runtime.js +2 -8
  174. package/src/server/server-assets.d.ts +0 -28
  175. package/src/server/server-assets.js +0 -50
@@ -0,0 +1,549 @@
1
+ {
2
+ "service": "walletap",
3
+ "displayName": "Walletap",
4
+ "description": "Manage Walletap passes, customers, campaigns, and related records.",
5
+ "categories": [
6
+ "Marketing"
7
+ ],
8
+ "authTypes": [
9
+ "api_key"
10
+ ],
11
+ "auth": [
12
+ {
13
+ "type": "api_key",
14
+ "label": "API Key",
15
+ "placeholder": "wt_live_...",
16
+ "description": "Walletap API key sent in the X-API-Key header. Create or copy one from Settings > API keys: https://app.walletap.com/settings."
17
+ }
18
+ ],
19
+ "homepageUrl": "https://www.walletap.io/",
20
+ "actions": [
21
+ {
22
+ "id": "walletap.create_pass",
23
+ "service": "walletap",
24
+ "name": "create_pass",
25
+ "description": "Issue one to ten Walletap passes from existing templates.",
26
+ "operationType": "write",
27
+ "requiredScopes": [],
28
+ "providerPermissions": [],
29
+ "inputSchema": {
30
+ "type": "object",
31
+ "properties": {
32
+ "passes": {
33
+ "type": "array",
34
+ "items": {
35
+ "type": "object",
36
+ "properties": {
37
+ "templateId": {
38
+ "type": "string",
39
+ "description": "The template used to issue the pass."
40
+ },
41
+ "id": {
42
+ "type": "string",
43
+ "description": "A custom pass ID; Walletap generates one when omitted."
44
+ },
45
+ "externalId": {
46
+ "type": "string",
47
+ "description": "The caller-defined ID for this customer or pass."
48
+ },
49
+ "email": {
50
+ "type": "string",
51
+ "description": "The pass holder email address."
52
+ },
53
+ "phone": {
54
+ "type": "string",
55
+ "description": "The pass holder phone number."
56
+ },
57
+ "templateFields": {
58
+ "type": "object",
59
+ "additionalProperties": {
60
+ "anyOf": [
61
+ {
62
+ "type": "string",
63
+ "description": "A text pass field value."
64
+ },
65
+ {
66
+ "type": "number",
67
+ "description": "A numeric pass field value."
68
+ }
69
+ ],
70
+ "description": "A pass field value rendered as text."
71
+ },
72
+ "description": "Pass field values keyed by the field IDs configured on the template."
73
+ },
74
+ "customFields": {
75
+ "type": "object",
76
+ "additionalProperties": {
77
+ "anyOf": [
78
+ {
79
+ "type": "string",
80
+ "description": "A text pass field value."
81
+ },
82
+ {
83
+ "type": "number",
84
+ "description": "A numeric pass field value."
85
+ }
86
+ ],
87
+ "description": "A pass field value rendered as text."
88
+ },
89
+ "description": "Custom metadata keyed by caller-defined field names."
90
+ },
91
+ "memberId": {
92
+ "type": "string",
93
+ "description": "The membership ID for a membership pass."
94
+ },
95
+ "membershipPlanId": {
96
+ "type": "string",
97
+ "description": "The Walletap membership plan ID."
98
+ },
99
+ "locationId": {
100
+ "type": "string",
101
+ "description": "The Walletap location ID associated with the pass."
102
+ },
103
+ "redemptionValue": {
104
+ "type": "string",
105
+ "description": "The NFC redemption value for the pass."
106
+ },
107
+ "balanceIsAdditive": {
108
+ "type": "boolean",
109
+ "description": "Whether an initial balance adds to an existing pass balance."
110
+ },
111
+ "collectedStamps": {
112
+ "type": "integer",
113
+ "minimum": 0,
114
+ "description": "The initial stamp count."
115
+ }
116
+ },
117
+ "additionalProperties": false,
118
+ "required": [
119
+ "templateId"
120
+ ],
121
+ "description": "One Walletap pass to issue."
122
+ },
123
+ "description": "The passes to issue in this request.",
124
+ "minItems": 1,
125
+ "maxItems": 10
126
+ },
127
+ "sendToEmail": {
128
+ "type": "boolean",
129
+ "description": "Whether Walletap should email pass links to the holders."
130
+ },
131
+ "sendToPhone": {
132
+ "type": "boolean",
133
+ "description": "Whether Walletap should text pass links to the holders."
134
+ },
135
+ "locale": {
136
+ "type": "string",
137
+ "description": "The locale for pass text and delivery messages."
138
+ }
139
+ },
140
+ "additionalProperties": false,
141
+ "required": [
142
+ "passes"
143
+ ],
144
+ "description": "The input for issuing Walletap passes."
145
+ },
146
+ "outputSchema": {
147
+ "type": "object",
148
+ "properties": {
149
+ "data": {
150
+ "description": "The JSON payload returned by Walletap."
151
+ }
152
+ },
153
+ "additionalProperties": false,
154
+ "description": "A Walletap API response."
155
+ }
156
+ },
157
+ {
158
+ "id": "walletap.get_pass",
159
+ "service": "walletap",
160
+ "name": "get_pass",
161
+ "description": "Get one Walletap pass by pass ID or by external ID and template ID.",
162
+ "operationType": "read",
163
+ "requiredScopes": [],
164
+ "providerPermissions": [],
165
+ "inputSchema": {
166
+ "type": "object",
167
+ "properties": {
168
+ "id": {
169
+ "type": "string",
170
+ "description": "The Walletap pass ID. Use this or externalId together with templateId."
171
+ },
172
+ "externalId": {
173
+ "type": "string",
174
+ "description": "The caller-defined pass ID. This must be combined with templateId when id is omitted."
175
+ },
176
+ "templateId": {
177
+ "type": "string",
178
+ "description": "The template ID. This is required when identifying a pass by externalId."
179
+ },
180
+ "includeTemplate": {
181
+ "type": "boolean",
182
+ "description": "Whether to include the full template in the response."
183
+ },
184
+ "locale": {
185
+ "type": "string",
186
+ "description": "The locale used to render pass text, such as en or de."
187
+ }
188
+ },
189
+ "additionalProperties": false,
190
+ "description": "The input for getting a Walletap pass."
191
+ },
192
+ "outputSchema": {
193
+ "type": "object",
194
+ "properties": {
195
+ "data": {
196
+ "description": "The JSON payload returned by Walletap."
197
+ }
198
+ },
199
+ "additionalProperties": false,
200
+ "description": "A Walletap API response."
201
+ }
202
+ },
203
+ {
204
+ "id": "walletap.get_template",
205
+ "service": "walletap",
206
+ "name": "get_template",
207
+ "description": "Get one Walletap template and its configured pass fields.",
208
+ "operationType": "read",
209
+ "requiredScopes": [],
210
+ "providerPermissions": [],
211
+ "inputSchema": {
212
+ "type": "object",
213
+ "properties": {
214
+ "templateId": {
215
+ "type": "string",
216
+ "description": "The Walletap template ID."
217
+ }
218
+ },
219
+ "additionalProperties": false,
220
+ "description": "The input for getting a Walletap template."
221
+ },
222
+ "outputSchema": {
223
+ "type": "object",
224
+ "properties": {
225
+ "data": {
226
+ "description": "The JSON payload returned by Walletap."
227
+ }
228
+ },
229
+ "additionalProperties": false,
230
+ "description": "A Walletap API response."
231
+ }
232
+ },
233
+ {
234
+ "id": "walletap.list_passes",
235
+ "service": "walletap",
236
+ "name": "list_passes",
237
+ "description": "List issued Walletap passes for a template.",
238
+ "operationType": "read",
239
+ "requiredScopes": [],
240
+ "providerPermissions": [],
241
+ "inputSchema": {
242
+ "type": "object",
243
+ "properties": {
244
+ "templateId": {
245
+ "type": "string",
246
+ "description": "The template ID whose passes should be listed."
247
+ },
248
+ "limit": {
249
+ "type": "integer",
250
+ "minimum": 1,
251
+ "description": "The maximum number of passes to return."
252
+ },
253
+ "startAfter": {
254
+ "type": "string",
255
+ "description": "The next-page cursor returned by an earlier request."
256
+ },
257
+ "endBefore": {
258
+ "type": "string",
259
+ "description": "The previous-page cursor returned by an earlier request."
260
+ },
261
+ "status": {
262
+ "type": "string",
263
+ "enum": [
264
+ "all",
265
+ "installed",
266
+ "not_installed"
267
+ ],
268
+ "description": "The installation status to include."
269
+ }
270
+ },
271
+ "additionalProperties": false,
272
+ "required": [
273
+ "templateId"
274
+ ],
275
+ "description": "The input for listing Walletap passes."
276
+ },
277
+ "outputSchema": {
278
+ "type": "object",
279
+ "properties": {
280
+ "data": {
281
+ "description": "The JSON payload returned by Walletap."
282
+ }
283
+ },
284
+ "additionalProperties": false,
285
+ "description": "A Walletap API response."
286
+ }
287
+ },
288
+ {
289
+ "id": "walletap.list_templates",
290
+ "service": "walletap",
291
+ "name": "list_templates",
292
+ "description": "List wallet-pass templates owned by the connected Walletap account.",
293
+ "operationType": "read",
294
+ "requiredScopes": [],
295
+ "providerPermissions": [],
296
+ "inputSchema": {
297
+ "type": "object",
298
+ "properties": {
299
+ "limit": {
300
+ "type": "integer",
301
+ "minimum": 1,
302
+ "maximum": 100,
303
+ "description": "The maximum number of templates to return, from 1 to 100."
304
+ },
305
+ "startingAfter": {
306
+ "type": "string",
307
+ "description": "The next-page cursor returned by an earlier request."
308
+ }
309
+ },
310
+ "additionalProperties": false,
311
+ "description": "The input for listing Walletap templates."
312
+ },
313
+ "outputSchema": {
314
+ "type": "object",
315
+ "properties": {
316
+ "data": {
317
+ "description": "The JSON payload returned by Walletap."
318
+ }
319
+ },
320
+ "additionalProperties": false,
321
+ "description": "A Walletap API response."
322
+ }
323
+ },
324
+ {
325
+ "id": "walletap.notify_pass",
326
+ "service": "walletap",
327
+ "name": "notify_pass",
328
+ "description": "Send a push notification to one Walletap pass holder.",
329
+ "operationType": "write",
330
+ "requiredScopes": [],
331
+ "providerPermissions": [],
332
+ "inputSchema": {
333
+ "type": "object",
334
+ "properties": {
335
+ "passId": {
336
+ "type": "string",
337
+ "description": "The Walletap pass ID."
338
+ },
339
+ "title": {
340
+ "type": "string",
341
+ "description": "The notification title."
342
+ },
343
+ "content": {
344
+ "type": "string",
345
+ "description": "The notification body; URLs become clickable links."
346
+ },
347
+ "validFrom": {
348
+ "type": "string",
349
+ "description": "When the notification becomes visible.",
350
+ "format": "date-time"
351
+ },
352
+ "validUntil": {
353
+ "type": "string",
354
+ "description": "When the notification expires.",
355
+ "format": "date-time"
356
+ }
357
+ },
358
+ "additionalProperties": false,
359
+ "required": [
360
+ "passId",
361
+ "title",
362
+ "content"
363
+ ],
364
+ "description": "The input for notifying a Walletap pass holder."
365
+ },
366
+ "outputSchema": {
367
+ "type": "object",
368
+ "properties": {
369
+ "data": {
370
+ "description": "The JSON payload returned by Walletap."
371
+ }
372
+ },
373
+ "additionalProperties": false,
374
+ "description": "A Walletap API response."
375
+ }
376
+ },
377
+ {
378
+ "id": "walletap.search_passes",
379
+ "service": "walletap",
380
+ "name": "search_passes",
381
+ "description": "Search passes in one Walletap template by email address or phone number.",
382
+ "operationType": "read",
383
+ "requiredScopes": [],
384
+ "providerPermissions": [],
385
+ "inputSchema": {
386
+ "type": "object",
387
+ "properties": {
388
+ "templateId": {
389
+ "type": "string",
390
+ "description": "The template ID to search within."
391
+ },
392
+ "searchQuery": {
393
+ "type": "string",
394
+ "description": "The email address or phone number to search for."
395
+ }
396
+ },
397
+ "additionalProperties": false,
398
+ "description": "The input for searching Walletap passes."
399
+ },
400
+ "outputSchema": {
401
+ "type": "object",
402
+ "properties": {
403
+ "data": {
404
+ "description": "The JSON payload returned by Walletap."
405
+ }
406
+ },
407
+ "additionalProperties": false,
408
+ "description": "A Walletap API response."
409
+ }
410
+ },
411
+ {
412
+ "id": "walletap.update_pass",
413
+ "service": "walletap",
414
+ "name": "update_pass",
415
+ "description": "Update a Walletap pass, including its displayed fields, stamps, balance, or validity.",
416
+ "operationType": "destructive",
417
+ "requiredScopes": [],
418
+ "providerPermissions": [],
419
+ "inputSchema": {
420
+ "type": "object",
421
+ "properties": {
422
+ "id": {
423
+ "type": "string",
424
+ "description": "The Walletap pass ID. Use this or externalId together with templateId."
425
+ },
426
+ "externalId": {
427
+ "type": "string",
428
+ "description": "The caller-defined pass ID. This must be combined with templateId when id is omitted."
429
+ },
430
+ "templateId": {
431
+ "type": "string",
432
+ "description": "The template ID. This is required when identifying a pass by externalId."
433
+ },
434
+ "templateFields": {
435
+ "type": "object",
436
+ "additionalProperties": {
437
+ "anyOf": [
438
+ {
439
+ "type": "string",
440
+ "description": "A text pass field value."
441
+ },
442
+ {
443
+ "type": "number",
444
+ "description": "A numeric pass field value."
445
+ }
446
+ ],
447
+ "description": "A pass field value rendered as text."
448
+ },
449
+ "description": "Pass field values keyed by the field IDs configured on the template."
450
+ },
451
+ "customFields": {
452
+ "type": "object",
453
+ "additionalProperties": {
454
+ "anyOf": [
455
+ {
456
+ "type": "string",
457
+ "description": "A text pass field value."
458
+ },
459
+ {
460
+ "type": "number",
461
+ "description": "A numeric pass field value."
462
+ }
463
+ ],
464
+ "description": "A pass field value rendered as text."
465
+ },
466
+ "description": "Custom metadata updates keyed by caller-defined field names."
467
+ },
468
+ "isValid": {
469
+ "type": "boolean",
470
+ "description": "Whether the pass remains valid; false voids the pass."
471
+ },
472
+ "redemptionValue": {
473
+ "type": "string",
474
+ "description": "The updated NFC redemption value."
475
+ },
476
+ "stampOperation": {
477
+ "type": "object",
478
+ "properties": {
479
+ "operation": {
480
+ "type": "string",
481
+ "enum": [
482
+ "add",
483
+ "set",
484
+ "remove",
485
+ "removeAll"
486
+ ],
487
+ "description": "The stamp operation."
488
+ },
489
+ "count": {
490
+ "type": "integer",
491
+ "minimum": 0,
492
+ "description": "The number of stamps to add, set, or remove."
493
+ },
494
+ "isTotal": {
495
+ "type": "boolean",
496
+ "description": "Whether count is the absolute total across all cards."
497
+ }
498
+ },
499
+ "additionalProperties": false,
500
+ "required": [
501
+ "operation"
502
+ ],
503
+ "description": "A stamp-count update."
504
+ },
505
+ "balanceOperation": {
506
+ "type": "object",
507
+ "properties": {
508
+ "operation": {
509
+ "type": "string",
510
+ "enum": [
511
+ "add",
512
+ "subtract",
513
+ "set"
514
+ ],
515
+ "description": "The balance operation."
516
+ },
517
+ "amount": {
518
+ "type": "number",
519
+ "description": "The amount to add, subtract, or set."
520
+ },
521
+ "isTotal": {
522
+ "type": "boolean",
523
+ "description": "Whether amount is the absolute total."
524
+ }
525
+ },
526
+ "additionalProperties": false,
527
+ "required": [
528
+ "operation",
529
+ "amount"
530
+ ],
531
+ "description": "A stored-balance update."
532
+ }
533
+ },
534
+ "additionalProperties": false,
535
+ "description": "The input for updating a Walletap pass."
536
+ },
537
+ "outputSchema": {
538
+ "type": "object",
539
+ "properties": {
540
+ "data": {
541
+ "description": "The JSON payload returned by Walletap."
542
+ }
543
+ },
544
+ "additionalProperties": false,
545
+ "description": "A Walletap API response."
546
+ }
547
+ }
548
+ ]
549
+ }