@insurance-broker/api-client 1.48.0 → 2.3.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 (2) hide show
  1. package/dist/schema.d.ts +476 -2
  2. package/package.json +1 -1
package/dist/schema.d.ts CHANGED
@@ -3336,6 +3336,8 @@ export interface paths {
3336
3336
  * **Nothing here defines a feature.** A key that is not already in the catalogue is refused: which features exist is configuration, and a surface that could mint one would create keys no gate reads.
3337
3337
  *
3338
3338
  * **Every broker on this plan is affected**, including ones nobody named. This is the route on the platform with the widest blast radius per request, which is why it has a permission of its own rather than sharing tenant provisioning's.
3339
+ *
3340
+ * **Two operators granting the same feature at once both get an answer.** The loser of the insert race is put back through the change branch and answered `200`, exactly as if it had arrived a moment later. `409` is reserved for the row still moving after repeated attempts, and says to read the plan again and decide again.
3339
3341
  */
3340
3342
  post: operations["GrantPlanFeature"];
3341
3343
  delete?: never;
@@ -3392,6 +3394,8 @@ export interface paths {
3392
3394
  * **An expiry must be in the future.** An override that had already expired would look like something was granted when nothing was.
3393
3395
  *
3394
3396
  * `201` says the override is new; `200` says an existing one was restated. The whole row is restated rather than patched, because a value, a reason and an expiry only make sense together — a patched value under an old reason describes a decision that has since changed.
3397
+ *
3398
+ * **Two operators overriding the same feature at once both get an answer.** The loser of the insert race is put back through the change branch and answered `200`. `409` is reserved for the row still moving after repeated attempts.
3395
3399
  */
3396
3400
  post: operations["OverrideTenantEntitlement"];
3397
3401
  delete?: never;
@@ -3680,6 +3684,32 @@ export interface paths {
3680
3684
  patch?: never;
3681
3685
  trace?: never;
3682
3686
  };
3687
+ "/api/v1/policies/{id}/documents/{documentId}/download-links": {
3688
+ parameters: {
3689
+ query?: never;
3690
+ header?: never;
3691
+ path?: never;
3692
+ cookie?: never;
3693
+ };
3694
+ get?: never;
3695
+ put?: never;
3696
+ /**
3697
+ * Mints a short-lived, single-use URL for a client that cannot send a header
3698
+ * @description DOC-003, ADR-0034 section 7. Answers `{ url, expiresAtUtc }` for one document of one policy.
3699
+ *
3700
+ * **This is for the clients that cannot send an `Authorization` header** - a native viewer, an image tag, an operating system downloader. Anything that can send a header should fetch `/content` instead.
3701
+ *
3702
+ * **The URL is single-use and expires in minutes.** Treat it as spent the moment it is handed to anything. `expiresAtUtc` is this deployment's configured lifetime, so read it rather than assuming five minutes.
3703
+ *
3704
+ * A document whose scan verdict is not `Clean` is refused here as well as at download, and the refusal names the verdict.
3705
+ */
3706
+ post: operations["MintPolicyDocumentDownloadLink"];
3707
+ delete?: never;
3708
+ options?: never;
3709
+ head?: never;
3710
+ patch?: never;
3711
+ trace?: never;
3712
+ };
3683
3713
  "/api/v1/document-templates": {
3684
3714
  parameters: {
3685
3715
  query?: never;
@@ -4035,7 +4065,13 @@ export interface paths {
4035
4065
  };
4036
4066
  /**
4037
4067
  * Everything filed against this customer's policies, newest first
4038
- * @description Lists the documents on every policy this customer holds — policy documents, certificates, invoices, receipts and correspondence. A document is quarantined the moment it is stored and only a malware scan moves it, so a row whose verdict is not Clean is listed and cannot be downloaded.
4068
+ * @description Lists the documents on every policy this customer holds - policy documents, certificates, invoices, receipts and correspondence - paged by cursor.
4069
+ *
4070
+ * A document is quarantined the moment it is stored and only a malware scan moves it, so a row whose `scanVerdict` is not `Clean` is listed here and cannot be downloaded. The refusal names which verdict it was.
4071
+ *
4072
+ * **Paged, and the shape changed in step 11.8** (issue #177). This answers `{ items, nextCursor }` where it used to answer a bare array capped at a hundred rows, past which the oldest documents were unreachable. Pass `nextCursor` back as `cursor`; a null one means this is the last page.
4073
+ *
4074
+ * For the documents of one policy rather than of all of them, use `/customer/policies/{id}/documents`.
4039
4075
  */
4040
4076
  get: operations["ListCustomerPolicyDocuments"];
4041
4077
  put?: never;
@@ -4086,6 +4122,149 @@ export interface paths {
4086
4122
  patch?: never;
4087
4123
  trace?: never;
4088
4124
  };
4125
+ "/api/v1/customer/policy-documents/{documentId}/download-links": {
4126
+ parameters: {
4127
+ query?: never;
4128
+ header?: never;
4129
+ path?: never;
4130
+ cookie?: never;
4131
+ };
4132
+ get?: never;
4133
+ put?: never;
4134
+ /**
4135
+ * Mints a short-lived, single-use URL for a viewer that cannot send a header
4136
+ * @description DOC-003, ADR-0034 section 7. Answers `{ url, expiresAtUtc }` for one of your own documents.
4137
+ *
4138
+ * **This is for the clients that cannot send an `Authorization` header** - your device's own PDF viewer, an image tag, an operating system downloader. Anything that can send a header should fetch `/content` instead.
4139
+ *
4140
+ * **The URL is single-use and expires in minutes.** Treat it as spent the moment you hand it to anything: a viewer that probes it before fetching will consume it. Mint one per view rather than caching one. `expiresAtUtc` is this deployment's configured lifetime, so read it rather than assuming five minutes.
4141
+ *
4142
+ * A document whose scan verdict is not `Clean` is refused here as well as at download, and the refusal names the verdict. A document belonging to another customer answers exactly as one that does not exist.
4143
+ */
4144
+ post: operations["MintCustomerPolicyDocumentDownloadLink"];
4145
+ delete?: never;
4146
+ options?: never;
4147
+ head?: never;
4148
+ patch?: never;
4149
+ trace?: never;
4150
+ };
4151
+ "/api/v1/customer/policies": {
4152
+ parameters: {
4153
+ query?: never;
4154
+ header?: never;
4155
+ path?: never;
4156
+ cookie?: never;
4157
+ };
4158
+ /**
4159
+ * The policies your broker has placed for you, most recent first
4160
+ * @description POL-006. Every policy of yours, paged by cursor.
4161
+ *
4162
+ * **You are not named in the request.** There is no customer field and no broker field: the list is whoever is signed in, resolved from the session. Another person's policies are not in it - not filtered out of it, but absent, because a policy that is not yours is not visible to this route at all.
4163
+ *
4164
+ * **`status` is not the answer to "am I covered today".** That question is the status and the cover dates together: a policy reading `Active` whose cover period has ended is an ordinary row, and so is one reading `Expired` that a renewal later reinstates (ADR-0035 section 4). Both dates are on every row.
4165
+ *
4166
+ * **`insurerId` and `productId` are identifiers, not names.** The insurer and the product are records your broker's catalogue owns; read their names from their own routes.
4167
+ *
4168
+ * Your broker's migration working notes are not here. A policy carried across from an older system says so in `source`, and what the old system recorded verbatim is a separate record with a permission of its own.
4169
+ */
4170
+ get: operations["ListCustomerPolicies"];
4171
+ put?: never;
4172
+ post?: never;
4173
+ delete?: never;
4174
+ options?: never;
4175
+ head?: never;
4176
+ patch?: never;
4177
+ trace?: never;
4178
+ };
4179
+ "/api/v1/customer/policies/{id}": {
4180
+ parameters: {
4181
+ query?: never;
4182
+ header?: never;
4183
+ path?: never;
4184
+ cookie?: never;
4185
+ };
4186
+ /**
4187
+ * One of your own policies
4188
+ * @description POL-006. When the cover runs from and to, who it is placed with, what it costs and where it is in its life.
4189
+ *
4190
+ * Another person's policy and a policy that does not exist are one 404, because a policy belonging to somebody else is not visible to this route at all rather than hidden from it by a filter somebody remembered to write.
4191
+ */
4192
+ get: operations["GetCustomerPolicy"];
4193
+ put?: never;
4194
+ post?: never;
4195
+ delete?: never;
4196
+ options?: never;
4197
+ head?: never;
4198
+ patch?: never;
4199
+ trace?: never;
4200
+ };
4201
+ "/api/v1/customer/policies/{id}/documents": {
4202
+ parameters: {
4203
+ query?: never;
4204
+ header?: never;
4205
+ path?: never;
4206
+ cookie?: never;
4207
+ };
4208
+ /**
4209
+ * The documents filed against one of your policies, newest first
4210
+ * @description POL-006 and DOC-003. What your broker has filed against this policy - the policy document itself, certificates, invoices, receipts and correspondence - paged by cursor.
4211
+ *
4212
+ * A document is quarantined the moment it is stored and only a malware scan moves it, so a row whose `scanVerdict` is not `Clean` is listed here and cannot be downloaded. The refusal names which verdict it was.
4213
+ *
4214
+ * A policy belonging to somebody else answers exactly as one that does not exist.
4215
+ */
4216
+ get: operations["ListCustomerPolicyDocumentsForPolicy"];
4217
+ put?: never;
4218
+ post?: never;
4219
+ delete?: never;
4220
+ options?: never;
4221
+ head?: never;
4222
+ patch?: never;
4223
+ trace?: never;
4224
+ };
4225
+ "/api/v1/customer/policies/{id}/documents/{documentId}/download-links": {
4226
+ parameters: {
4227
+ query?: never;
4228
+ header?: never;
4229
+ path?: never;
4230
+ cookie?: never;
4231
+ };
4232
+ get?: never;
4233
+ put?: never;
4234
+ /**
4235
+ * Mints a short-lived, single-use URL for a viewer that cannot send a header
4236
+ * @description DOC-003, ADR-0034 section 7. Answers `{ url, expiresAtUtc }` for one document of one of your policies.
4237
+ *
4238
+ * **This is for the clients that cannot send an `Authorization` header** - your device's own PDF viewer, an image tag, an operating system downloader. Anything that can send a header should fetch `/content` instead.
4239
+ *
4240
+ * **The URL is single-use and expires in minutes.** Treat it as spent the moment you hand it to anything: a viewer that probes it before fetching will consume it. Mint one per view rather than caching one. `expiresAtUtc` is this deployment's configured lifetime, so read it rather than assuming five minutes.
4241
+ *
4242
+ * A document whose scan verdict is not `Clean` is refused here as well as at download, and the refusal names the verdict.
4243
+ */
4244
+ post: operations["MintCustomerPolicyDocumentDownloadLinkForPolicy"];
4245
+ delete?: never;
4246
+ options?: never;
4247
+ head?: never;
4248
+ patch?: never;
4249
+ trace?: never;
4250
+ };
4251
+ "/api/v1/policy-documents/download-links/{token}": {
4252
+ parameters: {
4253
+ query?: never;
4254
+ header?: never;
4255
+ path?: never;
4256
+ cookie?: never;
4257
+ };
4258
+ /** Redeems a short-lived download link and streams the policy document it names. */
4259
+ get: operations["RedeemPolicyDocumentDownloadLink"];
4260
+ put?: never;
4261
+ post?: never;
4262
+ delete?: never;
4263
+ options?: never;
4264
+ head?: never;
4265
+ patch?: never;
4266
+ trace?: never;
4267
+ };
4089
4268
  "/api/v1/quote-requests": {
4090
4269
  parameters: {
4091
4270
  query?: never;
@@ -5443,6 +5622,10 @@ export interface components {
5443
5622
  recordedAtUtc: string;
5444
5623
  state: string;
5445
5624
  };
5625
+ CustomerPolicyPage: {
5626
+ items: components["schemas"]["PolicyResponse"][];
5627
+ nextCursor: null | string;
5628
+ };
5446
5629
  CustomerPresentedQuoteResponse: {
5447
5630
  /** Format: uuid */
5448
5631
  presentationVersionId: string;
@@ -6544,6 +6727,15 @@ export interface components {
6544
6727
  sortOrder: number | string;
6545
6728
  features: components["schemas"]["PlatformPlanFeatureResponse"][];
6546
6729
  };
6730
+ PolicyDocumentDownloadLinkResponse: {
6731
+ url: string;
6732
+ /** Format: date-time */
6733
+ expiresAtUtc: string;
6734
+ };
6735
+ PolicyDocumentPage: {
6736
+ items: components["schemas"]["PolicyDocumentResponse"][];
6737
+ nextCursor: null | string;
6738
+ };
6547
6739
  PolicyDocumentResponse: {
6548
6740
  /** Format: uuid */
6549
6741
  id: string;
@@ -15425,6 +15617,15 @@ export interface operations {
15425
15617
  };
15426
15618
  content?: never;
15427
15619
  };
15620
+ /** @description Conflict */
15621
+ 409: {
15622
+ headers: {
15623
+ [name: string]: unknown;
15624
+ };
15625
+ content: {
15626
+ "application/problem+json": components["schemas"]["ProblemDetails"];
15627
+ };
15628
+ };
15428
15629
  };
15429
15630
  };
15430
15631
  WithdrawPlanFeature: {
@@ -15554,6 +15755,15 @@ export interface operations {
15554
15755
  };
15555
15756
  content?: never;
15556
15757
  };
15758
+ /** @description Conflict */
15759
+ 409: {
15760
+ headers: {
15761
+ [name: string]: unknown;
15762
+ };
15763
+ content: {
15764
+ "application/problem+json": components["schemas"]["ProblemDetails"];
15765
+ };
15766
+ };
15557
15767
  };
15558
15768
  };
15559
15769
  WithdrawTenantEntitlement: {
@@ -16107,6 +16317,45 @@ export interface operations {
16107
16317
  };
16108
16318
  };
16109
16319
  };
16320
+ MintPolicyDocumentDownloadLink: {
16321
+ parameters: {
16322
+ query?: never;
16323
+ header?: never;
16324
+ path: {
16325
+ id: string;
16326
+ documentId: string;
16327
+ };
16328
+ cookie?: never;
16329
+ };
16330
+ requestBody?: never;
16331
+ responses: {
16332
+ /** @description Created */
16333
+ 201: {
16334
+ headers: {
16335
+ [name: string]: unknown;
16336
+ };
16337
+ content: {
16338
+ "application/json": components["schemas"]["PolicyDocumentDownloadLinkResponse"];
16339
+ };
16340
+ };
16341
+ /** @description Not Found */
16342
+ 404: {
16343
+ headers: {
16344
+ [name: string]: unknown;
16345
+ };
16346
+ content?: never;
16347
+ };
16348
+ /** @description Conflict */
16349
+ 409: {
16350
+ headers: {
16351
+ [name: string]: unknown;
16352
+ };
16353
+ content: {
16354
+ "application/problem+json": components["schemas"]["ProblemDetails"];
16355
+ };
16356
+ };
16357
+ };
16358
+ };
16110
16359
  ListDocumentTemplates: {
16111
16360
  parameters: {
16112
16361
  query?: {
@@ -16954,6 +17203,7 @@ export interface operations {
16954
17203
  ListCustomerPolicyDocuments: {
16955
17204
  parameters: {
16956
17205
  query?: {
17206
+ cursor?: string;
16957
17207
  limit?: number | string;
16958
17208
  };
16959
17209
  header?: never;
@@ -16968,7 +17218,16 @@ export interface operations {
16968
17218
  [name: string]: unknown;
16969
17219
  };
16970
17220
  content: {
16971
- "application/json": components["schemas"]["PolicyDocumentResponse"][];
17221
+ "application/json": components["schemas"]["PolicyDocumentPage"];
17222
+ };
17223
+ };
17224
+ /** @description Bad Request */
17225
+ 400: {
17226
+ headers: {
17227
+ [name: string]: unknown;
17228
+ };
17229
+ content: {
17230
+ "application/problem+json": components["schemas"]["HttpValidationProblemDetails"];
16972
17231
  };
16973
17232
  };
16974
17233
  };
@@ -17038,6 +17297,221 @@ export interface operations {
17038
17297
  };
17039
17298
  };
17040
17299
  };
17300
+ MintCustomerPolicyDocumentDownloadLink: {
17301
+ parameters: {
17302
+ query?: never;
17303
+ header?: never;
17304
+ path: {
17305
+ documentId: string;
17306
+ };
17307
+ cookie?: never;
17308
+ };
17309
+ requestBody?: never;
17310
+ responses: {
17311
+ /** @description Created */
17312
+ 201: {
17313
+ headers: {
17314
+ [name: string]: unknown;
17315
+ };
17316
+ content: {
17317
+ "application/json": components["schemas"]["PolicyDocumentDownloadLinkResponse"];
17318
+ };
17319
+ };
17320
+ /** @description Not Found */
17321
+ 404: {
17322
+ headers: {
17323
+ [name: string]: unknown;
17324
+ };
17325
+ content?: never;
17326
+ };
17327
+ /** @description Conflict */
17328
+ 409: {
17329
+ headers: {
17330
+ [name: string]: unknown;
17331
+ };
17332
+ content: {
17333
+ "application/problem+json": components["schemas"]["ProblemDetails"];
17334
+ };
17335
+ };
17336
+ };
17337
+ };
17338
+ ListCustomerPolicies: {
17339
+ parameters: {
17340
+ query?: {
17341
+ cursor?: string;
17342
+ limit?: number | string;
17343
+ };
17344
+ header?: never;
17345
+ path?: never;
17346
+ cookie?: never;
17347
+ };
17348
+ requestBody?: never;
17349
+ responses: {
17350
+ /** @description OK */
17351
+ 200: {
17352
+ headers: {
17353
+ [name: string]: unknown;
17354
+ };
17355
+ content: {
17356
+ "application/json": components["schemas"]["CustomerPolicyPage"];
17357
+ };
17358
+ };
17359
+ /** @description Bad Request */
17360
+ 400: {
17361
+ headers: {
17362
+ [name: string]: unknown;
17363
+ };
17364
+ content: {
17365
+ "application/problem+json": components["schemas"]["HttpValidationProblemDetails"];
17366
+ };
17367
+ };
17368
+ };
17369
+ };
17370
+ GetCustomerPolicy: {
17371
+ parameters: {
17372
+ query?: never;
17373
+ header?: never;
17374
+ path: {
17375
+ id: string;
17376
+ };
17377
+ cookie?: never;
17378
+ };
17379
+ requestBody?: never;
17380
+ responses: {
17381
+ /** @description OK */
17382
+ 200: {
17383
+ headers: {
17384
+ [name: string]: unknown;
17385
+ };
17386
+ content: {
17387
+ "application/json": components["schemas"]["PolicyResponse"];
17388
+ };
17389
+ };
17390
+ /** @description Not Found */
17391
+ 404: {
17392
+ headers: {
17393
+ [name: string]: unknown;
17394
+ };
17395
+ content?: never;
17396
+ };
17397
+ };
17398
+ };
17399
+ ListCustomerPolicyDocumentsForPolicy: {
17400
+ parameters: {
17401
+ query?: {
17402
+ cursor?: string;
17403
+ limit?: number | string;
17404
+ };
17405
+ header?: never;
17406
+ path: {
17407
+ id: string;
17408
+ };
17409
+ cookie?: never;
17410
+ };
17411
+ requestBody?: never;
17412
+ responses: {
17413
+ /** @description OK */
17414
+ 200: {
17415
+ headers: {
17416
+ [name: string]: unknown;
17417
+ };
17418
+ content: {
17419
+ "application/json": components["schemas"]["PolicyDocumentPage"];
17420
+ };
17421
+ };
17422
+ /** @description Bad Request */
17423
+ 400: {
17424
+ headers: {
17425
+ [name: string]: unknown;
17426
+ };
17427
+ content: {
17428
+ "application/problem+json": components["schemas"]["HttpValidationProblemDetails"];
17429
+ };
17430
+ };
17431
+ /** @description Not Found */
17432
+ 404: {
17433
+ headers: {
17434
+ [name: string]: unknown;
17435
+ };
17436
+ content?: never;
17437
+ };
17438
+ };
17439
+ };
17440
+ MintCustomerPolicyDocumentDownloadLinkForPolicy: {
17441
+ parameters: {
17442
+ query?: never;
17443
+ header?: never;
17444
+ path: {
17445
+ id: string;
17446
+ documentId: string;
17447
+ };
17448
+ cookie?: never;
17449
+ };
17450
+ requestBody?: never;
17451
+ responses: {
17452
+ /** @description Created */
17453
+ 201: {
17454
+ headers: {
17455
+ [name: string]: unknown;
17456
+ };
17457
+ content: {
17458
+ "application/json": components["schemas"]["PolicyDocumentDownloadLinkResponse"];
17459
+ };
17460
+ };
17461
+ /** @description Not Found */
17462
+ 404: {
17463
+ headers: {
17464
+ [name: string]: unknown;
17465
+ };
17466
+ content?: never;
17467
+ };
17468
+ /** @description Conflict */
17469
+ 409: {
17470
+ headers: {
17471
+ [name: string]: unknown;
17472
+ };
17473
+ content: {
17474
+ "application/problem+json": components["schemas"]["ProblemDetails"];
17475
+ };
17476
+ };
17477
+ };
17478
+ };
17479
+ RedeemPolicyDocumentDownloadLink: {
17480
+ parameters: {
17481
+ query?: never;
17482
+ header?: never;
17483
+ path: {
17484
+ token: string;
17485
+ };
17486
+ cookie?: never;
17487
+ };
17488
+ requestBody?: never;
17489
+ responses: {
17490
+ /** @description OK */
17491
+ 200: {
17492
+ headers: {
17493
+ [name: string]: unknown;
17494
+ };
17495
+ content?: never;
17496
+ };
17497
+ /** @description Not Found */
17498
+ 404: {
17499
+ headers: {
17500
+ [name: string]: unknown;
17501
+ };
17502
+ content?: never;
17503
+ };
17504
+ /** @description Conflict */
17505
+ 409: {
17506
+ headers: {
17507
+ [name: string]: unknown;
17508
+ };
17509
+ content: {
17510
+ "application/problem+json": components["schemas"]["ProblemDetails"];
17511
+ };
17512
+ };
17513
+ };
17514
+ };
17041
17515
  ListQuoteRequests: {
17042
17516
  parameters: {
17043
17517
  query?: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@insurance-broker/api-client",
3
- "version": "1.48.0",
3
+ "version": "2.3.0",
4
4
  "description": "Generated TypeScript client for the Insurance Broker Platform API. Do not edit by hand: regenerate with scripts/update-api-contract.",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,