@orvello/sdk 0.7.1 → 0.7.3

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/CONTRACT_SHA256 CHANGED
@@ -1 +1 @@
1
- bab3c1b429c28f8ac8aea5f9325c1205c6a29e2481efc868ad47a74d6587cc3d
1
+ b414bb56aaac36ef5eae18b77139b36fed7ca09c638a70472b00acb2650aedd9
package/dist/contract.cjs CHANGED
@@ -39,83 +39,131 @@ var apiMountPrefixes = {
39
39
  };
40
40
  var apiGroups = {
41
41
  base: [
42
+ {
43
+ "key": "amp_mail",
44
+ "module": "./base/routes.amp_mail"
45
+ },
42
46
  {
43
47
  "key": "app_info",
44
- "module": "./routes.app_info"
48
+ "module": "./base/routes.app_info"
45
49
  },
46
50
  {
47
51
  "key": "auth",
48
- "module": "./routes.auth"
52
+ "module": "./base/routes.auth"
49
53
  },
50
54
  {
51
55
  "key": "entitlements",
52
- "module": "./routes.entitlements"
56
+ "module": "./base/routes.entitlements"
53
57
  },
54
58
  {
55
59
  "key": "internal",
56
- "module": "./routes.internal"
60
+ "module": "./base/routes.internal"
61
+ },
62
+ {
63
+ "key": "logs",
64
+ "module": "./base/routes.logs"
65
+ },
66
+ {
67
+ "key": "oauth2",
68
+ "module": "./base/routes.oauth2"
69
+ },
70
+ {
71
+ "key": "oauth2_external",
72
+ "module": "./base/routes.oauth2_external"
57
73
  },
58
74
  {
59
75
  "key": "permissions",
60
- "module": "./routes.permissions"
76
+ "module": "./base/routes.permissions"
61
77
  },
62
78
  {
63
79
  "key": "roles",
64
- "module": "./routes.roles"
80
+ "module": "./base/routes.roles"
65
81
  },
66
82
  {
67
83
  "key": "security",
68
- "module": "./routes.security"
84
+ "module": "./base/routes.security"
69
85
  },
70
86
  {
71
87
  "key": "settings",
72
- "module": "./routes.settings"
88
+ "module": "./base/routes.settings"
73
89
  },
74
90
  {
75
91
  "key": "user_activity",
76
- "module": "./routes.user_activity"
92
+ "module": "./base/routes.user_activity"
77
93
  },
78
94
  {
79
95
  "key": "users",
80
- "module": "./routes.users"
96
+ "module": "./base/routes.users"
81
97
  },
82
98
  {
83
99
  "key": "webhooks",
84
- "module": "./routes.webhooks"
100
+ "module": "./base/routes.webhooks"
85
101
  }
86
102
  ],
87
103
  features: [
88
104
  {
89
105
  "key": "admin",
90
- "module": "./routes.admin"
106
+ "module": "./features/routes.admin"
91
107
  },
92
108
  {
93
109
  "key": "bookkeeping",
94
- "module": "./routes.bookkeeping"
110
+ "module": "./features/routes.bookkeeping"
95
111
  },
96
112
  {
97
113
  "key": "currency_rates",
98
- "module": "./routes.currency_rates"
114
+ "module": "./features/routes.currency_rates"
99
115
  },
100
116
  {
101
117
  "key": "customer_companies",
102
- "module": "./routes.customer_companies"
118
+ "module": "./features/routes.customer_companies"
119
+ },
120
+ {
121
+ "key": "customer_companies_external",
122
+ "module": "./features/routes.customer_companies_external"
123
+ },
124
+ {
125
+ "key": "document_library",
126
+ "module": "./features/routes.document_library"
103
127
  },
104
128
  {
105
129
  "key": "documents",
106
- "module": "./routes.documents"
130
+ "module": "./features/routes.documents"
131
+ },
132
+ {
133
+ "key": "dunning_external",
134
+ "module": "./features/routes.dunning_external"
135
+ },
136
+ {
137
+ "key": "enterprise",
138
+ "module": "./features/routes.enterprise"
107
139
  },
108
140
  {
109
141
  "key": "exports",
110
- "module": "./routes.exports"
142
+ "module": "./features/routes.exports"
111
143
  },
112
144
  {
113
145
  "key": "invoices",
114
- "module": "./routes.invoices"
146
+ "module": "./features/routes.invoices"
147
+ },
148
+ {
149
+ "key": "invoices_external",
150
+ "module": "./features/routes.invoices_external"
115
151
  },
116
152
  {
117
153
  "key": "managing_companies",
118
- "module": "./routes.managing_companies"
154
+ "module": "./features/routes.managing_companies"
155
+ },
156
+ {
157
+ "key": "managing_companies_external",
158
+ "module": "./features/routes.managing_companies_external"
159
+ },
160
+ {
161
+ "key": "managing_company_logos",
162
+ "module": "./features/routes.managing_company_logos"
163
+ },
164
+ {
165
+ "key": "work_tracking",
166
+ "module": "./features/routes.work_tracking"
119
167
  }
120
168
  ],
121
169
  all: [
@@ -151,6 +199,10 @@ var apiGroups = {
151
199
  "key": "customer_companies_external",
152
200
  "module": "./features/routes.customer_companies_external"
153
201
  },
202
+ {
203
+ "key": "document_library",
204
+ "module": "./features/routes.document_library"
205
+ },
154
206
  {
155
207
  "key": "documents",
156
208
  "module": "./features/routes.documents"
@@ -367,6 +419,18 @@ var apiRoutes_app_info = {
367
419
  types: null
368
420
  },
369
421
  // Contract source: explicit
422
+ "app_info_capabilities": {
423
+ method: "GET",
424
+ path: "/app-info/capabilities",
425
+ auth: { "type": "public" },
426
+ meta: {
427
+ tags: ["app-info"],
428
+ summary: "Public app capabilities for the sign-in screen (mail: password registration, reset and verification; credits: the backend keeps credit balances)",
429
+ validated: { "params": false, "query": true, "body": false }
430
+ },
431
+ types: null
432
+ },
433
+ // Contract source: explicit
370
434
  "app_info_get": {
371
435
  method: "GET",
372
436
  path: "/app-info",
@@ -426,7 +490,7 @@ var apiRoutes_auth = {
426
490
  auth: { "type": "frontend_bearer_http" },
427
491
  meta: {
428
492
  tags: ["auth"],
429
- summary: "Prepare TOTP enrollment after rechecking the password",
493
+ summary: "Prepare TOTP enrollment after rechecking the password or a fresh Google sign-in",
430
494
  bodyContentType: "application/json",
431
495
  validated: { "params": false, "query": false, "body": true }
432
496
  },
@@ -452,7 +516,7 @@ var apiRoutes_auth = {
452
516
  auth: { "type": "frontend_bearer_http" },
453
517
  meta: {
454
518
  tags: ["auth"],
455
- summary: "Disable MFA using both the password and a second factor",
519
+ summary: "Disable MFA using the password or a fresh Google sign-in, plus a second factor",
456
520
  bodyContentType: "application/json",
457
521
  validated: { "params": false, "query": false, "body": true }
458
522
  },
@@ -529,7 +593,83 @@ var apiRoutes_auth = {
529
593
  auth: { "type": "frontend_bearer_http" },
530
594
  meta: {
531
595
  tags: ["auth"],
532
- summary: "Update the current user's own profile (name, avatar)",
596
+ summary: "Update the current user's own profile (name, avatar, locale)",
597
+ bodyContentType: "application/json",
598
+ validated: { "params": false, "query": false, "body": true }
599
+ },
600
+ types: null
601
+ },
602
+ // Contract source: explicit
603
+ "auth_me_image_replace": {
604
+ method: "PUT",
605
+ path: "/auth/me/image",
606
+ auth: { "type": "frontend_bearer_http" },
607
+ meta: {
608
+ tags: ["auth"],
609
+ summary: "Upload the current user's profile image (base64), stored in this backend",
610
+ bodyContentType: "application/json",
611
+ validated: { "params": false, "query": false, "body": true }
612
+ },
613
+ types: null
614
+ },
615
+ // Contract source: explicit
616
+ "auth_me_image_delete": {
617
+ method: "DELETE",
618
+ path: "/auth/me/image",
619
+ auth: { "type": "frontend_bearer_http" },
620
+ meta: {
621
+ tags: ["auth"],
622
+ summary: "Remove the current user's profile image",
623
+ validated: { "params": false, "query": true, "body": false }
624
+ },
625
+ types: null
626
+ },
627
+ // Contract source: explicit
628
+ "auth_google_config": {
629
+ method: "GET",
630
+ path: "/auth/google/config",
631
+ auth: { "type": "public" },
632
+ meta: {
633
+ tags: ["auth"],
634
+ summary: "Public Google sign-in configuration per client kind (never a secret)",
635
+ validated: { "params": false, "query": true, "body": false }
636
+ },
637
+ types: null
638
+ },
639
+ // Contract source: explicit
640
+ "auth_google_login": {
641
+ method: "POST",
642
+ path: "/auth/google",
643
+ auth: { "type": "public" },
644
+ meta: {
645
+ tags: ["auth"],
646
+ summary: "Sign in with a Google authorization code obtained via system browser + PKCE",
647
+ bodyContentType: "application/json",
648
+ validated: { "params": false, "query": false, "body": true }
649
+ },
650
+ types: null
651
+ },
652
+ // Contract source: explicit
653
+ "auth_google_link": {
654
+ method: "POST",
655
+ path: "/auth/google/link",
656
+ auth: { "type": "frontend_bearer_http" },
657
+ meta: {
658
+ tags: ["auth"],
659
+ summary: "Link a Google account to the current user (requires the current password)",
660
+ bodyContentType: "application/json",
661
+ validated: { "params": false, "query": false, "body": true }
662
+ },
663
+ types: null
664
+ },
665
+ // Contract source: explicit
666
+ "auth_google_unlink": {
667
+ method: "DELETE",
668
+ path: "/auth/google/link",
669
+ auth: { "type": "frontend_bearer_http" },
670
+ meta: {
671
+ tags: ["auth"],
672
+ summary: "Unlink Google from the current user (requires the password, revokes all sessions)",
533
673
  bodyContentType: "application/json",
534
674
  validated: { "params": false, "query": false, "body": true }
535
675
  },
@@ -3083,6 +3223,219 @@ var apiRoutes_customer_companies_external = {
3083
3223
  }
3084
3224
  };
3085
3225
 
3226
+ // src/generated/api/features/routes.document_library.ts
3227
+ var apiRoutes_document_library = {
3228
+ // Contract source: explicit
3229
+ "document_library_settings": {
3230
+ method: "GET",
3231
+ path: "/documents/library/settings",
3232
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3233
+ meta: {
3234
+ tags: ["document_library"],
3235
+ validated: { "params": false, "query": true, "body": false }
3236
+ },
3237
+ types: null
3238
+ },
3239
+ // Contract source: explicit
3240
+ "document_library_settings_save": {
3241
+ method: "PUT",
3242
+ path: "/documents/library/settings",
3243
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3244
+ meta: {
3245
+ tags: ["document_library"],
3246
+ validated: { "params": false, "query": true, "body": true }
3247
+ },
3248
+ types: null
3249
+ },
3250
+ // Contract source: explicit
3251
+ "document_library_branding": {
3252
+ method: "GET",
3253
+ path: "/documents/library/branding",
3254
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3255
+ meta: {
3256
+ tags: ["document_library"],
3257
+ validated: { "params": false, "query": true, "body": false }
3258
+ },
3259
+ types: null
3260
+ },
3261
+ // Contract source: explicit
3262
+ "document_library_list": {
3263
+ method: "GET",
3264
+ path: "/documents/library",
3265
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3266
+ meta: {
3267
+ tags: ["document_library"],
3268
+ validated: { "params": false, "query": true, "body": false }
3269
+ },
3270
+ types: null
3271
+ },
3272
+ // Contract source: explicit
3273
+ "document_library_folders": {
3274
+ method: "GET",
3275
+ path: "/documents/library/folders",
3276
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3277
+ meta: {
3278
+ tags: ["document_library"],
3279
+ validated: { "params": false, "query": true, "body": false }
3280
+ },
3281
+ types: null
3282
+ },
3283
+ // Contract source: explicit
3284
+ "document_library_folder_create": {
3285
+ method: "POST",
3286
+ path: "/documents/library/folders",
3287
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3288
+ meta: {
3289
+ tags: ["document_library"],
3290
+ validated: { "params": false, "query": true, "body": true }
3291
+ },
3292
+ types: null
3293
+ },
3294
+ // Contract source: explicit
3295
+ "document_library_folder_update": {
3296
+ method: "PUT",
3297
+ path: "/documents/library/folders/:id",
3298
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3299
+ meta: {
3300
+ tags: ["document_library"],
3301
+ validated: { "params": true, "query": true, "body": true }
3302
+ },
3303
+ types: null
3304
+ },
3305
+ // Contract source: explicit
3306
+ "document_library_folder_delete": {
3307
+ method: "DELETE",
3308
+ path: "/documents/library/folders/:id",
3309
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3310
+ meta: {
3311
+ tags: ["document_library"],
3312
+ validated: { "params": true, "query": true, "body": false }
3313
+ },
3314
+ types: null
3315
+ },
3316
+ // Contract source: explicit
3317
+ "document_library_batch": {
3318
+ method: "POST",
3319
+ path: "/documents/library/batch",
3320
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3321
+ meta: {
3322
+ tags: ["document_library"],
3323
+ validated: { "params": false, "query": true, "body": true }
3324
+ },
3325
+ types: null
3326
+ },
3327
+ // Contract source: explicit
3328
+ "document_library_metadata": {
3329
+ method: "PATCH",
3330
+ path: "/documents/library/:id/metadata",
3331
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3332
+ meta: {
3333
+ tags: ["document_library"],
3334
+ validated: { "params": true, "query": true, "body": true }
3335
+ },
3336
+ types: null
3337
+ },
3338
+ // Contract source: explicit
3339
+ "document_library_drafts": {
3340
+ method: "GET",
3341
+ path: "/documents/library/drafts",
3342
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3343
+ meta: {
3344
+ tags: ["document_library"],
3345
+ validated: { "params": false, "query": true, "body": false }
3346
+ },
3347
+ types: null
3348
+ },
3349
+ // Contract source: explicit
3350
+ "document_library_draft_get": {
3351
+ method: "GET",
3352
+ path: "/documents/library/drafts/:id",
3353
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3354
+ meta: {
3355
+ tags: ["document_library"],
3356
+ validated: { "params": true, "query": true, "body": false }
3357
+ },
3358
+ types: null
3359
+ },
3360
+ // Contract source: explicit
3361
+ "document_library_draft_create": {
3362
+ method: "POST",
3363
+ path: "/documents/library/drafts",
3364
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3365
+ meta: {
3366
+ tags: ["document_library"],
3367
+ validated: { "params": false, "query": true, "body": true }
3368
+ },
3369
+ types: null
3370
+ },
3371
+ // Contract source: explicit
3372
+ "document_library_draft_update": {
3373
+ method: "PUT",
3374
+ path: "/documents/library/drafts/:id",
3375
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3376
+ meta: {
3377
+ tags: ["document_library"],
3378
+ validated: { "params": true, "query": true, "body": true }
3379
+ },
3380
+ types: null
3381
+ },
3382
+ // Contract source: explicit
3383
+ "document_library_draft_delete": {
3384
+ method: "DELETE",
3385
+ path: "/documents/library/drafts/:id",
3386
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3387
+ meta: {
3388
+ tags: ["document_library"],
3389
+ validated: { "params": true, "query": true, "body": false }
3390
+ },
3391
+ types: null
3392
+ },
3393
+ // Contract source: explicit
3394
+ "document_library_preview": {
3395
+ method: "POST",
3396
+ path: "/documents/library/drafts/:id/preview",
3397
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3398
+ meta: {
3399
+ tags: ["document_library"],
3400
+ validated: { "params": true, "query": true, "body": true }
3401
+ },
3402
+ types: null
3403
+ },
3404
+ // Contract source: explicit
3405
+ "document_library_render": {
3406
+ method: "POST",
3407
+ path: "/documents/library/drafts/:id/render",
3408
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3409
+ meta: {
3410
+ tags: ["document_library"],
3411
+ validated: { "params": true, "query": true, "body": true }
3412
+ },
3413
+ types: null
3414
+ },
3415
+ // Contract source: explicit
3416
+ "document_library_deliveries": {
3417
+ method: "GET",
3418
+ path: "/documents/library/:id/deliveries",
3419
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3420
+ meta: {
3421
+ tags: ["document_library"],
3422
+ validated: { "params": true, "query": true, "body": false }
3423
+ },
3424
+ types: null
3425
+ },
3426
+ // Contract source: explicit
3427
+ "document_library_send": {
3428
+ method: "POST",
3429
+ path: "/documents/library/:id/send",
3430
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3431
+ meta: {
3432
+ tags: ["document_library"],
3433
+ validated: { "params": true, "query": true, "body": true }
3434
+ },
3435
+ types: null
3436
+ }
3437
+ };
3438
+
3086
3439
  // src/generated/api/features/routes.documents.ts
3087
3440
  var apiRoutes_documents = {
3088
3441
  // Contract source: explicit
@@ -4027,7 +4380,21 @@ var apiRoutes_invoices_external = {
4027
4380
  meta: {
4028
4381
  tags: ["invoices-external"],
4029
4382
  summary: "Create invoice (external API)",
4030
- description: "Creates a new invoice via API Key or OAuth2. managingCompanyId is derived from the auth token. Includes full line item support, VAT calculation, and optional PDF generation. Optional idempotencyKey durably replays the original creation response within the authenticated tenant and OAuth client/API key. Changed validated payload returns 409; current cost-center access is checked again. Keys do not expire. With idempotencyKey, paidAt is rejected (400). The stored creation response is not current payment evidence.",
4383
+ description: "Creates a new invoice via API Key or OAuth2. managingCompanyId is derived from the auth token. Includes full line item support, VAT calculation, and optional PDF generation. Optional idempotencyKey durably replays the original creation response within the authenticated tenant and OAuth client/API key. Changed validated payload returns 409; current cost-center access is checked again. Keys do not expire. With paidAt, invoice creation, paid status and the receipt commit atomically; a PDF download completes publication if needed. The stored creation response is not current payment evidence.",
4384
+ bodyContentType: "application/json",
4385
+ validated: { "params": false, "query": false, "body": true }
4386
+ },
4387
+ types: null
4388
+ },
4389
+ // Contract source: explicit
4390
+ "invoices_dry_run_external": {
4391
+ method: "POST",
4392
+ path: "/invoices/external/dry-run",
4393
+ auth: { "type": "unified_bearer", "allowUserSession": false, "allowOAuth2": true, "allowApiKey": true, "requireRole": "editor", "scopes": ["invoices:write"] },
4394
+ meta: {
4395
+ tags: ["invoices-external"],
4396
+ summary: "Dry run an invoice creation end to end (external API)",
4397
+ description: "Runs the full creation path of POST /invoices/external in one transaction: plan limit, VAT, number, line items, paid status (with paidAt), PDF, e-invoice, upload, year folder filing, document. Then rolls everything back and deletes the uploaded PDF. Nothing is persisted and no number is consumed. Same error responses as the real creation. idempotencyKey is ignored. Meant for scheduled canaries of consumers.",
4031
4398
  bodyContentType: "application/json",
4032
4399
  validated: { "params": false, "query": false, "body": true }
4033
4400
  },
@@ -4142,6 +4509,42 @@ var apiRoutes_logs = {
4142
4509
 
4143
4510
  // src/generated/api/features/routes.managing_companies.ts
4144
4511
  var apiRoutes_managing_companies = {
4512
+ // Contract source: explicit
4513
+ "managing_companies_invoice_numbering_get": {
4514
+ method: "GET",
4515
+ path: "/managing-companies/invoice-numbering/:managingCompanyId",
4516
+ auth: { "type": "frontend_bearer_http" },
4517
+ meta: {
4518
+ tags: ["managing-companies"],
4519
+ summary: "Nummernregeln und \xC4nderungsverlauf",
4520
+ validated: { "params": true, "query": false, "body": false }
4521
+ },
4522
+ types: null
4523
+ },
4524
+ // Contract source: explicit
4525
+ "managing_companies_invoice_numbering_save": {
4526
+ method: "PUT",
4527
+ path: "/managing-companies/invoice-numbering/:managingCompanyId",
4528
+ auth: { "type": "frontend_bearer_http" },
4529
+ meta: {
4530
+ tags: ["managing-companies"],
4531
+ summary: "Nummernregeln als Unternehmensadministrator \xE4ndern",
4532
+ validated: { "params": true, "query": false, "body": true }
4533
+ },
4534
+ types: null
4535
+ },
4536
+ // Contract source: explicit
4537
+ "managing_companies_invoice_numbering_preview": {
4538
+ method: "POST",
4539
+ path: "/managing-companies/invoice-numbering/:managingCompanyId/preview",
4540
+ auth: { "type": "frontend_bearer_http" },
4541
+ meta: {
4542
+ tags: ["managing-companies"],
4543
+ summary: "Nummern vorschauen ohne Reservierung",
4544
+ validated: { "params": true, "query": false, "body": true }
4545
+ },
4546
+ types: null
4547
+ },
4145
4548
  // Contract source: explicit
4146
4549
  "managing_companies_user_assignments_assign": {
4147
4550
  method: "POST",
@@ -4404,6 +4807,19 @@ var apiRoutes_managing_companies = {
4404
4807
  types: null
4405
4808
  },
4406
4809
  // Contract source: explicit
4810
+ "managing_companies_vat_settings_history": {
4811
+ method: "GET",
4812
+ path: "/managing-companies/vat-settings/:companyId/history",
4813
+ auth: { "type": "frontend_bearer_http" },
4814
+ meta: {
4815
+ tags: ["managing-companies", "vat-settings"],
4816
+ summary: "Verlauf der USt-Einstellungen lesen",
4817
+ description: "Aenderungsverlauf (Besteuerungsverfahren, UStVA-Praeferenz, Begruendung) der USt-Einstellungen einer Managing Company, aelteste zuerst. Fuer jedes Mitglied der Firma; der Admin-Weg GET /admin/vat/company/:companyId/settings-history bleibt der Plattformverwaltung. Auth: Bearer.",
4818
+ validated: { "params": true, "query": false, "body": false }
4819
+ },
4820
+ types: null
4821
+ },
4822
+ // Contract source: explicit
4407
4823
  "managing_companies_vat_settings_upsert": {
4408
4824
  method: "POST",
4409
4825
  path: "/managing-companies/vat-settings/:companyId",
@@ -5463,6 +5879,31 @@ var apiRoutes_users = {
5463
5879
  types: null
5464
5880
  },
5465
5881
  // Contract source: explicit
5882
+ "users_update_external_image": {
5883
+ method: "PUT",
5884
+ path: "/users/update/external/:frontendUserId/image",
5885
+ auth: { "type": "frontend_bearer_http" },
5886
+ meta: {
5887
+ tags: ["users"],
5888
+ summary: "Mirror the frontend user's profile image into this backend (base64)",
5889
+ bodyContentType: "application/json",
5890
+ validated: { "params": true, "query": false, "body": true }
5891
+ },
5892
+ types: null
5893
+ },
5894
+ // Contract source: explicit
5895
+ "users_delete_external_image": {
5896
+ method: "DELETE",
5897
+ path: "/users/update/external/:frontendUserId/image",
5898
+ auth: { "type": "frontend_bearer_http" },
5899
+ meta: {
5900
+ tags: ["users"],
5901
+ summary: "Remove the mirrored profile image of the frontend user",
5902
+ validated: { "params": true, "query": false, "body": false }
5903
+ },
5904
+ types: null
5905
+ },
5906
+ // Contract source: explicit
5466
5907
  "users_delete": {
5467
5908
  method: "DELETE",
5468
5909
  path: "/users/delete/:userId",
@@ -5747,6 +6188,7 @@ var apiRoutes = {
5747
6188
  ...apiRoutes_currency_rates,
5748
6189
  ...apiRoutes_customer_companies,
5749
6190
  ...apiRoutes_customer_companies_external,
6191
+ ...apiRoutes_document_library,
5750
6192
  ...apiRoutes_documents,
5751
6193
  ...apiRoutes_dunning_external,
5752
6194
  ...apiRoutes_enterprise,
@@ -5782,6 +6224,7 @@ exports.apiRoutes_bookkeeping = apiRoutes_bookkeeping;
5782
6224
  exports.apiRoutes_currency_rates = apiRoutes_currency_rates;
5783
6225
  exports.apiRoutes_customer_companies = apiRoutes_customer_companies;
5784
6226
  exports.apiRoutes_customer_companies_external = apiRoutes_customer_companies_external;
6227
+ exports.apiRoutes_document_library = apiRoutes_document_library;
5785
6228
  exports.apiRoutes_documents = apiRoutes_documents;
5786
6229
  exports.apiRoutes_dunning_external = apiRoutes_dunning_external;
5787
6230
  exports.apiRoutes_enterprise = apiRoutes_enterprise;