@lanes-sh/link 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +11 -3
  2. package/instructions/agents/lanes-link-scout.md +2 -2
  3. package/instructions/skills/lanes-link/SKILL.md +135 -11
  4. package/package.json +3 -1
  5. package/src/cli/argv.ts +52 -0
  6. package/src/cli/commands/connect/authorise.ts +5 -0
  7. package/src/cli/commands/connect/custom/ask.ts +167 -0
  8. package/src/cli/commands/connect/custom/credential.ts +143 -0
  9. package/src/cli/commands/connect/custom/derive.ts +229 -0
  10. package/src/cli/commands/connect/custom/index.ts +285 -0
  11. package/src/cli/commands/connect/custom/prompts.ts +160 -0
  12. package/src/cli/commands/connect/custom/spec.ts +293 -0
  13. package/src/cli/commands/connect/custom/values.ts +53 -0
  14. package/src/cli/commands/connect/custom/write.ts +166 -0
  15. package/src/cli/commands/connect/grant.ts +27 -0
  16. package/src/cli/commands/connect/index.ts +24 -27
  17. package/src/cli/commands/connect/outcome.ts +3 -1
  18. package/src/cli/commands/connect/requirements.ts +11 -1
  19. package/src/cli/commands/connect/settle.ts +17 -0
  20. package/src/cli/commands/connect/setup.ts +9 -1
  21. package/src/cli/commands/connect/strategy.ts +87 -0
  22. package/src/cli/commands/connect/unknown.ts +41 -0
  23. package/src/cli/identity.ts +29 -5
  24. package/src/cli/main.ts +37 -13
  25. package/src/cli/oauth.ts +89 -36
  26. package/src/cli/runtime/open.ts +13 -1
  27. package/src/cli/runtime/registry.ts +12 -0
  28. package/src/cli/selection.ts +12 -0
  29. package/src/cli/usage.ts +9 -1
  30. package/src/connectivity/auth/README.md +8 -1
  31. package/src/connectivity/auth/strategy/index.ts +128 -4
  32. package/src/connectivity/connector.ts +11 -0
  33. package/src/connectivity/index.ts +11 -1
  34. package/src/connectivity/manifest/auth.ts +19 -0
  35. package/src/connectivity/manifest/connector.ts +21 -0
  36. package/src/connectivity/manifest/primitives.ts +5 -1
  37. package/src/connectivity/manifest/provider.ts +30 -12
  38. package/src/connectivity/provider.ts +55 -0
  39. package/src/connectivity/transports/factory.ts +1 -0
  40. package/src/connectivity/transports/http/index.ts +73 -2
  41. package/src/deployments/sync-apply.ts +62 -8
  42. package/src/deployments/sync.ts +34 -6
  43. package/src/dispatch/dispatch.ts +44 -5
  44. package/src/providers/bunq/hints.ts +43 -0
  45. package/src/providers/bunq/index.ts +87 -0
  46. package/src/providers/bunq/redact.ts +64 -0
  47. package/src/providers/bunq/specs/bunq.v1.json +864 -0
  48. package/src/providers/bunq/specs/vendor.ts +338 -0
  49. package/src/providers/bunq/strategy/handshake.ts +211 -0
  50. package/src/providers/bunq/strategy/index.ts +298 -0
  51. package/src/providers/bunq/strategy/keys.ts +72 -0
  52. package/src/providers/custom/index.ts +1 -6
  53. package/src/providers/custom/load.ts +56 -14
  54. package/src/providers/custom/template.ts +1 -1
  55. package/src/providers/discord/hints.ts +195 -0
  56. package/src/providers/discord/index.ts +121 -0
  57. package/src/providers/discord/redact.ts +99 -0
  58. package/src/providers/discord/specs/discord.v10.json +2333 -0
  59. package/src/providers/discord/specs/vendor.ts +164 -0
  60. package/src/providers/google/specs/vendor.ts +32 -317
  61. package/src/providers/index.ts +9 -0
  62. package/src/providers/reddit/index.ts +113 -0
  63. package/src/providers/reddit/oauth.ts +77 -0
  64. package/src/providers/reddit/redact.ts +33 -0
  65. package/src/providers/reddit/scopes.ts +27 -0
  66. package/src/providers/reddit/specs/reddit.v1.json +700 -0
  67. package/src/providers/scopes.ts +2 -0
  68. package/src/providers/shared/openapi.ts +155 -0
  69. package/src/providers/shared/vendor-operations.ts +98 -0
  70. package/src/providers/shared/vendor-spec.ts +309 -0
