@orvello/sdk 0.7.1 → 0.7.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.
package/dist/contract.cjs CHANGED
@@ -34,88 +34,141 @@ var apiMountPrefixes = {
34
34
  "/exports",
35
35
  "/invoices",
36
36
  "/managing-companies",
37
- "/oauth"
37
+ "/oauth",
38
+ "/tax-years"
38
39
  ]
39
40
  };
40
41
  var apiGroups = {
41
42
  base: [
43
+ {
44
+ "key": "amp_mail",
45
+ "module": "./base/routes.amp_mail"
46
+ },
42
47
  {
43
48
  "key": "app_info",
44
- "module": "./routes.app_info"
49
+ "module": "./base/routes.app_info"
45
50
  },
46
51
  {
47
52
  "key": "auth",
48
- "module": "./routes.auth"
53
+ "module": "./base/routes.auth"
49
54
  },
50
55
  {
51
56
  "key": "entitlements",
52
- "module": "./routes.entitlements"
57
+ "module": "./base/routes.entitlements"
53
58
  },
54
59
  {
55
60
  "key": "internal",
56
- "module": "./routes.internal"
61
+ "module": "./base/routes.internal"
62
+ },
63
+ {
64
+ "key": "logs",
65
+ "module": "./base/routes.logs"
66
+ },
67
+ {
68
+ "key": "oauth2",
69
+ "module": "./base/routes.oauth2"
70
+ },
71
+ {
72
+ "key": "oauth2_external",
73
+ "module": "./base/routes.oauth2_external"
57
74
  },
58
75
  {
59
76
  "key": "permissions",
60
- "module": "./routes.permissions"
77
+ "module": "./base/routes.permissions"
61
78
  },
62
79
  {
63
80
  "key": "roles",
64
- "module": "./routes.roles"
81
+ "module": "./base/routes.roles"
65
82
  },
66
83
  {
67
84
  "key": "security",
68
- "module": "./routes.security"
85
+ "module": "./base/routes.security"
69
86
  },
70
87
  {
71
88
  "key": "settings",
72
- "module": "./routes.settings"
89
+ "module": "./base/routes.settings"
73
90
  },
74
91
  {
75
92
  "key": "user_activity",
76
- "module": "./routes.user_activity"
93
+ "module": "./base/routes.user_activity"
77
94
  },
78
95
  {
79
96
  "key": "users",
80
- "module": "./routes.users"
97
+ "module": "./base/routes.users"
81
98
  },
82
99
  {
83
100
  "key": "webhooks",
84
- "module": "./routes.webhooks"
101
+ "module": "./base/routes.webhooks"
85
102
  }
86
103
  ],
87
104
  features: [
88
105
  {
89
106
  "key": "admin",
90
- "module": "./routes.admin"
107
+ "module": "./features/routes.admin"
91
108
  },
92
109
  {
93
110
  "key": "bookkeeping",
94
- "module": "./routes.bookkeeping"
111
+ "module": "./features/routes.bookkeeping"
95
112
  },
96
113
  {
97
114
  "key": "currency_rates",
98
- "module": "./routes.currency_rates"
115
+ "module": "./features/routes.currency_rates"
99
116
  },
100
117
  {
101
118
  "key": "customer_companies",
102
- "module": "./routes.customer_companies"
119
+ "module": "./features/routes.customer_companies"
120
+ },
121
+ {
122
+ "key": "customer_companies_external",
123
+ "module": "./features/routes.customer_companies_external"
124
+ },
125
+ {
126
+ "key": "document_library",
127
+ "module": "./features/routes.document_library"
103
128
  },
104
129
  {
105
130
  "key": "documents",
106
- "module": "./routes.documents"
131
+ "module": "./features/routes.documents"
132
+ },
133
+ {
134
+ "key": "dunning_external",
135
+ "module": "./features/routes.dunning_external"
136
+ },
137
+ {
138
+ "key": "enterprise",
139
+ "module": "./features/routes.enterprise"
107
140
  },
108
141
  {
109
142
  "key": "exports",
110
- "module": "./routes.exports"
143
+ "module": "./features/routes.exports"
111
144
  },
112
145
  {
113
146
  "key": "invoices",
114
- "module": "./routes.invoices"
147
+ "module": "./features/routes.invoices"
148
+ },
149
+ {
150
+ "key": "invoices_external",
151
+ "module": "./features/routes.invoices_external"
115
152
  },
116
153
  {
117
154
  "key": "managing_companies",
118
- "module": "./routes.managing_companies"
155
+ "module": "./features/routes.managing_companies"
156
+ },
157
+ {
158
+ "key": "managing_companies_external",
159
+ "module": "./features/routes.managing_companies_external"
160
+ },
161
+ {
162
+ "key": "managing_company_logos",
163
+ "module": "./features/routes.managing_company_logos"
164
+ },
165
+ {
166
+ "key": "tax_years",
167
+ "module": "./features/routes.tax_years"
168
+ },
169
+ {
170
+ "key": "work_tracking",
171
+ "module": "./features/routes.work_tracking"
119
172
  }
120
173
  ],
121
174
  all: [
@@ -151,6 +204,10 @@ var apiGroups = {
151
204
  "key": "customer_companies_external",
152
205
  "module": "./features/routes.customer_companies_external"
153
206
  },
207
+ {
208
+ "key": "document_library",
209
+ "module": "./features/routes.document_library"
210
+ },
154
211
  {
155
212
  "key": "documents",
156
213
  "module": "./features/routes.documents"
@@ -223,6 +280,10 @@ var apiGroups = {
223
280
  "key": "settings",
224
281
  "module": "./base/routes.settings"
225
282
  },
283
+ {
284
+ "key": "tax_years",
285
+ "module": "./features/routes.tax_years"
286
+ },
226
287
  {
227
288
  "key": "user_activity",
228
289
  "module": "./base/routes.user_activity"
@@ -367,6 +428,18 @@ var apiRoutes_app_info = {
367
428
  types: null
368
429
  },
369
430
  // Contract source: explicit
431
+ "app_info_capabilities": {
432
+ method: "GET",
433
+ path: "/app-info/capabilities",
434
+ auth: { "type": "public" },
435
+ meta: {
436
+ tags: ["app-info"],
437
+ summary: "Public app capabilities for the sign-in screen (mail: password registration, reset and verification; credits: the backend keeps credit balances)",
438
+ validated: { "params": false, "query": true, "body": false }
439
+ },
440
+ types: null
441
+ },
442
+ // Contract source: explicit
370
443
  "app_info_get": {
371
444
  method: "GET",
372
445
  path: "/app-info",
@@ -426,7 +499,7 @@ var apiRoutes_auth = {
426
499
  auth: { "type": "frontend_bearer_http" },
427
500
  meta: {
428
501
  tags: ["auth"],
429
- summary: "Prepare TOTP enrollment after rechecking the password",
502
+ summary: "Prepare TOTP enrollment after rechecking the password or a fresh Google sign-in",
430
503
  bodyContentType: "application/json",
431
504
  validated: { "params": false, "query": false, "body": true }
432
505
  },
@@ -452,7 +525,7 @@ var apiRoutes_auth = {
452
525
  auth: { "type": "frontend_bearer_http" },
453
526
  meta: {
454
527
  tags: ["auth"],
455
- summary: "Disable MFA using both the password and a second factor",
528
+ summary: "Disable MFA using the password or a fresh Google sign-in, plus a second factor",
456
529
  bodyContentType: "application/json",
457
530
  validated: { "params": false, "query": false, "body": true }
458
531
  },
@@ -529,7 +602,83 @@ var apiRoutes_auth = {
529
602
  auth: { "type": "frontend_bearer_http" },
530
603
  meta: {
531
604
  tags: ["auth"],
532
- summary: "Update the current user's own profile (name, avatar)",
605
+ summary: "Update the current user's own profile (name, avatar, locale)",
606
+ bodyContentType: "application/json",
607
+ validated: { "params": false, "query": false, "body": true }
608
+ },
609
+ types: null
610
+ },
611
+ // Contract source: explicit
612
+ "auth_me_image_replace": {
613
+ method: "PUT",
614
+ path: "/auth/me/image",
615
+ auth: { "type": "frontend_bearer_http" },
616
+ meta: {
617
+ tags: ["auth"],
618
+ summary: "Upload the current user's profile image (base64), stored in this backend",
619
+ bodyContentType: "application/json",
620
+ validated: { "params": false, "query": false, "body": true }
621
+ },
622
+ types: null
623
+ },
624
+ // Contract source: explicit
625
+ "auth_me_image_delete": {
626
+ method: "DELETE",
627
+ path: "/auth/me/image",
628
+ auth: { "type": "frontend_bearer_http" },
629
+ meta: {
630
+ tags: ["auth"],
631
+ summary: "Remove the current user's profile image",
632
+ validated: { "params": false, "query": true, "body": false }
633
+ },
634
+ types: null
635
+ },
636
+ // Contract source: explicit
637
+ "auth_google_config": {
638
+ method: "GET",
639
+ path: "/auth/google/config",
640
+ auth: { "type": "public" },
641
+ meta: {
642
+ tags: ["auth"],
643
+ summary: "Public Google sign-in configuration per client kind (never a secret)",
644
+ validated: { "params": false, "query": true, "body": false }
645
+ },
646
+ types: null
647
+ },
648
+ // Contract source: explicit
649
+ "auth_google_login": {
650
+ method: "POST",
651
+ path: "/auth/google",
652
+ auth: { "type": "public" },
653
+ meta: {
654
+ tags: ["auth"],
655
+ summary: "Sign in with a Google authorization code obtained via system browser + PKCE",
656
+ bodyContentType: "application/json",
657
+ validated: { "params": false, "query": false, "body": true }
658
+ },
659
+ types: null
660
+ },
661
+ // Contract source: explicit
662
+ "auth_google_link": {
663
+ method: "POST",
664
+ path: "/auth/google/link",
665
+ auth: { "type": "frontend_bearer_http" },
666
+ meta: {
667
+ tags: ["auth"],
668
+ summary: "Link a Google account to the current user (requires the current password)",
669
+ bodyContentType: "application/json",
670
+ validated: { "params": false, "query": false, "body": true }
671
+ },
672
+ types: null
673
+ },
674
+ // Contract source: explicit
675
+ "auth_google_unlink": {
676
+ method: "DELETE",
677
+ path: "/auth/google/link",
678
+ auth: { "type": "frontend_bearer_http" },
679
+ meta: {
680
+ tags: ["auth"],
681
+ summary: "Unlink Google from the current user (requires the password, revokes all sessions)",
533
682
  bodyContentType: "application/json",
534
683
  validated: { "params": false, "query": false, "body": true }
535
684
  },
@@ -3083,6 +3232,219 @@ var apiRoutes_customer_companies_external = {
3083
3232
  }
3084
3233
  };
3085
3234
 
3235
+ // src/generated/api/features/routes.document_library.ts
3236
+ var apiRoutes_document_library = {
3237
+ // Contract source: explicit
3238
+ "document_library_settings": {
3239
+ method: "GET",
3240
+ path: "/documents/library/settings",
3241
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3242
+ meta: {
3243
+ tags: ["document_library"],
3244
+ validated: { "params": false, "query": true, "body": false }
3245
+ },
3246
+ types: null
3247
+ },
3248
+ // Contract source: explicit
3249
+ "document_library_settings_save": {
3250
+ method: "PUT",
3251
+ path: "/documents/library/settings",
3252
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3253
+ meta: {
3254
+ tags: ["document_library"],
3255
+ validated: { "params": false, "query": true, "body": true }
3256
+ },
3257
+ types: null
3258
+ },
3259
+ // Contract source: explicit
3260
+ "document_library_branding": {
3261
+ method: "GET",
3262
+ path: "/documents/library/branding",
3263
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3264
+ meta: {
3265
+ tags: ["document_library"],
3266
+ validated: { "params": false, "query": true, "body": false }
3267
+ },
3268
+ types: null
3269
+ },
3270
+ // Contract source: explicit
3271
+ "document_library_list": {
3272
+ method: "GET",
3273
+ path: "/documents/library",
3274
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3275
+ meta: {
3276
+ tags: ["document_library"],
3277
+ validated: { "params": false, "query": true, "body": false }
3278
+ },
3279
+ types: null
3280
+ },
3281
+ // Contract source: explicit
3282
+ "document_library_folders": {
3283
+ method: "GET",
3284
+ path: "/documents/library/folders",
3285
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3286
+ meta: {
3287
+ tags: ["document_library"],
3288
+ validated: { "params": false, "query": true, "body": false }
3289
+ },
3290
+ types: null
3291
+ },
3292
+ // Contract source: explicit
3293
+ "document_library_folder_create": {
3294
+ method: "POST",
3295
+ path: "/documents/library/folders",
3296
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3297
+ meta: {
3298
+ tags: ["document_library"],
3299
+ validated: { "params": false, "query": true, "body": true }
3300
+ },
3301
+ types: null
3302
+ },
3303
+ // Contract source: explicit
3304
+ "document_library_folder_update": {
3305
+ method: "PUT",
3306
+ path: "/documents/library/folders/:id",
3307
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3308
+ meta: {
3309
+ tags: ["document_library"],
3310
+ validated: { "params": true, "query": true, "body": true }
3311
+ },
3312
+ types: null
3313
+ },
3314
+ // Contract source: explicit
3315
+ "document_library_folder_delete": {
3316
+ method: "DELETE",
3317
+ path: "/documents/library/folders/:id",
3318
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3319
+ meta: {
3320
+ tags: ["document_library"],
3321
+ validated: { "params": true, "query": true, "body": false }
3322
+ },
3323
+ types: null
3324
+ },
3325
+ // Contract source: explicit
3326
+ "document_library_batch": {
3327
+ method: "POST",
3328
+ path: "/documents/library/batch",
3329
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3330
+ meta: {
3331
+ tags: ["document_library"],
3332
+ validated: { "params": false, "query": true, "body": true }
3333
+ },
3334
+ types: null
3335
+ },
3336
+ // Contract source: explicit
3337
+ "document_library_metadata": {
3338
+ method: "PATCH",
3339
+ path: "/documents/library/:id/metadata",
3340
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3341
+ meta: {
3342
+ tags: ["document_library"],
3343
+ validated: { "params": true, "query": true, "body": true }
3344
+ },
3345
+ types: null
3346
+ },
3347
+ // Contract source: explicit
3348
+ "document_library_drafts": {
3349
+ method: "GET",
3350
+ path: "/documents/library/drafts",
3351
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3352
+ meta: {
3353
+ tags: ["document_library"],
3354
+ validated: { "params": false, "query": true, "body": false }
3355
+ },
3356
+ types: null
3357
+ },
3358
+ // Contract source: explicit
3359
+ "document_library_draft_get": {
3360
+ method: "GET",
3361
+ path: "/documents/library/drafts/:id",
3362
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3363
+ meta: {
3364
+ tags: ["document_library"],
3365
+ validated: { "params": true, "query": true, "body": false }
3366
+ },
3367
+ types: null
3368
+ },
3369
+ // Contract source: explicit
3370
+ "document_library_draft_create": {
3371
+ method: "POST",
3372
+ path: "/documents/library/drafts",
3373
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3374
+ meta: {
3375
+ tags: ["document_library"],
3376
+ validated: { "params": false, "query": true, "body": true }
3377
+ },
3378
+ types: null
3379
+ },
3380
+ // Contract source: explicit
3381
+ "document_library_draft_update": {
3382
+ method: "PUT",
3383
+ path: "/documents/library/drafts/:id",
3384
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3385
+ meta: {
3386
+ tags: ["document_library"],
3387
+ validated: { "params": true, "query": true, "body": true }
3388
+ },
3389
+ types: null
3390
+ },
3391
+ // Contract source: explicit
3392
+ "document_library_draft_delete": {
3393
+ method: "DELETE",
3394
+ path: "/documents/library/drafts/:id",
3395
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3396
+ meta: {
3397
+ tags: ["document_library"],
3398
+ validated: { "params": true, "query": true, "body": false }
3399
+ },
3400
+ types: null
3401
+ },
3402
+ // Contract source: explicit
3403
+ "document_library_preview": {
3404
+ method: "POST",
3405
+ path: "/documents/library/drafts/:id/preview",
3406
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3407
+ meta: {
3408
+ tags: ["document_library"],
3409
+ validated: { "params": true, "query": true, "body": true }
3410
+ },
3411
+ types: null
3412
+ },
3413
+ // Contract source: explicit
3414
+ "document_library_render": {
3415
+ method: "POST",
3416
+ path: "/documents/library/drafts/:id/render",
3417
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3418
+ meta: {
3419
+ tags: ["document_library"],
3420
+ validated: { "params": true, "query": true, "body": true }
3421
+ },
3422
+ types: null
3423
+ },
3424
+ // Contract source: explicit
3425
+ "document_library_deliveries": {
3426
+ method: "GET",
3427
+ path: "/documents/library/:id/deliveries",
3428
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3429
+ meta: {
3430
+ tags: ["document_library"],
3431
+ validated: { "params": true, "query": true, "body": false }
3432
+ },
3433
+ types: null
3434
+ },
3435
+ // Contract source: explicit
3436
+ "document_library_send": {
3437
+ method: "POST",
3438
+ path: "/documents/library/:id/send",
3439
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3440
+ meta: {
3441
+ tags: ["document_library"],
3442
+ validated: { "params": true, "query": true, "body": true }
3443
+ },
3444
+ types: null
3445
+ }
3446
+ };
3447
+
3086
3448
  // src/generated/api/features/routes.documents.ts
3087
3449
  var apiRoutes_documents = {
3088
3450
  // Contract source: explicit
@@ -4027,7 +4389,21 @@ var apiRoutes_invoices_external = {
4027
4389
  meta: {
4028
4390
  tags: ["invoices-external"],
4029
4391
  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.",
4392
+ 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.",
4393
+ bodyContentType: "application/json",
4394
+ validated: { "params": false, "query": false, "body": true }
4395
+ },
4396
+ types: null
4397
+ },
4398
+ // Contract source: explicit
4399
+ "invoices_dry_run_external": {
4400
+ method: "POST",
4401
+ path: "/invoices/external/dry-run",
4402
+ auth: { "type": "unified_bearer", "allowUserSession": false, "allowOAuth2": true, "allowApiKey": true, "requireRole": "editor", "scopes": ["invoices:write"] },
4403
+ meta: {
4404
+ tags: ["invoices-external"],
4405
+ summary: "Dry run an invoice creation end to end (external API)",
4406
+ 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
4407
  bodyContentType: "application/json",
4032
4408
  validated: { "params": false, "query": false, "body": true }
4033
4409
  },
@@ -4142,6 +4518,42 @@ var apiRoutes_logs = {
4142
4518
 
4143
4519
  // src/generated/api/features/routes.managing_companies.ts
4144
4520
  var apiRoutes_managing_companies = {
4521
+ // Contract source: explicit
4522
+ "managing_companies_invoice_numbering_get": {
4523
+ method: "GET",
4524
+ path: "/managing-companies/invoice-numbering/:managingCompanyId",
4525
+ auth: { "type": "frontend_bearer_http" },
4526
+ meta: {
4527
+ tags: ["managing-companies"],
4528
+ summary: "Nummernregeln und \xC4nderungsverlauf",
4529
+ validated: { "params": true, "query": false, "body": false }
4530
+ },
4531
+ types: null
4532
+ },
4533
+ // Contract source: explicit
4534
+ "managing_companies_invoice_numbering_save": {
4535
+ method: "PUT",
4536
+ path: "/managing-companies/invoice-numbering/:managingCompanyId",
4537
+ auth: { "type": "frontend_bearer_http" },
4538
+ meta: {
4539
+ tags: ["managing-companies"],
4540
+ summary: "Nummernregeln als Unternehmensadministrator \xE4ndern",
4541
+ validated: { "params": true, "query": false, "body": true }
4542
+ },
4543
+ types: null
4544
+ },
4545
+ // Contract source: explicit
4546
+ "managing_companies_invoice_numbering_preview": {
4547
+ method: "POST",
4548
+ path: "/managing-companies/invoice-numbering/:managingCompanyId/preview",
4549
+ auth: { "type": "frontend_bearer_http" },
4550
+ meta: {
4551
+ tags: ["managing-companies"],
4552
+ summary: "Nummern vorschauen ohne Reservierung",
4553
+ validated: { "params": true, "query": false, "body": true }
4554
+ },
4555
+ types: null
4556
+ },
4145
4557
  // Contract source: explicit
4146
4558
  "managing_companies_user_assignments_assign": {
4147
4559
  method: "POST",
@@ -4404,6 +4816,19 @@ var apiRoutes_managing_companies = {
4404
4816
  types: null
4405
4817
  },
4406
4818
  // Contract source: explicit
4819
+ "managing_companies_vat_settings_history": {
4820
+ method: "GET",
4821
+ path: "/managing-companies/vat-settings/:companyId/history",
4822
+ auth: { "type": "frontend_bearer_http" },
4823
+ meta: {
4824
+ tags: ["managing-companies", "vat-settings"],
4825
+ summary: "Verlauf der USt-Einstellungen lesen",
4826
+ 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.",
4827
+ validated: { "params": true, "query": false, "body": false }
4828
+ },
4829
+ types: null
4830
+ },
4831
+ // Contract source: explicit
4407
4832
  "managing_companies_vat_settings_upsert": {
4408
4833
  method: "POST",
4409
4834
  path: "/managing-companies/vat-settings/:companyId",
@@ -5393,6 +5818,75 @@ var apiRoutes_settings = {
5393
5818
  }
5394
5819
  };
5395
5820
 
5821
+ // src/generated/api/features/routes.tax_years.ts
5822
+ var apiRoutes_tax_years = {
5823
+ // Contract source: explicit
5824
+ "tax_years_get": {
5825
+ method: "GET",
5826
+ path: "/tax-years/:year",
5827
+ auth: { "type": "frontend_bearer_http" },
5828
+ meta: {
5829
+ tags: ["tax-years"],
5830
+ summary: "Pers\xF6nlichen Steuerjahr-Arbeitsbereich lesen",
5831
+ description: "Lesend, legt keine Daten an. Nur der angemeldete Nutzer, unabh\xE4ngig von der ausgew\xE4hlten Firma. Liefert Aufgaben, Blocker, Quellen und aktuelle betriebliche Vorschauen mit erneut gepr\xFCften Zugriffsrechten. Fehlerhafte Daten sind unbekannt, niemals Null. Kein Steuerbescheid und keine Abgabe.",
5832
+ validated: { "params": true, "query": false, "body": false }
5833
+ },
5834
+ types: null
5835
+ },
5836
+ // Contract source: explicit
5837
+ "tax_years_configure": {
5838
+ method: "PUT",
5839
+ path: "/tax-years/:year/configuration",
5840
+ auth: { "type": "frontend_bearer_http" },
5841
+ meta: {
5842
+ tags: ["tax-years"],
5843
+ summary: "Pers\xF6nliche Situation und eigene Betriebe zuordnen",
5844
+ description: "Ersetzt die vollst\xE4ndige Konfiguration eines Jahres. expectedRevision aus GET, neue requestId pro \xC4nderung; bei Transportfehler dieselbe Anfrage wiederholen. 409 bei konkurrierender \xC4nderung. Betriebe erfordern unbeschr\xE4nkten Verwaltungszugriff und die ausdr\xFCckliche Zuordnung als eigener Einzelbetrieb. Alte Pr\xFCfungen und Abgabereferenzen bleiben nachvollziehbar.",
5845
+ validated: { "params": true, "query": false, "body": false }
5846
+ },
5847
+ types: null
5848
+ },
5849
+ // Contract source: explicit
5850
+ "tax_years_review": {
5851
+ method: "POST",
5852
+ path: "/tax-years/:year/reviews",
5853
+ auth: { "type": "frontend_bearer_http" },
5854
+ meta: {
5855
+ tags: ["tax-years"],
5856
+ summary: "Pr\xFCfung eines Vorbereitungsschritts dokumentieren oder wieder \xF6ffnen",
5857
+ description: "taskKey und basisFingerprint kommen aus GET. Nur ausdr\xFCcklich gepr\xFCfte Schritte best\xE4tigen; note benennt gepr\xFCfte Nachweise oder offene Punkte. Bei business:<id>:tax_checks ist corrections zwingend, auch als leere Liste; ersetzt die Korrekturen dieses Betriebs. Jede Korrektur verlangt betriebliche Zuordnung, Begr\xFCndung und Belegreferenz. euer-Pr\xFCfung archiviert die Berechnung. reopen einer Abgabe erh\xE4lt die Referenz und markiert erneuten Pr\xFCfbedarf. 409 bei ge\xE4nderter Grundlage, 422 bei offenen Voraussetzungen. Kein automatisches Abschlie\xDFen aufgrund vorhandener Zahlen.",
5858
+ validated: { "params": true, "query": false, "body": false }
5859
+ },
5860
+ types: null
5861
+ },
5862
+ // Contract source: explicit
5863
+ "tax_years_record_submission": {
5864
+ method: "POST",
5865
+ path: "/tax-years/:year/submissions",
5866
+ auth: { "type": "frontend_bearer_http" },
5867
+ meta: {
5868
+ tags: ["tax-years"],
5869
+ summary: "Bereits erfolgte externe Abgabe dokumentieren",
5870
+ description: "Speichert Datum und \xDCbermittlungsreferenz. Sendet nichts an ELSTER. Auch eine Abgabe mit offenen Punkten kann ehrlich erfasst werden; sie wird als pr\xFCfbed\xFCrftig angezeigt. Wiederholte Korrekturen erzeugen eine Revision. Abgabe ist kein Nachweis steuerlicher Vollst\xE4ndigkeit.",
5871
+ validated: { "params": true, "query": false, "body": false }
5872
+ },
5873
+ types: null
5874
+ },
5875
+ // Contract source: explicit
5876
+ "tax_years_history": {
5877
+ method: "GET",
5878
+ path: "/tax-years/:year/history",
5879
+ auth: { "type": "frontend_bearer_http" },
5880
+ meta: {
5881
+ tags: ["tax-years"],
5882
+ summary: "Pers\xF6nlichen \xC4nderungsverlauf lesen",
5883
+ description: "H\xF6chstens 50 Revisionen, absteigend. nextBeforeRevision als beforeRevision f\xFCr die n\xE4chste Seite. Ausschlie\xDFlich der eigene Verlauf.",
5884
+ validated: { "params": true, "query": true, "body": false }
5885
+ },
5886
+ types: null
5887
+ }
5888
+ };
5889
+
5396
5890
  // src/generated/api/base/routes.user_activity.ts
5397
5891
  var apiRoutes_user_activity = {
5398
5892
  // Contract source: explicit
@@ -5463,6 +5957,31 @@ var apiRoutes_users = {
5463
5957
  types: null
5464
5958
  },
5465
5959
  // Contract source: explicit
5960
+ "users_update_external_image": {
5961
+ method: "PUT",
5962
+ path: "/users/update/external/:frontendUserId/image",
5963
+ auth: { "type": "frontend_bearer_http" },
5964
+ meta: {
5965
+ tags: ["users"],
5966
+ summary: "Mirror the frontend user's profile image into this backend (base64)",
5967
+ bodyContentType: "application/json",
5968
+ validated: { "params": true, "query": false, "body": true }
5969
+ },
5970
+ types: null
5971
+ },
5972
+ // Contract source: explicit
5973
+ "users_delete_external_image": {
5974
+ method: "DELETE",
5975
+ path: "/users/update/external/:frontendUserId/image",
5976
+ auth: { "type": "frontend_bearer_http" },
5977
+ meta: {
5978
+ tags: ["users"],
5979
+ summary: "Remove the mirrored profile image of the frontend user",
5980
+ validated: { "params": true, "query": false, "body": false }
5981
+ },
5982
+ types: null
5983
+ },
5984
+ // Contract source: explicit
5466
5985
  "users_delete": {
5467
5986
  method: "DELETE",
5468
5987
  path: "/users/delete/:userId",
@@ -5747,6 +6266,7 @@ var apiRoutes = {
5747
6266
  ...apiRoutes_currency_rates,
5748
6267
  ...apiRoutes_customer_companies,
5749
6268
  ...apiRoutes_customer_companies_external,
6269
+ ...apiRoutes_document_library,
5750
6270
  ...apiRoutes_documents,
5751
6271
  ...apiRoutes_dunning_external,
5752
6272
  ...apiRoutes_enterprise,
@@ -5765,6 +6285,7 @@ var apiRoutes = {
5765
6285
  ...apiRoutes_roles,
5766
6286
  ...apiRoutes_security,
5767
6287
  ...apiRoutes_settings,
6288
+ ...apiRoutes_tax_years,
5768
6289
  ...apiRoutes_user_activity,
5769
6290
  ...apiRoutes_users,
5770
6291
  ...apiRoutes_webhooks,
@@ -5782,6 +6303,7 @@ exports.apiRoutes_bookkeeping = apiRoutes_bookkeeping;
5782
6303
  exports.apiRoutes_currency_rates = apiRoutes_currency_rates;
5783
6304
  exports.apiRoutes_customer_companies = apiRoutes_customer_companies;
5784
6305
  exports.apiRoutes_customer_companies_external = apiRoutes_customer_companies_external;
6306
+ exports.apiRoutes_document_library = apiRoutes_document_library;
5785
6307
  exports.apiRoutes_documents = apiRoutes_documents;
5786
6308
  exports.apiRoutes_dunning_external = apiRoutes_dunning_external;
5787
6309
  exports.apiRoutes_enterprise = apiRoutes_enterprise;
@@ -5800,6 +6322,7 @@ exports.apiRoutes_permissions = apiRoutes_permissions;
5800
6322
  exports.apiRoutes_roles = apiRoutes_roles;
5801
6323
  exports.apiRoutes_security = apiRoutes_security;
5802
6324
  exports.apiRoutes_settings = apiRoutes_settings;
6325
+ exports.apiRoutes_tax_years = apiRoutes_tax_years;
5803
6326
  exports.apiRoutes_user_activity = apiRoutes_user_activity;
5804
6327
  exports.apiRoutes_users = apiRoutes_users;
5805
6328
  exports.apiRoutes_webhooks = apiRoutes_webhooks;