@@ -0,0 +1,864 @@
1
+ {
2
+ "openapi": "3.0.0",
3
+ "info": {
4
+ "title": "bunq API",
5
+ "description": "Trimmed from the published bunq specification. See x-vendored-from for the original, and https://doc.bunq.com for the reference.",
6
+ "termsOfService": "http://bunq.com/terms-api/",
7
+ "contact": {
8
+ "name": "bunq Developer Support",
9
+ "url": "http://bunq.com/developer"
10
+ },
11
+ "license": {
12
+ "name": "Apache 2.0",
13
+ "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
14
+ },
15
+ "version": "1.0",
16
+ "x-vendored-from": "https://raw.githubusercontent.com/bunq/doc/master/swagger.json",
17
+ "x-vendored-note": "Trimmed by src/providers/bunq/specs/vendor.ts. Committed deliberately: a spec decides which paths are called with the operator credential, and this one can move money."
18
+ },
19
+ "servers": [
20
+ {
21
+ "url": "https://api.bunq.com/v1"
22
+ }
23
+ ],
24
+ "paths": {
25
+ "/user/{userID}/monetary-account/{monetary-accountID}/draft-payment": {
26
+ "post": {
27
+ "tags": [
28
+ "draft-payment"
29
+ ],
30
+ "summary": "",
31
+ "operationId": "CREATE_DraftPayment_for_User_MonetaryAccount",
32
+ "description": "Create a new DraftPayment.",
33
+ "parameters": [
34
+ {
35
+ "in": "path",
36
+ "name": "userID",
37
+ "description": "",
38
+ "required": true,
39
+ "schema": {
40
+ "type": "integer"
41
+ }
42
+ },
43
+ {
44
+ "in": "path",
45
+ "name": "monetary-accountID",
46
+ "description": "",
47
+ "required": true,
48
+ "schema": {
49
+ "type": "integer"
50
+ }
51
+ }
52
+ ],
53
+ "requestBody": {
54
+ "description": "",
55
+ "required": true,
56
+ "content": {
57
+ "application/json": {
58
+ "schema": {
59
+ "$ref": "#/components/schemas/DraftPayment"
60
+ }
61
+ }
62
+ }
63
+ },
64
+ "responses": {
65
+ "200": {
66
+ "description": "Success. The response body is returned verbatim."
67
+ }
68
+ }
69
+ },
70
+ "get": {
71
+ "tags": [
72
+ "draft-payment"
73
+ ],
74
+ "summary": "",
75
+ "operationId": "List_all_DraftPayment_for_User_MonetaryAccount",
76
+ "description": "Get a listing of all DraftPayments from a given MonetaryAccount.",
77
+ "parameters": [
78
+ {
79
+ "in": "path",
80
+ "name": "userID",
81
+ "description": "",
82
+ "required": true,
83
+ "schema": {
84
+ "type": "integer"
85
+ }
86
+ },
87
+ {
88
+ "in": "path",
89
+ "name": "monetary-accountID",
90
+ "description": "",
91
+ "required": true,
92
+ "schema": {
93
+ "type": "integer"
94
+ }
95
+ }
96
+ ],
97
+ "responses": {
98
+ "200": {
99
+ "description": "Success. The response body is returned verbatim."
100
+ }
101
+ }
102
+ }
103
+ },
104
+ "/user/{userID}/monetary-account/{monetary-accountID}/draft-payment/{itemId}": {
105
+ "put": {
106
+ "tags": [
107
+ "draft-payment"
108
+ ],
109
+ "summary": "",
110
+ "operationId": "UPDATE_DraftPayment_for_User_MonetaryAccount",
111
+ "description": "Update a DraftPayment.",
112
+ "parameters": [
113
+ {
114
+ "in": "path",
115
+ "name": "userID",
116
+ "description": "",
117
+ "required": true,
118
+ "schema": {
119
+ "type": "integer"
120
+ }
121
+ },
122
+ {
123
+ "in": "path",
124
+ "name": "monetary-accountID",
125
+ "description": "",
126
+ "required": true,
127
+ "schema": {
128
+ "type": "integer"
129
+ }
130
+ },
131
+ {
132
+ "in": "path",
133
+ "name": "itemId",
134
+ "description": "",
135
+ "required": true,
136
+ "schema": {
137
+ "type": "integer"
138
+ }
139
+ }
140
+ ],
141
+ "requestBody": {
142
+ "description": "",
143
+ "required": true,
144
+ "content": {
145
+ "application/json": {
146
+ "schema": {
147
+ "$ref": "#/components/schemas/DraftPayment"
148
+ }
149
+ }
150
+ }
151
+ },
152
+ "responses": {
153
+ "200": {
154
+ "description": "Success. The response body is returned verbatim."
155
+ }
156
+ }
157
+ },
158
+ "get": {
159
+ "tags": [
160
+ "draft-payment"
161
+ ],
162
+ "summary": "",
163
+ "operationId": "READ_DraftPayment_for_User_MonetaryAccount",
164
+ "description": "Get a specific DraftPayment.",
165
+ "parameters": [
166
+ {
167
+ "in": "path",
168
+ "name": "userID",
169
+ "description": "",
170
+ "required": true,
171
+ "schema": {
172
+ "type": "integer"
173
+ }
174
+ },
175
+ {
176
+ "in": "path",
177
+ "name": "monetary-accountID",
178
+ "description": "",
179
+ "required": true,
180
+ "schema": {
181
+ "type": "integer"
182
+ }
183
+ },
184
+ {
185
+ "in": "path",
186
+ "name": "itemId",
187
+ "description": "",
188
+ "required": true,
189
+ "schema": {
190
+ "type": "integer"
191
+ }
192
+ }
193
+ ],
194
+ "responses": {
195
+ "200": {
196
+ "description": "Success. The response body is returned verbatim."
197
+ }
198
+ }
199
+ }
200
+ },
201
+ "/user/{userID}/monetary-account": {
202
+ "get": {
203
+ "tags": [
204
+ "monetary-account"
205
+ ],
206
+ "summary": "",
207
+ "operationId": "List_all_MonetaryAccount_for_User",
208
+ "description": "Get a collection of all your MonetaryAccounts.",
209
+ "parameters": [
210
+ {
211
+ "in": "path",
212
+ "name": "userID",
213
+ "description": "",
214
+ "required": true,
215
+ "schema": {
216
+ "type": "integer"
217
+ }
218
+ }
219
+ ],
220
+ "responses": {
221
+ "200": {
222
+ "description": "Success. The response body is returned verbatim."
223
+ }
224
+ }
225
+ }
226
+ },
227
+ "/user/{userID}/monetary-account/{monetary-accountID}/payment": {
228
+ "post": {
229
+ "tags": [
230
+ "payment"
231
+ ],
232
+ "summary": "",
233
+ "operationId": "CREATE_Payment_for_User_MonetaryAccount",
234
+ "description": "Create a new Payment.",
235
+ "parameters": [
236
+ {
237
+ "in": "path",
238
+ "name": "userID",
239
+ "description": "",
240
+ "required": true,
241
+ "schema": {
242
+ "type": "integer"
243
+ }
244
+ },
245
+ {
246
+ "in": "path",
247
+ "name": "monetary-accountID",
248
+ "description": "",
249
+ "required": true,
250
+ "schema": {
251
+ "type": "integer"
252
+ }
253
+ }
254
+ ],
255
+ "requestBody": {
256
+ "description": "",
257
+ "required": true,
258
+ "content": {
259
+ "application/json": {
260
+ "schema": {
261
+ "$ref": "#/components/schemas/Payment"
262
+ }
263
+ }
264
+ }
265
+ },
266
+ "responses": {
267
+ "200": {
268
+ "description": "Success. The response body is returned verbatim."
269
+ }
270
+ }
271
+ },
272
+ "get": {
273
+ "tags": [
274
+ "payment"
275
+ ],
276
+ "summary": "",
277
+ "operationId": "List_all_Payment_for_User_MonetaryAccount",
278
+ "description": "Get a listing of all Payments performed on a given MonetaryAccount (incoming and outgoing).",
279
+ "parameters": [
280
+ {
281
+ "in": "path",
282
+ "name": "userID",
283
+ "description": "",
284
+ "required": true,
285
+ "schema": {
286
+ "type": "integer"
287
+ }
288
+ },
289
+ {
290
+ "in": "path",
291
+ "name": "monetary-accountID",
292
+ "description": "",
293
+ "required": true,
294
+ "schema": {
295
+ "type": "integer"
296
+ }
297
+ }
298
+ ],
299
+ "responses": {
300
+ "200": {
301
+ "description": "Success. The response body is returned verbatim."
302
+ }
303
+ }
304
+ }
305
+ },
306
+ "/user/{userID}/monetary-account/{monetary-accountID}/payment/{itemId}": {
307
+ "get": {
308
+ "tags": [
309
+ "payment"
310
+ ],
311
+ "summary": "",
312
+ "operationId": "READ_Payment_for_User_MonetaryAccount",
313
+ "description": "Get a specific previous Payment.",
314
+ "parameters": [
315
+ {
316
+ "in": "path",
317
+ "name": "userID",
318
+ "description": "",
319
+ "required": true,
320
+ "schema": {
321
+ "type": "integer"
322
+ }
323
+ },
324
+ {
325
+ "in": "path",
326
+ "name": "monetary-accountID",
327
+ "description": "",
328
+ "required": true,
329
+ "schema": {
330
+ "type": "integer"
331
+ }
332
+ },
333
+ {
334
+ "in": "path",
335
+ "name": "itemId",
336
+ "description": "",
337
+ "required": true,
338
+ "schema": {
339
+ "type": "integer"
340
+ }
341
+ }
342
+ ],
343
+ "responses": {
344
+ "200": {
345
+ "description": "Success. The response body is returned verbatim."
346
+ }
347
+ }
348
+ }
349
+ },
350
+ "/user/{userID}/monetary-account/{monetary-accountID}/payment-batch": {
351
+ "post": {
352
+ "tags": [
353
+ "payment-batch"
354
+ ],
355
+ "summary": "",
356
+ "operationId": "CREATE_PaymentBatch_for_User_MonetaryAccount",
357
+ "description": "Create a payment batch by sending an array of single payment objects, that will become part of the batch.",
358
+ "parameters": [
359
+ {
360
+ "in": "path",
361
+ "name": "userID",
362
+ "description": "",
363
+ "required": true,
364
+ "schema": {
365
+ "type": "integer"
366
+ }
367
+ },
368
+ {
369
+ "in": "path",
370
+ "name": "monetary-accountID",
371
+ "description": "",
372
+ "required": true,
373
+ "schema": {
374
+ "type": "integer"
375
+ }
376
+ }
377
+ ],
378
+ "requestBody": {
379
+ "description": "",
380
+ "required": true,
381
+ "content": {
382
+ "application/json": {
383
+ "schema": {
384
+ "$ref": "#/components/schemas/PaymentBatch"
385
+ }
386
+ }
387
+ }
388
+ },
389
+ "responses": {
390
+ "200": {
391
+ "description": "Success. The response body is returned verbatim."
392
+ }
393
+ }
394
+ },
395
+ "get": {
396
+ "tags": [
397
+ "payment-batch"
398
+ ],
399
+ "summary": "",
400
+ "operationId": "List_all_PaymentBatch_for_User_MonetaryAccount",
401
+ "description": "Return all the payment batches for a monetary account.",
402
+ "parameters": [
403
+ {
404
+ "in": "path",
405
+ "name": "userID",
406
+ "description": "",
407
+ "required": true,
408
+ "schema": {
409
+ "type": "integer"
410
+ }
411
+ },
412
+ {
413
+ "in": "path",
414
+ "name": "monetary-accountID",
415
+ "description": "",
416
+ "required": true,
417
+ "schema": {
418
+ "type": "integer"
419
+ }
420
+ }
421
+ ],
422
+ "responses": {
423
+ "200": {
424
+ "description": "Success. The response body is returned verbatim."
425
+ }
426
+ }
427
+ }
428
+ },
429
+ "/user": {
430
+ "get": {
431
+ "tags": [
432
+ "user"
433
+ ],
434
+ "summary": "",
435
+ "operationId": "List_all_User",
436
+ "description": "Get a collection of all available users.",
437
+ "responses": {
438
+ "200": {
439
+ "description": "Success. The response body is returned verbatim."
440
+ }
441
+ }
442
+ }
443
+ }
444
+ },
445
+ "components": {
446
+ "schemas": {
447
+ "Address": {
448
+ "type": "object",
449
+ "properties": {
450
+ "street": {
451
+ "type": "string",
452
+ "description": "The street.",
453
+ "readOnly": false,
454
+ "writeOnly": false
455
+ },
456
+ "house_number": {
457
+ "type": "string",
458
+ "description": "The house number.",
459
+ "readOnly": false,
460
+ "writeOnly": false
461
+ },
462
+ "po_box": {
463
+ "type": "string",
464
+ "description": "The PO box.",
465
+ "readOnly": false,
466
+ "writeOnly": false
467
+ },
468
+ "postal_code": {
469
+ "type": "string",
470
+ "description": "The postal code.",
471
+ "readOnly": false,
472
+ "writeOnly": false
473
+ },
474
+ "city": {
475
+ "type": "string",
476
+ "description": "The city.",
477
+ "readOnly": false,
478
+ "writeOnly": false
479
+ },
480
+ "country": {
481
+ "type": "string",
482
+ "description": "The country as an ISO 3166-1 alpha-2 country code.",
483
+ "readOnly": false,
484
+ "writeOnly": false
485
+ },
486
+ "extra": {
487
+ "type": "string",
488
+ "description": "The apartment, building or other extra information for addresses.",
489
+ "readOnly": false,
490
+ "writeOnly": false
491
+ },
492
+ "mailbox_name": {
493
+ "type": "string",
494
+ "description": "The name on the mailbox (only used for Postal and Shipping addresses).",
495
+ "readOnly": false,
496
+ "writeOnly": false
497
+ }
498
+ }
499
+ },
500
+ "Amount": {
501
+ "type": "object",
502
+ "properties": {
503
+ "value": {
504
+ "type": "string",
505
+ "description": "The amount formatted to two decimal places.",
506
+ "readOnly": false,
507
+ "writeOnly": false
508
+ },
509
+ "currency": {
510
+ "type": "string",
511
+ "description": "The currency of the amount. It is an ISO 4217 formatted currency code.",
512
+ "readOnly": false,
513
+ "writeOnly": false
514
+ }
515
+ }
516
+ },
517
+ "AttachmentMonetaryAccountPayment": {
518
+ "type": "object",
519
+ "properties": {
520
+ "id": {
521
+ "type": "integer",
522
+ "description": "The id of the attached Attachment.",
523
+ "readOnly": false,
524
+ "writeOnly": false
525
+ }
526
+ }
527
+ },
528
+ "Avatar": {
529
+ "type": "object",
530
+ "properties": {
531
+ "uuid": {
532
+ "type": "string",
533
+ "description": "The public UUID of the avatar.",
534
+ "readOnly": false,
535
+ "writeOnly": false
536
+ }
537
+ }
538
+ },
539
+ "DraftPayment": {
540
+ "type": "object",
541
+ "properties": {
542
+ "status": {
543
+ "type": "string",
544
+ "description": "The status of the DraftPayment.",
545
+ "readOnly": false,
546
+ "writeOnly": false
547
+ },
548
+ "entries": {
549
+ "type": "array",
550
+ "description": "The list of entries in the DraftPayment. Each entry will result in a payment when the DraftPayment is accepted.",
551
+ "readOnly": false,
552
+ "writeOnly": false,
553
+ "items": {
554
+ "$ref": "#/components/schemas/DraftPaymentEntry"
555
+ }
556
+ },
557
+ "previous_updated_timestamp": {
558
+ "type": "string",
559
+ "description": "The last updated_timestamp that you received for this DraftPayment. This needs to be provided to prevent race conditions.",
560
+ "readOnly": false,
561
+ "writeOnly": true
562
+ },
563
+ "number_of_required_accepts": {
564
+ "type": "integer",
565
+ "description": "The number of accepts that are required for the draft payment to receive status ACCEPTED. Currently only 1 is valid.",
566
+ "readOnly": false,
567
+ "writeOnly": true
568
+ },
569
+ "schedule": {
570
+ "type": "object",
571
+ "description": "The schedule details when creating or updating a scheduled payment.",
572
+ "readOnly": false,
573
+ "writeOnly": false,
574
+ "$ref": "#/components/schemas/Schedule"
575
+ }
576
+ },
577
+ "required": [
578
+ "entries",
579
+ "number_of_required_accepts"
580
+ ]
581
+ },
582
+ "DraftPaymentEntry": {
583
+ "type": "object",
584
+ "properties": {
585
+ "amount": {
586
+ "type": "object",
587
+ "description": "The amount of the payment.",
588
+ "readOnly": false,
589
+ "writeOnly": false,
590
+ "$ref": "#/components/schemas/Amount"
591
+ },
592
+ "counterparty_alias": {
593
+ "type": "object",
594
+ "description": "The LabelMonetaryAccount containing the public information of the other (counterparty) side of the DraftPayment.",
595
+ "readOnly": false,
596
+ "writeOnly": false,
597
+ "$ref": "#/components/schemas/LabelMonetaryAccount"
598
+ },
599
+ "description": {
600
+ "type": "string",
601
+ "description": "The description for the DraftPayment. Maximum 140 characters for DraftPayments to external IBANs, 9000 characters for DraftPayments to only other bunq MonetaryAccounts.",
602
+ "readOnly": false,
603
+ "writeOnly": false
604
+ },
605
+ "merchant_reference": {
606
+ "type": "string",
607
+ "description": "Optional data to be included with the Payment specific to the merchant.",
608
+ "readOnly": false,
609
+ "writeOnly": false
610
+ },
611
+ "attachment": {
612
+ "type": "array",
613
+ "description": "The Attachments attached to the DraftPayment.",
614
+ "readOnly": false,
615
+ "writeOnly": false,
616
+ "items": {
617
+ "$ref": "#/components/schemas/AttachmentMonetaryAccountPayment"
618
+ }
619
+ }
620
+ }
621
+ },
622
+ "Error": {
623
+ "type": "array",
624
+ "items": {
625
+ "type": "object",
626
+ "properties": {
627
+ "error_description": {
628
+ "type": "string",
629
+ "description": "The error description in English."
630
+ },
631
+ "error_description_translated": {
632
+ "type": "string",
633
+ "description": "The error description translated to the user's language."
634
+ }
635
+ }
636
+ }
637
+ },
638
+ "Geolocation": {
639
+ "type": "object",
640
+ "properties": {
641
+ "latitude": {
642
+ "type": "integer",
643
+ "description": "The latitude for a geolocation restriction.",
644
+ "readOnly": false,
645
+ "writeOnly": false
646
+ },
647
+ "longitude": {
648
+ "type": "integer",
649
+ "description": "The longitude for a geolocation restriction.",
650
+ "readOnly": false,
651
+ "writeOnly": false
652
+ },
653
+ "altitude": {
654
+ "type": "integer",
655
+ "description": "The altitude for a geolocation restriction.",
656
+ "readOnly": false,
657
+ "writeOnly": false
658
+ },
659
+ "radius": {
660
+ "type": "integer",
661
+ "description": "The radius for a geolocation restriction.",
662
+ "readOnly": false,
663
+ "writeOnly": false
664
+ }
665
+ }
666
+ },
667
+ "GinmonTransaction": {
668
+ "type": "object",
669
+ "additionalProperties": true,
670
+ "description": "Every field bunq documents here is read-only, so its request shape is not described by the specification — send the object the tool description names."
671
+ },
672
+ "Image": {
673
+ "type": "object",
674
+ "additionalProperties": true,
675
+ "description": "Every field bunq documents here is read-only, so its request shape is not described by the specification — send the object the tool description names."
676
+ },
677
+ "LabelMonetaryAccount": {
678
+ "type": "object",
679
+ "additionalProperties": true,
680
+ "description": "Every field bunq documents here is read-only, so its request shape is not described by the specification — send the object the tool description names."
681
+ },
682
+ "LabelUser": {
683
+ "type": "object",
684
+ "properties": {
685
+ "uuid": {
686
+ "type": "string",
687
+ "description": "The public UUID of the label-user.",
688
+ "readOnly": false,
689
+ "writeOnly": false
690
+ },
691
+ "display_name": {
692
+ "type": "string",
693
+ "description": "The name to be displayed for this user, as it was given on the request.",
694
+ "readOnly": false,
695
+ "writeOnly": false
696
+ },
697
+ "country": {
698
+ "type": "string",
699
+ "description": "The country of the user. 000 stands for \"unknown\"",
700
+ "readOnly": false,
701
+ "writeOnly": false
702
+ }
703
+ }
704
+ },
705
+ "Payment": {
706
+ "type": "object",
707
+ "properties": {
708
+ "amount": {
709
+ "type": "object",
710
+ "description": "The Amount transferred by the Payment. Will be negative for outgoing Payments and positive for incoming Payments (relative to the MonetaryAccount indicated by monetary_account_id).",
711
+ "readOnly": false,
712
+ "writeOnly": false,
713
+ "$ref": "#/components/schemas/Amount"
714
+ },
715
+ "counterparty_alias": {
716
+ "type": "object",
717
+ "description": "The LabelMonetaryAccount containing the public information of the other (counterparty) side of the Payment.",
718
+ "readOnly": false,
719
+ "writeOnly": false,
720
+ "$ref": "#/components/schemas/LabelMonetaryAccount"
721
+ },
722
+ "description": {
723
+ "type": "string",
724
+ "description": "The description for the Payment. Maximum 140 characters for Payments to external IBANs, 9000 characters for Payments to only other bunq MonetaryAccounts.",
725
+ "readOnly": false,
726
+ "writeOnly": false
727
+ },
728
+ "attachment": {
729
+ "type": "array",
730
+ "description": "The Attachments attached to the Payment.",
731
+ "readOnly": false,
732
+ "writeOnly": false,
733
+ "items": {
734
+ "$ref": "#/components/schemas/AttachmentMonetaryAccountPayment"
735
+ }
736
+ },
737
+ "merchant_reference": {
738
+ "type": "string",
739
+ "description": "Optional data included with the Payment specific to the merchant.",
740
+ "readOnly": false,
741
+ "writeOnly": false
742
+ },
743
+ "allow_bunqto": {
744
+ "type": "boolean",
745
+ "description": "Whether or not sending a bunq.to payment is allowed.",
746
+ "readOnly": false,
747
+ "writeOnly": true
748
+ }
749
+ }
750
+ },
751
+ "PaymentArrivalExpected": {
752
+ "type": "object",
753
+ "additionalProperties": true,
754
+ "description": "Every field bunq documents here is read-only, so its request shape is not described by the specification — send the object the tool description names."
755
+ },
756
+ "PaymentAutoAllocateInstance": {
757
+ "type": "object",
758
+ "additionalProperties": true,
759
+ "description": "Every field bunq documents here is read-only, so its request shape is not described by the specification — send the object the tool description names."
760
+ },
761
+ "PaymentBatch": {
762
+ "type": "object",
763
+ "properties": {
764
+ "payments": {
765
+ "type": "object",
766
+ "description": "The list of mutations that were made.",
767
+ "readOnly": false,
768
+ "writeOnly": false,
769
+ "$ref": "#/components/schemas/PaymentBatchAnchoredPayment"
770
+ }
771
+ }
772
+ },
773
+ "PaymentBatchAnchoredPayment": {
774
+ "type": "object",
775
+ "additionalProperties": true,
776
+ "description": "Every field bunq documents here is read-only, so its request shape is not described by the specification — send the object the tool description names."
777
+ },
778
+ "PaymentFee": {
779
+ "type": "object",
780
+ "additionalProperties": true,
781
+ "description": "Every field bunq documents here is read-only, so its request shape is not described by the specification — send the object the tool description names."
782
+ },
783
+ "PaymentSuspendedOutgoing": {
784
+ "type": "object",
785
+ "properties": {
786
+ "status": {
787
+ "type": "string",
788
+ "description": "The status of the payment.",
789
+ "readOnly": false,
790
+ "writeOnly": false
791
+ }
792
+ }
793
+ },
794
+ "Pointer": {
795
+ "type": "object",
796
+ "properties": {
797
+ "type": {
798
+ "type": "string",
799
+ "description": "The alias type, can be: EMAIL|PHONE_NUMBER|IBAN.",
800
+ "readOnly": false,
801
+ "writeOnly": false
802
+ },
803
+ "value": {
804
+ "type": "string",
805
+ "description": "The alias value.",
806
+ "readOnly": false,
807
+ "writeOnly": false
808
+ },
809
+ "name": {
810
+ "type": "string",
811
+ "description": "The alias name.",
812
+ "readOnly": false,
813
+ "writeOnly": false
814
+ },
815
+ "service": {
816
+ "type": "string",
817
+ "description": "The pointer service. Only required for external counterparties.",
818
+ "readOnly": false,
819
+ "writeOnly": true
820
+ }
821
+ }
822
+ },
823
+ "RequestInquiryReference": {
824
+ "type": "object",
825
+ "additionalProperties": true,
826
+ "description": "Every field bunq documents here is read-only, so its request shape is not described by the specification — send the object the tool description names."
827
+ },
828
+ "Schedule": {
829
+ "type": "object",
830
+ "properties": {
831
+ "time_start": {
832
+ "type": "string",
833
+ "description": "The schedule start time (UTC).",
834
+ "readOnly": false,
835
+ "writeOnly": false
836
+ },
837
+ "time_end": {
838
+ "type": "string",
839
+ "description": "The schedule end time (UTC).",
840
+ "readOnly": false,
841
+ "writeOnly": false
842
+ },
843
+ "recurrence_unit": {
844
+ "type": "string",
845
+ "description": "The schedule recurrence unit, options: ONCE, HOURLY, DAILY, WEEKLY, MONTHLY, YEARLY",
846
+ "readOnly": false,
847
+ "writeOnly": false
848
+ },
849
+ "recurrence_size": {
850
+ "type": "integer",
851
+ "description": "The schedule recurrence size. For example size 4 and unit WEEKLY means the recurrence is every 4 weeks.",
852
+ "readOnly": false,
853
+ "writeOnly": false
854
+ }
855
+ }
856
+ },
857
+ "ScheduleAnchorObject": {
858
+ "type": "object",
859
+ "additionalProperties": true,
860
+ "description": "Every field bunq documents here is read-only, so its request shape is not described by the specification — send the object the tool description names."
861
+ }
862
+ }
863
+ }
864
+ }