@purveyors/sdk 0.31.0 → 0.33.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.
- package/dist/index.d.ts +1577 -96
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -2221,6 +2221,8 @@ interface paths {
|
|
|
2221
2221
|
scoreValueMax?: number | null;
|
|
2222
2222
|
pricePerLbMin?: number | null;
|
|
2223
2223
|
pricePerLbMax?: number | null;
|
|
2224
|
+
elevationMinMasl?: number | null;
|
|
2225
|
+
elevationMaxMasl?: number | null;
|
|
2224
2226
|
processing_base_method?: string;
|
|
2225
2227
|
fermentation_type?: string;
|
|
2226
2228
|
process_additive?: string;
|
|
@@ -2273,6 +2275,121 @@ interface paths {
|
|
|
2273
2275
|
patch?: never;
|
|
2274
2276
|
trace?: never;
|
|
2275
2277
|
};
|
|
2278
|
+
"/v1/catalog/map": {
|
|
2279
|
+
parameters: {
|
|
2280
|
+
query?: never;
|
|
2281
|
+
header?: never;
|
|
2282
|
+
path?: never;
|
|
2283
|
+
cookie?: never;
|
|
2284
|
+
};
|
|
2285
|
+
/**
|
|
2286
|
+
* Map projection over the caller-visible catalog
|
|
2287
|
+
* @description Returns deterministic lightweight clusters and place features after applying the canonical catalog visibility, filters, and entitlement policy. Global unique/unplaced totals remain separate from viewport placement totals; multi-origin placement counts are intentionally non-additive. Public/demo callers receive country/region-safe features, while canonical place navigation, bounding boxes, and elevation profiles require member or paid API access. These catalog routes require a Supabase session JWT or Parchment API key. For entitlement-gated params, strict callers (non-demo API keys, bearer-session JWTs) receive a 401/403; lenient callers (first-party cookie-session and the configured public-demo API key) get the params stripped with a `meta.notices` entry. Send `Prefer: handling=strict` to opt into strict enforcement; `Prefer: handling=lenient` is honored only for callers already lenient-eligible and cannot downgrade a strict caller's enforcement.
|
|
2288
|
+
*/
|
|
2289
|
+
get: {
|
|
2290
|
+
parameters: {
|
|
2291
|
+
query?: {
|
|
2292
|
+
stocked?: "true" | "false" | "all";
|
|
2293
|
+
showWholesale?: "true" | "false";
|
|
2294
|
+
wholesaleOnly?: "true" | "false";
|
|
2295
|
+
origin?: string;
|
|
2296
|
+
continent?: string;
|
|
2297
|
+
country?: string | string[];
|
|
2298
|
+
region?: string;
|
|
2299
|
+
source?: string | string[];
|
|
2300
|
+
name?: string;
|
|
2301
|
+
processing?: string;
|
|
2302
|
+
variety?: string;
|
|
2303
|
+
type?: string;
|
|
2304
|
+
grade?: string;
|
|
2305
|
+
appearance?: string;
|
|
2306
|
+
supplier?: string;
|
|
2307
|
+
dryingMethod?: string;
|
|
2308
|
+
flavorKeywords?: string | string[];
|
|
2309
|
+
arrivalDate?: string;
|
|
2310
|
+
stockedDate?: string;
|
|
2311
|
+
stockedDays?: number;
|
|
2312
|
+
coffeeIds?: string;
|
|
2313
|
+
scoreValueMin?: number | null;
|
|
2314
|
+
scoreValueMax?: number | null;
|
|
2315
|
+
pricePerLbMin?: number | null;
|
|
2316
|
+
pricePerLbMax?: number | null;
|
|
2317
|
+
elevationMinMasl?: number | null;
|
|
2318
|
+
elevationMaxMasl?: number | null;
|
|
2319
|
+
processing_base_method?: string;
|
|
2320
|
+
fermentation_type?: string;
|
|
2321
|
+
process_additive?: string;
|
|
2322
|
+
has_additives?: "true" | "false";
|
|
2323
|
+
processing_disclosure_level?: string;
|
|
2324
|
+
processing_confidence_min?: number | null;
|
|
2325
|
+
place_id?: string;
|
|
2326
|
+
bbox?: string;
|
|
2327
|
+
zoom?: number;
|
|
2328
|
+
lens?: "catalog" | "elevation";
|
|
2329
|
+
};
|
|
2330
|
+
header?: {
|
|
2331
|
+
Prefer?: string;
|
|
2332
|
+
};
|
|
2333
|
+
path?: never;
|
|
2334
|
+
cookie?: never;
|
|
2335
|
+
};
|
|
2336
|
+
requestBody?: never;
|
|
2337
|
+
responses: {
|
|
2338
|
+
/** @description Authorized catalog map projection and elevation profile */
|
|
2339
|
+
200: {
|
|
2340
|
+
headers: {
|
|
2341
|
+
[name: string]: unknown;
|
|
2342
|
+
};
|
|
2343
|
+
content: {
|
|
2344
|
+
"application/json": components["schemas"]["CatalogMapResponse"];
|
|
2345
|
+
};
|
|
2346
|
+
};
|
|
2347
|
+
/** @description Malformed map geometry, zoom, place id, or elevation range */
|
|
2348
|
+
400: {
|
|
2349
|
+
headers: {
|
|
2350
|
+
[name: string]: unknown;
|
|
2351
|
+
};
|
|
2352
|
+
content: {
|
|
2353
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
2354
|
+
};
|
|
2355
|
+
};
|
|
2356
|
+
/** @description Authentication required */
|
|
2357
|
+
401: {
|
|
2358
|
+
headers: {
|
|
2359
|
+
[name: string]: unknown;
|
|
2360
|
+
};
|
|
2361
|
+
content: {
|
|
2362
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
2363
|
+
};
|
|
2364
|
+
};
|
|
2365
|
+
/** @description Insufficient entitlement (plan or role) */
|
|
2366
|
+
403: {
|
|
2367
|
+
headers: {
|
|
2368
|
+
[name: string]: unknown;
|
|
2369
|
+
};
|
|
2370
|
+
content: {
|
|
2371
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
2372
|
+
};
|
|
2373
|
+
};
|
|
2374
|
+
/** @description Canonical catalog map schema is not deployed or the bounded map capacity is exceeded */
|
|
2375
|
+
503: {
|
|
2376
|
+
headers: {
|
|
2377
|
+
[name: string]: unknown;
|
|
2378
|
+
};
|
|
2379
|
+
content: {
|
|
2380
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
2381
|
+
};
|
|
2382
|
+
};
|
|
2383
|
+
};
|
|
2384
|
+
};
|
|
2385
|
+
put?: never;
|
|
2386
|
+
post?: never;
|
|
2387
|
+
delete?: never;
|
|
2388
|
+
options?: never;
|
|
2389
|
+
head?: never;
|
|
2390
|
+
patch?: never;
|
|
2391
|
+
trace?: never;
|
|
2392
|
+
};
|
|
2276
2393
|
"/v1/catalog/facets": {
|
|
2277
2394
|
parameters: {
|
|
2278
2395
|
query?: never;
|
|
@@ -2282,7 +2399,7 @@ interface paths {
|
|
|
2282
2399
|
};
|
|
2283
2400
|
/**
|
|
2284
2401
|
* Catalog filter metadata and counted facets
|
|
2285
|
-
* @description Returns access-aware catalog filter metadata. Values are computed after visibility and entitled content filters are applied; importer, elevation, appearance, and premium process metadata are included only for member sessions and paid API tiers. These catalog routes require a Supabase session JWT or Parchment API key. For entitlement-gated params, strict callers (non-demo API keys, bearer-session JWTs) receive a 401/403; lenient callers (first-party cookie-session and the configured public-demo API key) get the params stripped with a `meta.notices` entry. Send `Prefer: handling=strict` to opt into strict enforcement; `Prefer: handling=lenient` is honored only for callers already lenient-eligible and cannot downgrade a strict caller's enforcement.
|
|
2402
|
+
* @description Returns access-aware catalog filter metadata. Values are computed after visibility and entitled content filters are applied; importer, legacy elevation/grade, appearance, and premium process metadata are included only for member sessions and paid API tiers. Raw fine-grained geography remains display-only until canonical place-ID filtering lands. These catalog routes require a Supabase session JWT or Parchment API key. For entitlement-gated params, strict callers (non-demo API keys, bearer-session JWTs) receive a 401/403; lenient callers (first-party cookie-session and the configured public-demo API key) get the params stripped with a `meta.notices` entry. Send `Prefer: handling=strict` to opt into strict enforcement; `Prefer: handling=lenient` is honored only for callers already lenient-eligible and cannot downgrade a strict caller's enforcement.
|
|
2286
2403
|
*/
|
|
2287
2404
|
get: {
|
|
2288
2405
|
parameters: {
|
|
@@ -2312,6 +2429,8 @@ interface paths {
|
|
|
2312
2429
|
scoreValueMax?: number | null;
|
|
2313
2430
|
pricePerLbMin?: number | null;
|
|
2314
2431
|
pricePerLbMax?: number | null;
|
|
2432
|
+
elevationMinMasl?: number | null;
|
|
2433
|
+
elevationMaxMasl?: number | null;
|
|
2315
2434
|
processing_base_method?: string;
|
|
2316
2435
|
fermentation_type?: string;
|
|
2317
2436
|
process_additive?: string;
|
|
@@ -4123,6 +4242,168 @@ interface paths {
|
|
|
4123
4242
|
patch?: never;
|
|
4124
4243
|
trace?: never;
|
|
4125
4244
|
};
|
|
4245
|
+
"/v1/inventory/share-grants": {
|
|
4246
|
+
parameters: {
|
|
4247
|
+
query?: never;
|
|
4248
|
+
header?: never;
|
|
4249
|
+
path?: never;
|
|
4250
|
+
cookie?: never;
|
|
4251
|
+
};
|
|
4252
|
+
get?: never;
|
|
4253
|
+
put?: never;
|
|
4254
|
+
/**
|
|
4255
|
+
* Create or replay an inventory share grant
|
|
4256
|
+
* @description Create a time-bounded bearer capability for all current owner inventory or one owned inventory row. Only entitled session principals may create grants; anonymous callers and API keys are rejected. The raw token appears only in the create response or an operation replay.
|
|
4257
|
+
*/
|
|
4258
|
+
post: {
|
|
4259
|
+
parameters: {
|
|
4260
|
+
query?: never;
|
|
4261
|
+
header?: never;
|
|
4262
|
+
path?: never;
|
|
4263
|
+
cookie?: never;
|
|
4264
|
+
};
|
|
4265
|
+
requestBody: {
|
|
4266
|
+
content: {
|
|
4267
|
+
"application/json": components["schemas"]["InventoryShareGrantCreateRequest"];
|
|
4268
|
+
};
|
|
4269
|
+
};
|
|
4270
|
+
responses: {
|
|
4271
|
+
/** @description The created grant, or the original same-operation replay */
|
|
4272
|
+
201: {
|
|
4273
|
+
headers: {
|
|
4274
|
+
/** @description Prevents caching of the raw bearer capability. */
|
|
4275
|
+
"Cache-Control"?: "no-store";
|
|
4276
|
+
[name: string]: unknown;
|
|
4277
|
+
};
|
|
4278
|
+
content: {
|
|
4279
|
+
"application/json": components["schemas"]["InventoryShareGrantCreateResponse"];
|
|
4280
|
+
};
|
|
4281
|
+
};
|
|
4282
|
+
/** @description Invalid grant request */
|
|
4283
|
+
400: {
|
|
4284
|
+
headers: {
|
|
4285
|
+
[name: string]: unknown;
|
|
4286
|
+
};
|
|
4287
|
+
content: {
|
|
4288
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
4289
|
+
};
|
|
4290
|
+
};
|
|
4291
|
+
/** @description Authentication required */
|
|
4292
|
+
401: {
|
|
4293
|
+
headers: {
|
|
4294
|
+
[name: string]: unknown;
|
|
4295
|
+
};
|
|
4296
|
+
content: {
|
|
4297
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
4298
|
+
};
|
|
4299
|
+
};
|
|
4300
|
+
/** @description Insufficient entitlement (plan or role) */
|
|
4301
|
+
403: {
|
|
4302
|
+
headers: {
|
|
4303
|
+
[name: string]: unknown;
|
|
4304
|
+
};
|
|
4305
|
+
content: {
|
|
4306
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
4307
|
+
};
|
|
4308
|
+
};
|
|
4309
|
+
/** @description The requested inventory row is not owned by the caller */
|
|
4310
|
+
404: {
|
|
4311
|
+
headers: {
|
|
4312
|
+
[name: string]: unknown;
|
|
4313
|
+
};
|
|
4314
|
+
content: {
|
|
4315
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
4316
|
+
};
|
|
4317
|
+
};
|
|
4318
|
+
/** @description Operation is in flight or bound to another payload */
|
|
4319
|
+
409: {
|
|
4320
|
+
headers: {
|
|
4321
|
+
[name: string]: unknown;
|
|
4322
|
+
};
|
|
4323
|
+
content: {
|
|
4324
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
4325
|
+
};
|
|
4326
|
+
};
|
|
4327
|
+
/** @description Inventory mutation rate limit exceeded */
|
|
4328
|
+
429: {
|
|
4329
|
+
headers: {
|
|
4330
|
+
[name: string]: unknown;
|
|
4331
|
+
};
|
|
4332
|
+
content: {
|
|
4333
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
4334
|
+
};
|
|
4335
|
+
};
|
|
4336
|
+
/** @description Replay state could not be completed */
|
|
4337
|
+
503: {
|
|
4338
|
+
headers: {
|
|
4339
|
+
[name: string]: unknown;
|
|
4340
|
+
};
|
|
4341
|
+
content: {
|
|
4342
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
4343
|
+
};
|
|
4344
|
+
};
|
|
4345
|
+
};
|
|
4346
|
+
};
|
|
4347
|
+
delete?: never;
|
|
4348
|
+
options?: never;
|
|
4349
|
+
head?: never;
|
|
4350
|
+
patch?: never;
|
|
4351
|
+
trace?: never;
|
|
4352
|
+
};
|
|
4353
|
+
"/v1/inventory/share-grants/redeem": {
|
|
4354
|
+
parameters: {
|
|
4355
|
+
query?: never;
|
|
4356
|
+
header?: never;
|
|
4357
|
+
path?: never;
|
|
4358
|
+
cookie?: never;
|
|
4359
|
+
};
|
|
4360
|
+
get?: never;
|
|
4361
|
+
put?: never;
|
|
4362
|
+
/**
|
|
4363
|
+
* Redeem an inventory share capability
|
|
4364
|
+
* @description Redeem a bearer capability without a user session. Every invalid, malformed, expired, inactive, unauthorized, deleted-owner, or entitlement-failure case returns the same empty response.
|
|
4365
|
+
*/
|
|
4366
|
+
post: {
|
|
4367
|
+
parameters: {
|
|
4368
|
+
query?: never;
|
|
4369
|
+
header?: never;
|
|
4370
|
+
path?: never;
|
|
4371
|
+
cookie?: never;
|
|
4372
|
+
};
|
|
4373
|
+
requestBody: {
|
|
4374
|
+
content: {
|
|
4375
|
+
"application/json": components["schemas"]["InventoryShareGrantRedeemRequest"];
|
|
4376
|
+
};
|
|
4377
|
+
};
|
|
4378
|
+
responses: {
|
|
4379
|
+
/** @description The shared inventory projection, or the indistinguishable empty result for an invalid capability */
|
|
4380
|
+
200: {
|
|
4381
|
+
headers: {
|
|
4382
|
+
/** @description Capability redemption responses are never cacheable. */
|
|
4383
|
+
"Cache-Control"?: "no-store";
|
|
4384
|
+
[name: string]: unknown;
|
|
4385
|
+
};
|
|
4386
|
+
content: {
|
|
4387
|
+
"application/json": components["schemas"]["InventoryShareGrantRedeemResponse"];
|
|
4388
|
+
};
|
|
4389
|
+
};
|
|
4390
|
+
/** @description Anonymous redemption rate limit exceeded */
|
|
4391
|
+
429: {
|
|
4392
|
+
headers: {
|
|
4393
|
+
[name: string]: unknown;
|
|
4394
|
+
};
|
|
4395
|
+
content: {
|
|
4396
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
4397
|
+
};
|
|
4398
|
+
};
|
|
4399
|
+
};
|
|
4400
|
+
};
|
|
4401
|
+
delete?: never;
|
|
4402
|
+
options?: never;
|
|
4403
|
+
head?: never;
|
|
4404
|
+
patch?: never;
|
|
4405
|
+
trace?: never;
|
|
4406
|
+
};
|
|
4126
4407
|
"/v1/inventory/manual-batches": {
|
|
4127
4408
|
parameters: {
|
|
4128
4409
|
query?: never;
|
|
@@ -5168,24 +5449,132 @@ interface paths {
|
|
|
5168
5449
|
patch?: never;
|
|
5169
5450
|
trace?: never;
|
|
5170
5451
|
};
|
|
5171
|
-
"/v1/roasts/
|
|
5452
|
+
"/v1/roasts/batches": {
|
|
5172
5453
|
parameters: {
|
|
5173
5454
|
query?: never;
|
|
5174
5455
|
header?: never;
|
|
5175
5456
|
path?: never;
|
|
5176
5457
|
cookie?: never;
|
|
5177
5458
|
};
|
|
5459
|
+
get?: never;
|
|
5460
|
+
put?: never;
|
|
5178
5461
|
/**
|
|
5179
|
-
*
|
|
5180
|
-
* @description
|
|
5462
|
+
* Create an owner roast batch
|
|
5463
|
+
* @description Create every roast profile in one named batch atomically. The Idempotency-Key is required and payload-bound: same-key/same-payload retries replay, while changed payloads conflict. Requires an authenticated session, or an owner-bound API key carrying the exact roast:write scope.
|
|
5181
5464
|
*/
|
|
5182
|
-
|
|
5465
|
+
post: {
|
|
5183
5466
|
parameters: {
|
|
5184
|
-
query?:
|
|
5185
|
-
|
|
5186
|
-
|
|
5467
|
+
query?: never;
|
|
5468
|
+
header: {
|
|
5469
|
+
"idempotency-key": string;
|
|
5187
5470
|
};
|
|
5188
|
-
|
|
5471
|
+
path?: never;
|
|
5472
|
+
cookie?: never;
|
|
5473
|
+
};
|
|
5474
|
+
requestBody: {
|
|
5475
|
+
content: {
|
|
5476
|
+
"application/json": components["schemas"]["RoastBatchCreateRequest"];
|
|
5477
|
+
};
|
|
5478
|
+
};
|
|
5479
|
+
responses: {
|
|
5480
|
+
/** @description The complete created roast batch */
|
|
5481
|
+
201: {
|
|
5482
|
+
headers: {
|
|
5483
|
+
[name: string]: unknown;
|
|
5484
|
+
};
|
|
5485
|
+
content: {
|
|
5486
|
+
"application/json": components["schemas"]["RoastBatchMutationResponse"];
|
|
5487
|
+
};
|
|
5488
|
+
};
|
|
5489
|
+
/** @description Invalid query parameter */
|
|
5490
|
+
400: {
|
|
5491
|
+
headers: {
|
|
5492
|
+
[name: string]: unknown;
|
|
5493
|
+
};
|
|
5494
|
+
content: {
|
|
5495
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
5496
|
+
};
|
|
5497
|
+
};
|
|
5498
|
+
/** @description Authentication required */
|
|
5499
|
+
401: {
|
|
5500
|
+
headers: {
|
|
5501
|
+
[name: string]: unknown;
|
|
5502
|
+
};
|
|
5503
|
+
content: {
|
|
5504
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
5505
|
+
};
|
|
5506
|
+
};
|
|
5507
|
+
/** @description Insufficient entitlement (plan or role) */
|
|
5508
|
+
403: {
|
|
5509
|
+
headers: {
|
|
5510
|
+
[name: string]: unknown;
|
|
5511
|
+
};
|
|
5512
|
+
content: {
|
|
5513
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
5514
|
+
};
|
|
5515
|
+
};
|
|
5516
|
+
/** @description No such coffee lot owned by the caller */
|
|
5517
|
+
404: {
|
|
5518
|
+
headers: {
|
|
5519
|
+
[name: string]: unknown;
|
|
5520
|
+
};
|
|
5521
|
+
content: {
|
|
5522
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
5523
|
+
};
|
|
5524
|
+
};
|
|
5525
|
+
/** @description Write conflict: an If-Match precondition failed */
|
|
5526
|
+
409: {
|
|
5527
|
+
headers: {
|
|
5528
|
+
[name: string]: unknown;
|
|
5529
|
+
};
|
|
5530
|
+
content: {
|
|
5531
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
5532
|
+
};
|
|
5533
|
+
};
|
|
5534
|
+
/** @description Per-user mutation throttle exceeded; retry after a short wait */
|
|
5535
|
+
429: {
|
|
5536
|
+
headers: {
|
|
5537
|
+
[name: string]: unknown;
|
|
5538
|
+
};
|
|
5539
|
+
content: {
|
|
5540
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
5541
|
+
};
|
|
5542
|
+
};
|
|
5543
|
+
/** @description Roast writes are not enabled in this environment */
|
|
5544
|
+
503: {
|
|
5545
|
+
headers: {
|
|
5546
|
+
[name: string]: unknown;
|
|
5547
|
+
};
|
|
5548
|
+
content: {
|
|
5549
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
5550
|
+
};
|
|
5551
|
+
};
|
|
5552
|
+
};
|
|
5553
|
+
};
|
|
5554
|
+
delete?: never;
|
|
5555
|
+
options?: never;
|
|
5556
|
+
head?: never;
|
|
5557
|
+
patch?: never;
|
|
5558
|
+
trace?: never;
|
|
5559
|
+
};
|
|
5560
|
+
"/v1/roasts/{id}": {
|
|
5561
|
+
parameters: {
|
|
5562
|
+
query?: never;
|
|
5563
|
+
header?: never;
|
|
5564
|
+
path?: never;
|
|
5565
|
+
cookie?: never;
|
|
5566
|
+
};
|
|
5567
|
+
/**
|
|
5568
|
+
* Get an owner roast
|
|
5569
|
+
* @description Fetch one of the authenticated principal's roast profiles by id, optionally with its temperature curve and event markers. Requires an authenticated session, or an owner-bound API key carrying the roast:read scope.
|
|
5570
|
+
*/
|
|
5571
|
+
get: {
|
|
5572
|
+
parameters: {
|
|
5573
|
+
query?: {
|
|
5574
|
+
includeTemps?: boolean | null;
|
|
5575
|
+
includeEvents?: boolean | null;
|
|
5576
|
+
};
|
|
5577
|
+
header?: never;
|
|
5189
5578
|
path: {
|
|
5190
5579
|
id: string;
|
|
5191
5580
|
};
|
|
@@ -5421,7 +5810,7 @@ interface paths {
|
|
|
5421
5810
|
};
|
|
5422
5811
|
trace?: never;
|
|
5423
5812
|
};
|
|
5424
|
-
"/v1/roasts/
|
|
5813
|
+
"/v1/roasts/{id}/live-curve": {
|
|
5425
5814
|
parameters: {
|
|
5426
5815
|
query?: never;
|
|
5427
5816
|
header?: never;
|
|
@@ -5429,33 +5818,34 @@ interface paths {
|
|
|
5429
5818
|
cookie?: never;
|
|
5430
5819
|
};
|
|
5431
5820
|
get?: never;
|
|
5432
|
-
put?: never;
|
|
5433
5821
|
/**
|
|
5434
|
-
*
|
|
5435
|
-
* @description
|
|
5822
|
+
* Replace an owner roast live curve
|
|
5823
|
+
* @description Atomically replace live temperature samples and all event markers, derive milestone and phase fields upstream, and preserve non-live temperature samples. Optional If-Match protects against lost updates.
|
|
5436
5824
|
*/
|
|
5437
|
-
|
|
5825
|
+
put: {
|
|
5438
5826
|
parameters: {
|
|
5439
5827
|
query?: never;
|
|
5440
5828
|
header?: {
|
|
5441
|
-
"
|
|
5829
|
+
"if-match"?: string;
|
|
5830
|
+
};
|
|
5831
|
+
path: {
|
|
5832
|
+
id: number;
|
|
5442
5833
|
};
|
|
5443
|
-
path?: never;
|
|
5444
5834
|
cookie?: never;
|
|
5445
5835
|
};
|
|
5446
5836
|
requestBody: {
|
|
5447
5837
|
content: {
|
|
5448
|
-
"application/json": components["schemas"]["
|
|
5838
|
+
"application/json": components["schemas"]["RoastLiveCurveRequest"];
|
|
5449
5839
|
};
|
|
5450
5840
|
};
|
|
5451
5841
|
responses: {
|
|
5452
|
-
/** @description The
|
|
5453
|
-
|
|
5842
|
+
/** @description The roast with its replaced live curve */
|
|
5843
|
+
200: {
|
|
5454
5844
|
headers: {
|
|
5455
5845
|
[name: string]: unknown;
|
|
5456
5846
|
};
|
|
5457
5847
|
content: {
|
|
5458
|
-
"application/json": components["schemas"]["
|
|
5848
|
+
"application/json": components["schemas"]["RoastDetailResponse"];
|
|
5459
5849
|
};
|
|
5460
5850
|
};
|
|
5461
5851
|
/** @description Invalid query parameter */
|
|
@@ -5485,7 +5875,7 @@ interface paths {
|
|
|
5485
5875
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
5486
5876
|
};
|
|
5487
5877
|
};
|
|
5488
|
-
/** @description No such
|
|
5878
|
+
/** @description No such roast profile owned by the caller */
|
|
5489
5879
|
404: {
|
|
5490
5880
|
headers: {
|
|
5491
5881
|
[name: string]: unknown;
|
|
@@ -5523,13 +5913,14 @@ interface paths {
|
|
|
5523
5913
|
};
|
|
5524
5914
|
};
|
|
5525
5915
|
};
|
|
5916
|
+
post?: never;
|
|
5526
5917
|
delete?: never;
|
|
5527
5918
|
options?: never;
|
|
5528
5919
|
head?: never;
|
|
5529
5920
|
patch?: never;
|
|
5530
5921
|
trace?: never;
|
|
5531
5922
|
};
|
|
5532
|
-
"/v1/roasts/{
|
|
5923
|
+
"/v1/roasts/batches/{batchName}": {
|
|
5533
5924
|
parameters: {
|
|
5534
5925
|
query?: never;
|
|
5535
5926
|
header?: never;
|
|
@@ -5537,34 +5928,30 @@ interface paths {
|
|
|
5537
5928
|
cookie?: never;
|
|
5538
5929
|
};
|
|
5539
5930
|
get?: never;
|
|
5931
|
+
put?: never;
|
|
5932
|
+
post?: never;
|
|
5540
5933
|
/**
|
|
5541
|
-
*
|
|
5542
|
-
* @description
|
|
5934
|
+
* Delete an owner roast batch
|
|
5935
|
+
* @description Delete every roast profile carrying the exact batch name, plus nested temperature and event rows, in one transaction. This existing UI-level bulk action is restricted to authenticated sessions; API keys cannot call it.
|
|
5543
5936
|
*/
|
|
5544
|
-
|
|
5937
|
+
delete: {
|
|
5545
5938
|
parameters: {
|
|
5546
5939
|
query?: never;
|
|
5547
|
-
header?:
|
|
5548
|
-
"if-match"?: string;
|
|
5549
|
-
};
|
|
5940
|
+
header?: never;
|
|
5550
5941
|
path: {
|
|
5551
|
-
|
|
5942
|
+
batchName: string;
|
|
5552
5943
|
};
|
|
5553
5944
|
cookie?: never;
|
|
5554
5945
|
};
|
|
5555
|
-
requestBody
|
|
5556
|
-
content: {
|
|
5557
|
-
"application/json": components["schemas"]["RoastArtisanImportReplaceRequest"];
|
|
5558
|
-
};
|
|
5559
|
-
};
|
|
5946
|
+
requestBody?: never;
|
|
5560
5947
|
responses: {
|
|
5561
|
-
/** @description The
|
|
5948
|
+
/** @description The roast batch was deleted */
|
|
5562
5949
|
200: {
|
|
5563
5950
|
headers: {
|
|
5564
5951
|
[name: string]: unknown;
|
|
5565
5952
|
};
|
|
5566
5953
|
content: {
|
|
5567
|
-
"application/json": components["schemas"]["
|
|
5954
|
+
"application/json": components["schemas"]["RoastBatchDeleteResponse"];
|
|
5568
5955
|
};
|
|
5569
5956
|
};
|
|
5570
5957
|
/** @description Invalid query parameter */
|
|
@@ -5603,15 +5990,6 @@ interface paths {
|
|
|
5603
5990
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
5604
5991
|
};
|
|
5605
5992
|
};
|
|
5606
|
-
/** @description Write conflict: an If-Match precondition failed */
|
|
5607
|
-
409: {
|
|
5608
|
-
headers: {
|
|
5609
|
-
[name: string]: unknown;
|
|
5610
|
-
};
|
|
5611
|
-
content: {
|
|
5612
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
5613
|
-
};
|
|
5614
|
-
};
|
|
5615
5993
|
/** @description Per-user mutation throttle exceeded; retry after a short wait */
|
|
5616
5994
|
429: {
|
|
5617
5995
|
headers: {
|
|
@@ -5632,29 +6010,55 @@ interface paths {
|
|
|
5632
6010
|
};
|
|
5633
6011
|
};
|
|
5634
6012
|
};
|
|
5635
|
-
|
|
6013
|
+
options?: never;
|
|
6014
|
+
head?: never;
|
|
6015
|
+
patch?: never;
|
|
6016
|
+
trace?: never;
|
|
6017
|
+
};
|
|
6018
|
+
"/v1/roasts/imports": {
|
|
6019
|
+
parameters: {
|
|
6020
|
+
query?: never;
|
|
6021
|
+
header?: never;
|
|
6022
|
+
path?: never;
|
|
6023
|
+
cookie?: never;
|
|
6024
|
+
};
|
|
6025
|
+
get?: never;
|
|
6026
|
+
put?: never;
|
|
5636
6027
|
/**
|
|
5637
|
-
*
|
|
5638
|
-
* @description
|
|
6028
|
+
* Create a roast from an Artisan file
|
|
6029
|
+
* @description Parse an Artisan `.alog` file, create a roast profile owned by the caller against one of their green-coffee lots, and persist the imported temperature curve, event markers, and an artisan_import_log entry atomically. Requires an authenticated session, or an owner-bound API key carrying the exact roast:write scope.
|
|
5639
6030
|
*/
|
|
5640
|
-
|
|
6031
|
+
post: {
|
|
5641
6032
|
parameters: {
|
|
5642
6033
|
query?: never;
|
|
5643
|
-
header?:
|
|
5644
|
-
|
|
5645
|
-
id: number;
|
|
6034
|
+
header?: {
|
|
6035
|
+
"idempotency-key"?: string;
|
|
5646
6036
|
};
|
|
6037
|
+
path?: never;
|
|
5647
6038
|
cookie?: never;
|
|
5648
6039
|
};
|
|
5649
|
-
requestBody
|
|
6040
|
+
requestBody: {
|
|
6041
|
+
content: {
|
|
6042
|
+
"application/json": components["schemas"]["RoastImportCreateRequest"];
|
|
6043
|
+
};
|
|
6044
|
+
};
|
|
5650
6045
|
responses: {
|
|
5651
|
-
/** @description The
|
|
5652
|
-
|
|
6046
|
+
/** @description The created roast profile plus import summary */
|
|
6047
|
+
201: {
|
|
5653
6048
|
headers: {
|
|
5654
6049
|
[name: string]: unknown;
|
|
5655
6050
|
};
|
|
5656
6051
|
content: {
|
|
5657
|
-
"application/json": components["schemas"]["
|
|
6052
|
+
"application/json": components["schemas"]["RoastImportResponse"];
|
|
6053
|
+
};
|
|
6054
|
+
};
|
|
6055
|
+
/** @description Invalid query parameter */
|
|
6056
|
+
400: {
|
|
6057
|
+
headers: {
|
|
6058
|
+
[name: string]: unknown;
|
|
6059
|
+
};
|
|
6060
|
+
content: {
|
|
6061
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
5658
6062
|
};
|
|
5659
6063
|
};
|
|
5660
6064
|
/** @description Authentication required */
|
|
@@ -5675,7 +6079,7 @@ interface paths {
|
|
|
5675
6079
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
5676
6080
|
};
|
|
5677
6081
|
};
|
|
5678
|
-
/** @description No such
|
|
6082
|
+
/** @description No such coffee lot owned by the caller */
|
|
5679
6083
|
404: {
|
|
5680
6084
|
headers: {
|
|
5681
6085
|
[name: string]: unknown;
|
|
@@ -5684,6 +6088,15 @@ interface paths {
|
|
|
5684
6088
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
5685
6089
|
};
|
|
5686
6090
|
};
|
|
6091
|
+
/** @description Write conflict: an If-Match precondition failed */
|
|
6092
|
+
409: {
|
|
6093
|
+
headers: {
|
|
6094
|
+
[name: string]: unknown;
|
|
6095
|
+
};
|
|
6096
|
+
content: {
|
|
6097
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6098
|
+
};
|
|
6099
|
+
};
|
|
5687
6100
|
/** @description Per-user mutation throttle exceeded; retry after a short wait */
|
|
5688
6101
|
429: {
|
|
5689
6102
|
headers: {
|
|
@@ -5704,12 +6117,13 @@ interface paths {
|
|
|
5704
6117
|
};
|
|
5705
6118
|
};
|
|
5706
6119
|
};
|
|
6120
|
+
delete?: never;
|
|
5707
6121
|
options?: never;
|
|
5708
6122
|
head?: never;
|
|
5709
6123
|
patch?: never;
|
|
5710
6124
|
trace?: never;
|
|
5711
6125
|
};
|
|
5712
|
-
"/v1/roasts/
|
|
6126
|
+
"/v1/roasts/{id}/artisan-import": {
|
|
5713
6127
|
parameters: {
|
|
5714
6128
|
query?: never;
|
|
5715
6129
|
header?: never;
|
|
@@ -5717,34 +6131,37 @@ interface paths {
|
|
|
5717
6131
|
cookie?: never;
|
|
5718
6132
|
};
|
|
5719
6133
|
get?: never;
|
|
5720
|
-
put?: never;
|
|
5721
6134
|
/**
|
|
5722
|
-
*
|
|
5723
|
-
* @description
|
|
6135
|
+
* Replace a roast's Artisan import
|
|
6136
|
+
* @description Re-derive one of the caller's existing roasts from an Artisan `.alog` file: replace its temperature curve, event markers, milestones, chart bounds, and computed metrics, and write an artisan_import_log entry atomically. The roast's identity (coffee, batch name, roast date, weights, and user notes) is preserved. Optional `If-Match: <last_updated>` enables optimistic concurrency (409 on mismatch). Requires an authenticated session, or an owner-bound API key carrying the exact roast:write scope.
|
|
5724
6137
|
*/
|
|
5725
|
-
|
|
6138
|
+
put: {
|
|
5726
6139
|
parameters: {
|
|
5727
6140
|
query?: never;
|
|
5728
|
-
header?:
|
|
5729
|
-
|
|
6141
|
+
header?: {
|
|
6142
|
+
"if-match"?: string;
|
|
6143
|
+
};
|
|
6144
|
+
path: {
|
|
6145
|
+
id: number;
|
|
6146
|
+
};
|
|
5730
6147
|
cookie?: never;
|
|
5731
6148
|
};
|
|
5732
6149
|
requestBody: {
|
|
5733
6150
|
content: {
|
|
5734
|
-
"application/json": components["schemas"]["
|
|
6151
|
+
"application/json": components["schemas"]["RoastArtisanImportReplaceRequest"];
|
|
5735
6152
|
};
|
|
5736
6153
|
};
|
|
5737
6154
|
responses: {
|
|
5738
|
-
/** @description
|
|
6155
|
+
/** @description The updated roast profile plus import summary */
|
|
5739
6156
|
200: {
|
|
5740
6157
|
headers: {
|
|
5741
6158
|
[name: string]: unknown;
|
|
5742
6159
|
};
|
|
5743
6160
|
content: {
|
|
5744
|
-
"application/json": components["schemas"]["
|
|
6161
|
+
"application/json": components["schemas"]["RoastImportResponse"];
|
|
5745
6162
|
};
|
|
5746
6163
|
};
|
|
5747
|
-
/** @description Invalid
|
|
6164
|
+
/** @description Invalid query parameter */
|
|
5748
6165
|
400: {
|
|
5749
6166
|
headers: {
|
|
5750
6167
|
[name: string]: unknown;
|
|
@@ -5771,8 +6188,8 @@ interface paths {
|
|
|
5771
6188
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
5772
6189
|
};
|
|
5773
6190
|
};
|
|
5774
|
-
/** @description
|
|
5775
|
-
|
|
6191
|
+
/** @description No such roast profile owned by the caller */
|
|
6192
|
+
404: {
|
|
5776
6193
|
headers: {
|
|
5777
6194
|
[name: string]: unknown;
|
|
5778
6195
|
};
|
|
@@ -5780,8 +6197,8 @@ interface paths {
|
|
|
5780
6197
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
5781
6198
|
};
|
|
5782
6199
|
};
|
|
5783
|
-
/** @description
|
|
5784
|
-
|
|
6200
|
+
/** @description Write conflict: an If-Match precondition failed */
|
|
6201
|
+
409: {
|
|
5785
6202
|
headers: {
|
|
5786
6203
|
[name: string]: unknown;
|
|
5787
6204
|
};
|
|
@@ -5789,15 +6206,192 @@ interface paths {
|
|
|
5789
6206
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
5790
6207
|
};
|
|
5791
6208
|
};
|
|
5792
|
-
|
|
5793
|
-
|
|
5794
|
-
|
|
5795
|
-
|
|
5796
|
-
|
|
5797
|
-
|
|
5798
|
-
|
|
5799
|
-
|
|
5800
|
-
|
|
6209
|
+
/** @description Per-user mutation throttle exceeded; retry after a short wait */
|
|
6210
|
+
429: {
|
|
6211
|
+
headers: {
|
|
6212
|
+
[name: string]: unknown;
|
|
6213
|
+
};
|
|
6214
|
+
content: {
|
|
6215
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6216
|
+
};
|
|
6217
|
+
};
|
|
6218
|
+
/** @description Roast writes are not enabled in this environment */
|
|
6219
|
+
503: {
|
|
6220
|
+
headers: {
|
|
6221
|
+
[name: string]: unknown;
|
|
6222
|
+
};
|
|
6223
|
+
content: {
|
|
6224
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6225
|
+
};
|
|
6226
|
+
};
|
|
6227
|
+
};
|
|
6228
|
+
};
|
|
6229
|
+
post?: never;
|
|
6230
|
+
/**
|
|
6231
|
+
* Clear a roast's Artisan import
|
|
6232
|
+
* @description Remove import-derived temperature samples, event markers, and artisan_import_log rows from one of the caller's existing roasts without deleting the roast profile. Import-derived profile metrics are reset to manual/null values. Requires an authenticated session, or an owner-bound API key carrying the exact roast:write scope.
|
|
6233
|
+
*/
|
|
6234
|
+
delete: {
|
|
6235
|
+
parameters: {
|
|
6236
|
+
query?: never;
|
|
6237
|
+
header?: never;
|
|
6238
|
+
path: {
|
|
6239
|
+
id: number;
|
|
6240
|
+
};
|
|
6241
|
+
cookie?: never;
|
|
6242
|
+
};
|
|
6243
|
+
requestBody?: never;
|
|
6244
|
+
responses: {
|
|
6245
|
+
/** @description The cleared roast id plus deleted row counts */
|
|
6246
|
+
200: {
|
|
6247
|
+
headers: {
|
|
6248
|
+
[name: string]: unknown;
|
|
6249
|
+
};
|
|
6250
|
+
content: {
|
|
6251
|
+
"application/json": components["schemas"]["RoastArtisanImportClearResponse"];
|
|
6252
|
+
};
|
|
6253
|
+
};
|
|
6254
|
+
/** @description Authentication required */
|
|
6255
|
+
401: {
|
|
6256
|
+
headers: {
|
|
6257
|
+
[name: string]: unknown;
|
|
6258
|
+
};
|
|
6259
|
+
content: {
|
|
6260
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6261
|
+
};
|
|
6262
|
+
};
|
|
6263
|
+
/** @description Insufficient entitlement (plan or role) */
|
|
6264
|
+
403: {
|
|
6265
|
+
headers: {
|
|
6266
|
+
[name: string]: unknown;
|
|
6267
|
+
};
|
|
6268
|
+
content: {
|
|
6269
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6270
|
+
};
|
|
6271
|
+
};
|
|
6272
|
+
/** @description No such roast profile owned by the caller */
|
|
6273
|
+
404: {
|
|
6274
|
+
headers: {
|
|
6275
|
+
[name: string]: unknown;
|
|
6276
|
+
};
|
|
6277
|
+
content: {
|
|
6278
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6279
|
+
};
|
|
6280
|
+
};
|
|
6281
|
+
/** @description Per-user mutation throttle exceeded; retry after a short wait */
|
|
6282
|
+
429: {
|
|
6283
|
+
headers: {
|
|
6284
|
+
[name: string]: unknown;
|
|
6285
|
+
};
|
|
6286
|
+
content: {
|
|
6287
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6288
|
+
};
|
|
6289
|
+
};
|
|
6290
|
+
/** @description Roast writes are not enabled in this environment */
|
|
6291
|
+
503: {
|
|
6292
|
+
headers: {
|
|
6293
|
+
[name: string]: unknown;
|
|
6294
|
+
};
|
|
6295
|
+
content: {
|
|
6296
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6297
|
+
};
|
|
6298
|
+
};
|
|
6299
|
+
};
|
|
6300
|
+
};
|
|
6301
|
+
options?: never;
|
|
6302
|
+
head?: never;
|
|
6303
|
+
patch?: never;
|
|
6304
|
+
trace?: never;
|
|
6305
|
+
};
|
|
6306
|
+
"/v1/roasts/classify": {
|
|
6307
|
+
parameters: {
|
|
6308
|
+
query?: never;
|
|
6309
|
+
header?: never;
|
|
6310
|
+
path?: never;
|
|
6311
|
+
cookie?: never;
|
|
6312
|
+
};
|
|
6313
|
+
get?: never;
|
|
6314
|
+
put?: never;
|
|
6315
|
+
/**
|
|
6316
|
+
* Classify an imported roast
|
|
6317
|
+
* @description Match Artisan roast metadata to one of the supplied owner inventory rows. Requires member entitlement and either an authenticated session or an owner-bound API key carrying the exact roast:read scope.
|
|
6318
|
+
*/
|
|
6319
|
+
post: {
|
|
6320
|
+
parameters: {
|
|
6321
|
+
query?: never;
|
|
6322
|
+
header?: never;
|
|
6323
|
+
path?: never;
|
|
6324
|
+
cookie?: never;
|
|
6325
|
+
};
|
|
6326
|
+
requestBody: {
|
|
6327
|
+
content: {
|
|
6328
|
+
"application/json": components["schemas"]["RoastClassificationRequest"];
|
|
6329
|
+
};
|
|
6330
|
+
};
|
|
6331
|
+
responses: {
|
|
6332
|
+
/** @description Best inventory match, or null when no reasonable match exists */
|
|
6333
|
+
200: {
|
|
6334
|
+
headers: {
|
|
6335
|
+
[name: string]: unknown;
|
|
6336
|
+
};
|
|
6337
|
+
content: {
|
|
6338
|
+
"application/json": components["schemas"]["RoastClassificationResponse"];
|
|
6339
|
+
};
|
|
6340
|
+
};
|
|
6341
|
+
/** @description Invalid request body or input cap exceeded */
|
|
6342
|
+
400: {
|
|
6343
|
+
headers: {
|
|
6344
|
+
[name: string]: unknown;
|
|
6345
|
+
};
|
|
6346
|
+
content: {
|
|
6347
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6348
|
+
};
|
|
6349
|
+
};
|
|
6350
|
+
/** @description Authentication required */
|
|
6351
|
+
401: {
|
|
6352
|
+
headers: {
|
|
6353
|
+
[name: string]: unknown;
|
|
6354
|
+
};
|
|
6355
|
+
content: {
|
|
6356
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6357
|
+
};
|
|
6358
|
+
};
|
|
6359
|
+
/** @description Insufficient entitlement (plan or role) */
|
|
6360
|
+
403: {
|
|
6361
|
+
headers: {
|
|
6362
|
+
[name: string]: unknown;
|
|
6363
|
+
};
|
|
6364
|
+
content: {
|
|
6365
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6366
|
+
};
|
|
6367
|
+
};
|
|
6368
|
+
/** @description API or upstream classification rate limit exceeded */
|
|
6369
|
+
429: {
|
|
6370
|
+
headers: {
|
|
6371
|
+
[name: string]: unknown;
|
|
6372
|
+
};
|
|
6373
|
+
content: {
|
|
6374
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6375
|
+
};
|
|
6376
|
+
};
|
|
6377
|
+
/** @description Classification provider is unavailable or not configured */
|
|
6378
|
+
503: {
|
|
6379
|
+
headers: {
|
|
6380
|
+
[name: string]: unknown;
|
|
6381
|
+
};
|
|
6382
|
+
content: {
|
|
6383
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6384
|
+
};
|
|
6385
|
+
};
|
|
6386
|
+
};
|
|
6387
|
+
};
|
|
6388
|
+
delete?: never;
|
|
6389
|
+
options?: never;
|
|
6390
|
+
head?: never;
|
|
6391
|
+
patch?: never;
|
|
6392
|
+
trace?: never;
|
|
6393
|
+
};
|
|
6394
|
+
"/v1/roasts/{id}/chart-data": {
|
|
5801
6395
|
parameters: {
|
|
5802
6396
|
query?: never;
|
|
5803
6397
|
header?: never;
|
|
@@ -6765,6 +7359,16 @@ interface components {
|
|
|
6765
7359
|
continent?: string | null;
|
|
6766
7360
|
country?: string | null;
|
|
6767
7361
|
region?: string | null;
|
|
7362
|
+
/** @description Raw source geography for display; not a canonical place identity or filter value */
|
|
7363
|
+
subregion?: string | null;
|
|
7364
|
+
/** @description Raw source geography for display; not a canonical place identity or filter value */
|
|
7365
|
+
locality?: string | null;
|
|
7366
|
+
/** @description Raw cultivation-site label for display; not a canonical place identity or filter value */
|
|
7367
|
+
site?: string | null;
|
|
7368
|
+
/** @description Reported minimum elevation in meters above sea level (member sessions and paid API tiers only) */
|
|
7369
|
+
elevation_min_masl?: number | null;
|
|
7370
|
+
/** @description Reported maximum elevation in meters above sea level (member sessions and paid API tiers only) */
|
|
7371
|
+
elevation_max_masl?: number | null;
|
|
6768
7372
|
processing?: string | null;
|
|
6769
7373
|
cultivar_detail?: string | null;
|
|
6770
7374
|
type?: string | null;
|
|
@@ -6861,6 +7465,135 @@ interface components {
|
|
|
6861
7465
|
}[];
|
|
6862
7466
|
};
|
|
6863
7467
|
};
|
|
7468
|
+
CatalogMapResponse: {
|
|
7469
|
+
data: ({
|
|
7470
|
+
/** @enum {string} */
|
|
7471
|
+
type: "cluster";
|
|
7472
|
+
id: string;
|
|
7473
|
+
longitude: number;
|
|
7474
|
+
latitude: number;
|
|
7475
|
+
bounds: {
|
|
7476
|
+
west: number;
|
|
7477
|
+
south: number;
|
|
7478
|
+
east: number;
|
|
7479
|
+
north: number;
|
|
7480
|
+
crossesAntimeridian: boolean;
|
|
7481
|
+
};
|
|
7482
|
+
placement_count: number;
|
|
7483
|
+
unique_coffee_count: number;
|
|
7484
|
+
catalog_ids: number[];
|
|
7485
|
+
} | {
|
|
7486
|
+
/** @enum {string} */
|
|
7487
|
+
type: "place";
|
|
7488
|
+
id: string;
|
|
7489
|
+
catalog_id: number;
|
|
7490
|
+
/** Format: uuid */
|
|
7491
|
+
place_id: string | null;
|
|
7492
|
+
canonical_name: string;
|
|
7493
|
+
/** @enum {string} */
|
|
7494
|
+
place_type: "continent" | "country" | "region" | "subregion" | "locality" | "site";
|
|
7495
|
+
longitude: number;
|
|
7496
|
+
latitude: number;
|
|
7497
|
+
/** @enum {string} */
|
|
7498
|
+
geographic_precision: "none" | "continent" | "country" | "region" | "subregion" | "locality" | "site" | "exact_site";
|
|
7499
|
+
/** @enum {string} */
|
|
7500
|
+
coordinate_kind: "none" | "centroid" | "exact_point";
|
|
7501
|
+
/** @enum {string} */
|
|
7502
|
+
place_provenance: "reference_dataset" | "source_evidence" | "deterministic_resolution" | "manual_review";
|
|
7503
|
+
/** @enum {string} */
|
|
7504
|
+
assignment_role: "primary" | "additional";
|
|
7505
|
+
/** @enum {string} */
|
|
7506
|
+
assignment_provenance: "reference_dataset" | "source_evidence" | "deterministic_resolution" | "manual_review";
|
|
7507
|
+
assignment_confidence: number;
|
|
7508
|
+
elevation_min_masl: number | null;
|
|
7509
|
+
elevation_max_masl: number | null;
|
|
7510
|
+
})[];
|
|
7511
|
+
elevation_profile: {
|
|
7512
|
+
/** @enum {string} */
|
|
7513
|
+
scope: "query" | "viewport";
|
|
7514
|
+
row_count: number;
|
|
7515
|
+
evidence_count: number;
|
|
7516
|
+
complete_bound_count: number;
|
|
7517
|
+
partial_bound_count: number;
|
|
7518
|
+
unknown_count: number;
|
|
7519
|
+
statistic_sample_count: number;
|
|
7520
|
+
median_masl: number | null;
|
|
7521
|
+
min_known_masl: number | null;
|
|
7522
|
+
max_known_masl: number | null;
|
|
7523
|
+
bands: {
|
|
7524
|
+
/** @enum {string} */
|
|
7525
|
+
key: "below_1000" | "1000_to_1399" | "1400_to_1799" | "1800_to_2199" | "2200_and_above";
|
|
7526
|
+
min_masl: number | null;
|
|
7527
|
+
max_masl_exclusive: number | null;
|
|
7528
|
+
count: number;
|
|
7529
|
+
}[];
|
|
7530
|
+
} | null;
|
|
7531
|
+
meta: {
|
|
7532
|
+
/** @enum {string} */
|
|
7533
|
+
resource: "catalog-map";
|
|
7534
|
+
/** @enum {string} */
|
|
7535
|
+
namespace: "/v1/catalog/map";
|
|
7536
|
+
/** @enum {string} */
|
|
7537
|
+
version: "v1";
|
|
7538
|
+
auth: {
|
|
7539
|
+
/** @enum {string} */
|
|
7540
|
+
kind: "session" | "api-key";
|
|
7541
|
+
/** @enum {string|null} */
|
|
7542
|
+
role: "viewer" | "member" | "admin" | null;
|
|
7543
|
+
/** @enum {string|null} */
|
|
7544
|
+
apiPlan: "viewer" | "member" | "enterprise" | null;
|
|
7545
|
+
};
|
|
7546
|
+
access: {
|
|
7547
|
+
publicOnly: boolean;
|
|
7548
|
+
showWholesale: boolean;
|
|
7549
|
+
wholesaleOnly: boolean;
|
|
7550
|
+
rowLimit: number | null;
|
|
7551
|
+
limited: boolean;
|
|
7552
|
+
totalAvailable: number;
|
|
7553
|
+
fineGrainedPlaces: boolean;
|
|
7554
|
+
viewportSearch: boolean;
|
|
7555
|
+
elevationProfile: boolean;
|
|
7556
|
+
};
|
|
7557
|
+
effective: {
|
|
7558
|
+
zoom: number;
|
|
7559
|
+
/** @enum {string} */
|
|
7560
|
+
lens: "catalog" | "elevation";
|
|
7561
|
+
/** Format: uuid */
|
|
7562
|
+
place_id: string | null;
|
|
7563
|
+
bbox: {
|
|
7564
|
+
west: number;
|
|
7565
|
+
south: number;
|
|
7566
|
+
east: number;
|
|
7567
|
+
north: number;
|
|
7568
|
+
crossesAntimeridian: boolean;
|
|
7569
|
+
} | null;
|
|
7570
|
+
};
|
|
7571
|
+
totals: {
|
|
7572
|
+
unique_coffee_count: number;
|
|
7573
|
+
placed_unique_coffee_count: number;
|
|
7574
|
+
unplaced_unique_coffee_count: number;
|
|
7575
|
+
placement_count: number;
|
|
7576
|
+
mappable_placement_count: number;
|
|
7577
|
+
viewport_placed_unique_coffee_count: number;
|
|
7578
|
+
viewport_placement_count: number;
|
|
7579
|
+
};
|
|
7580
|
+
notices?: {
|
|
7581
|
+
status: 401 | 403;
|
|
7582
|
+
/** @enum {string} */
|
|
7583
|
+
code: "auth_required" | "entitlement_required";
|
|
7584
|
+
message: string;
|
|
7585
|
+
deniedParams: string[];
|
|
7586
|
+
}[];
|
|
7587
|
+
/** @description Freshness contract. `generatedAt` (ISO 8601) is the authoritative time this body was generated. `cacheStatus`/`ttlSeconds` are the resolved cache policy (ttl 0 for private/no-store); ttl is policy, not a promise — stale-while-revalidate may serve an older body, so trust `generatedAt` for actual age. */
|
|
7588
|
+
freshness: {
|
|
7589
|
+
/** Format: date-time */
|
|
7590
|
+
generatedAt: string;
|
|
7591
|
+
/** @enum {string} */
|
|
7592
|
+
cacheStatus: "public" | "private";
|
|
7593
|
+
ttlSeconds: number;
|
|
7594
|
+
};
|
|
7595
|
+
};
|
|
7596
|
+
};
|
|
6864
7597
|
CatalogFacetsResponse: {
|
|
6865
7598
|
/** @description Compatibility-friendly unique values for dropdown filters. Keys with no values are omitted. */
|
|
6866
7599
|
values: {
|
|
@@ -8432,14 +9165,121 @@ interface components {
|
|
|
8432
9165
|
};
|
|
8433
9166
|
};
|
|
8434
9167
|
};
|
|
8435
|
-
|
|
8436
|
-
/**
|
|
8437
|
-
|
|
8438
|
-
|
|
8439
|
-
|
|
8440
|
-
|
|
8441
|
-
|
|
8442
|
-
|
|
9168
|
+
InventoryShareGrantScope: {
|
|
9169
|
+
/** @enum {string} */
|
|
9170
|
+
type: "all";
|
|
9171
|
+
} | {
|
|
9172
|
+
/** @enum {string} */
|
|
9173
|
+
type: "inventory";
|
|
9174
|
+
inventoryId: number;
|
|
9175
|
+
};
|
|
9176
|
+
InventoryShareGrant: {
|
|
9177
|
+
/** Format: uuid */
|
|
9178
|
+
id: string;
|
|
9179
|
+
/** @description 256-bit bearer capability returned only when the grant is created or replayed with the same operation and payload. */
|
|
9180
|
+
token: string;
|
|
9181
|
+
scope: components["schemas"]["InventoryShareGrantScope"];
|
|
9182
|
+
/** Format: date-time */
|
|
9183
|
+
expiresAt: string;
|
|
9184
|
+
};
|
|
9185
|
+
InventoryShareGrantCreateResponse: {
|
|
9186
|
+
data: components["schemas"]["InventoryShareGrant"];
|
|
9187
|
+
meta: {
|
|
9188
|
+
/** @enum {string} */
|
|
9189
|
+
resource: "inventory-share-grant";
|
|
9190
|
+
/** @enum {string} */
|
|
9191
|
+
namespace: "/v1/inventory/share-grants";
|
|
9192
|
+
/** @enum {string} */
|
|
9193
|
+
version: "v1";
|
|
9194
|
+
};
|
|
9195
|
+
};
|
|
9196
|
+
InventoryShareGrantCreateRequest: {
|
|
9197
|
+
/**
|
|
9198
|
+
* Format: uuid
|
|
9199
|
+
* @description Stable owner-scoped operation identity. Reusing it with the same normalized request replays the original grant and token; changing the request conflicts.
|
|
9200
|
+
*/
|
|
9201
|
+
operationId: string;
|
|
9202
|
+
scope: components["schemas"]["InventoryShareGrantScope"];
|
|
9203
|
+
/** @description Grant lifetime in whole days (default 7, maximum 30). */
|
|
9204
|
+
expiresInDays?: number;
|
|
9205
|
+
};
|
|
9206
|
+
InventoryShareCatalog: {
|
|
9207
|
+
name: string | null;
|
|
9208
|
+
score_value: number | null;
|
|
9209
|
+
arrival_date: string | null;
|
|
9210
|
+
continent: string | null;
|
|
9211
|
+
country: string | null;
|
|
9212
|
+
region: string | null;
|
|
9213
|
+
processing: string | null;
|
|
9214
|
+
drying_method: string | null;
|
|
9215
|
+
lot_size: string | null;
|
|
9216
|
+
bag_size: string | null;
|
|
9217
|
+
packaging: string | null;
|
|
9218
|
+
cultivar_detail: string | null;
|
|
9219
|
+
grade: string | null;
|
|
9220
|
+
appearance: string | null;
|
|
9221
|
+
roast_recs: string | null;
|
|
9222
|
+
type: string | null;
|
|
9223
|
+
description_short: string | null;
|
|
9224
|
+
description_long: string | null;
|
|
9225
|
+
farm_notes: string | null;
|
|
9226
|
+
link: string | null;
|
|
9227
|
+
cost_lb: number | null;
|
|
9228
|
+
price_per_lb: number | null;
|
|
9229
|
+
source: string | null;
|
|
9230
|
+
stocked: boolean | null;
|
|
9231
|
+
cupping_notes: string | null;
|
|
9232
|
+
stocked_date: string | null;
|
|
9233
|
+
unstocked_date: string | null;
|
|
9234
|
+
ai_description: string | null;
|
|
9235
|
+
ai_tasting_notes: string | null;
|
|
9236
|
+
public_coffee: boolean | null;
|
|
9237
|
+
wholesale: boolean | null;
|
|
9238
|
+
price_tiers: {
|
|
9239
|
+
min_lbs: number;
|
|
9240
|
+
price: number;
|
|
9241
|
+
}[] | null;
|
|
9242
|
+
} | null;
|
|
9243
|
+
InventoryShareRoastSummary: {
|
|
9244
|
+
oz_in: number | null;
|
|
9245
|
+
oz_out: number | null;
|
|
9246
|
+
weight_loss_percent: number | null;
|
|
9247
|
+
roast_id: number;
|
|
9248
|
+
batch_name: string | null;
|
|
9249
|
+
roast_date: string | null;
|
|
9250
|
+
};
|
|
9251
|
+
InventoryShareInventory: {
|
|
9252
|
+
id: number;
|
|
9253
|
+
rank: number | null;
|
|
9254
|
+
notes: string | null;
|
|
9255
|
+
cupping_notes: string | number | boolean | unknown[] | {
|
|
9256
|
+
[key: string]: unknown;
|
|
9257
|
+
} | null;
|
|
9258
|
+
purchase_date: string | null;
|
|
9259
|
+
purchased_qty_lbs: number | null;
|
|
9260
|
+
bean_cost: number | null;
|
|
9261
|
+
tax_ship_cost: number | null;
|
|
9262
|
+
last_updated: string | null;
|
|
9263
|
+
catalog_id: number | null;
|
|
9264
|
+
stocked: boolean | null;
|
|
9265
|
+
ai_tasting_notes: string | null;
|
|
9266
|
+
coffee_catalog: components["schemas"]["InventoryShareCatalog"];
|
|
9267
|
+
roast_profiles: components["schemas"]["InventoryShareRoastSummary"][];
|
|
9268
|
+
};
|
|
9269
|
+
InventoryShareGrantRedeemResponse: {
|
|
9270
|
+
data: components["schemas"]["InventoryShareInventory"][];
|
|
9271
|
+
};
|
|
9272
|
+
InventoryShareGrantRedeemRequest: {
|
|
9273
|
+
token: string;
|
|
9274
|
+
};
|
|
9275
|
+
ManualInventoryBatchResult: {
|
|
9276
|
+
/** Format: uuid */
|
|
9277
|
+
batchId: string;
|
|
9278
|
+
items: {
|
|
9279
|
+
/** Format: uuid */
|
|
9280
|
+
rowId: string;
|
|
9281
|
+
resource: components["schemas"]["InventoryResource"];
|
|
9282
|
+
}[];
|
|
8443
9283
|
};
|
|
8444
9284
|
ManualInventoryBatchResponse: {
|
|
8445
9285
|
data: components["schemas"]["ManualInventoryBatchResult"];
|
|
@@ -8863,6 +9703,41 @@ interface components {
|
|
|
8863
9703
|
temperatures?: components["schemas"]["RoastTemperatureInput"][];
|
|
8864
9704
|
events?: components["schemas"]["RoastEventInput"][];
|
|
8865
9705
|
};
|
|
9706
|
+
RoastBatchMutationResponse: {
|
|
9707
|
+
data: {
|
|
9708
|
+
batchName: string;
|
|
9709
|
+
profiles: components["schemas"]["RoastDetailResource"][];
|
|
9710
|
+
};
|
|
9711
|
+
meta: {
|
|
9712
|
+
/** @enum {string} */
|
|
9713
|
+
resource: "roast-batches";
|
|
9714
|
+
/** @enum {string} */
|
|
9715
|
+
namespace: "/v1/roasts/batches";
|
|
9716
|
+
/** @enum {string} */
|
|
9717
|
+
version: "v1";
|
|
9718
|
+
auth: {
|
|
9719
|
+
/** @enum {string} */
|
|
9720
|
+
kind: "session" | "api-key";
|
|
9721
|
+
/** @enum {string|null} */
|
|
9722
|
+
role: "admin" | "member" | "viewer" | null;
|
|
9723
|
+
/** @enum {string|null} */
|
|
9724
|
+
apiPlan: "viewer" | "member" | "enterprise" | null;
|
|
9725
|
+
};
|
|
9726
|
+
};
|
|
9727
|
+
};
|
|
9728
|
+
RoastBatchItem: {
|
|
9729
|
+
coffeeId: number;
|
|
9730
|
+
coffeeName?: string;
|
|
9731
|
+
ozIn?: number;
|
|
9732
|
+
ozOut?: number;
|
|
9733
|
+
};
|
|
9734
|
+
RoastBatchCreateRequest: {
|
|
9735
|
+
batchName: string;
|
|
9736
|
+
roastDate?: string;
|
|
9737
|
+
notes?: string;
|
|
9738
|
+
targets?: string;
|
|
9739
|
+
items: components["schemas"]["RoastBatchItem"][];
|
|
9740
|
+
};
|
|
8866
9741
|
RoastUpdateRequest: {
|
|
8867
9742
|
coffeeName?: string;
|
|
8868
9743
|
batchName?: string;
|
|
@@ -8901,6 +9776,10 @@ interface components {
|
|
|
8901
9776
|
temperatures?: components["schemas"]["RoastTemperatureInput"][];
|
|
8902
9777
|
events?: components["schemas"]["RoastEventInput"][];
|
|
8903
9778
|
};
|
|
9779
|
+
RoastLiveCurveRequest: {
|
|
9780
|
+
temperatures: components["schemas"]["RoastTemperatureInput"][];
|
|
9781
|
+
events: components["schemas"]["RoastEventInput"][];
|
|
9782
|
+
};
|
|
8904
9783
|
RoastDeleteResponse: {
|
|
8905
9784
|
data: {
|
|
8906
9785
|
id: number;
|
|
@@ -8924,6 +9803,30 @@ interface components {
|
|
|
8924
9803
|
};
|
|
8925
9804
|
};
|
|
8926
9805
|
};
|
|
9806
|
+
RoastBatchDeleteResponse: {
|
|
9807
|
+
data: {
|
|
9808
|
+
batchName: string;
|
|
9809
|
+
ids: number[];
|
|
9810
|
+
/** @enum {boolean} */
|
|
9811
|
+
deleted: true;
|
|
9812
|
+
};
|
|
9813
|
+
meta: {
|
|
9814
|
+
/** @enum {string} */
|
|
9815
|
+
resource: "roast-batches";
|
|
9816
|
+
/** @enum {string} */
|
|
9817
|
+
namespace: "/v1/roasts/batches";
|
|
9818
|
+
/** @enum {string} */
|
|
9819
|
+
version: "v1";
|
|
9820
|
+
auth: {
|
|
9821
|
+
/** @enum {string} */
|
|
9822
|
+
kind: "session" | "api-key";
|
|
9823
|
+
/** @enum {string|null} */
|
|
9824
|
+
role: "admin" | "member" | "viewer" | null;
|
|
9825
|
+
/** @enum {string|null} */
|
|
9826
|
+
apiPlan: "viewer" | "member" | "enterprise" | null;
|
|
9827
|
+
};
|
|
9828
|
+
};
|
|
9829
|
+
};
|
|
8927
9830
|
ArtisanImportSummary: {
|
|
8928
9831
|
fileName: string;
|
|
8929
9832
|
fileSize: number;
|
|
@@ -9430,6 +10333,12 @@ type CatalogFacetsQuery = NonNullable<paths["/v1/catalog/facets"]["get"]["parame
|
|
|
9430
10333
|
* into strip-with-notice degradation instead of a 401/403 hard-deny.
|
|
9431
10334
|
*/
|
|
9432
10335
|
type CatalogListHeaders = NonNullable<paths["/v1/catalog"]["get"]["parameters"]["header"]>;
|
|
10336
|
+
/** Query parameters for {@link ParchmentClient.catalog.map}. */
|
|
10337
|
+
type CatalogMapQuery = NonNullable<paths["/v1/catalog/map"]["get"]["parameters"]["query"]>;
|
|
10338
|
+
/** Optional handling headers for {@link ParchmentClient.catalog.map}. */
|
|
10339
|
+
type CatalogMapHeaders = NonNullable<paths["/v1/catalog/map"]["get"]["parameters"]["header"]>;
|
|
10340
|
+
/** Lightweight map projection over the caller-visible catalog. */
|
|
10341
|
+
type CatalogMapResponse = components["schemas"]["CatalogMapResponse"];
|
|
9433
10342
|
/** Optional headers for {@link ParchmentClient.catalog.facets}; see {@link CatalogListHeaders}. */
|
|
9434
10343
|
type CatalogFacetsHeaders = NonNullable<paths["/v1/catalog/facets"]["get"]["parameters"]["header"]>;
|
|
9435
10344
|
/** Query parameters for {@link ParchmentClient.catalog.originPriceStats}. */
|
|
@@ -9480,6 +10389,18 @@ type TrackedLotMutation = components["schemas"]["TrackedLotMutationResponse"];
|
|
|
9480
10389
|
type InventoryListQuery = NonNullable<paths["/v1/inventory"]["get"]["parameters"]["query"]>;
|
|
9481
10390
|
/** Request body for {@link ParchmentClient.inventory.create}. */
|
|
9482
10391
|
type InventoryCreateRequest = NonNullable<paths["/v1/inventory"]["post"]["requestBody"]>["content"]["application/json"];
|
|
10392
|
+
/** Stable-operation request for {@link ParchmentClient.inventory.shareGrants.create}. */
|
|
10393
|
+
type InventoryShareGrantCreateRequest = NonNullable<paths["/v1/inventory/share-grants"]["post"]["requestBody"]>["content"]["application/json"];
|
|
10394
|
+
/** The one-time raw-token grant returned by create or same-operation replay. */
|
|
10395
|
+
type InventoryShareGrant = components["schemas"]["InventoryShareGrant"];
|
|
10396
|
+
/** Anonymous capability body for {@link ParchmentClient.inventory.shareGrants.redeem}. */
|
|
10397
|
+
type InventoryShareGrantRedeemRequest = NonNullable<paths["/v1/inventory/share-grants/redeem"]["post"]["requestBody"]>["content"]["application/json"];
|
|
10398
|
+
/** Safe legacy-oriented inventory row returned by capability redemption. */
|
|
10399
|
+
type InventoryShareInventory = components["schemas"]["InventoryShareInventory"];
|
|
10400
|
+
/** Catalog allowlist nested in a shared inventory row. */
|
|
10401
|
+
type InventoryShareCatalog = components["schemas"]["InventoryShareCatalog"];
|
|
10402
|
+
/** Six-field roast summary nested in member/admin shares. */
|
|
10403
|
+
type InventoryShareRoastSummary = components["schemas"]["InventoryShareRoastSummary"];
|
|
9483
10404
|
type CatalogInventoryCreateRequest = components["schemas"]["CatalogInventoryCreateRequest"];
|
|
9484
10405
|
type ManualInventoryCreateRequest = components["schemas"]["ManualInventoryCreateRequest"];
|
|
9485
10406
|
/** Request body for {@link ParchmentClient.inventory.createManualBatch}. */
|
|
@@ -9504,8 +10425,12 @@ type RoastChartDataQuery = NonNullable<paths["/v1/roasts/{id}/chart-data"]["get"
|
|
|
9504
10425
|
type RoastClassificationRequest = NonNullable<paths["/v1/roasts/classify"]["post"]["requestBody"]>["content"]["application/json"];
|
|
9505
10426
|
/** Request body for {@link ParchmentClient.roasts.create}. */
|
|
9506
10427
|
type RoastCreateRequest = NonNullable<paths["/v1/roasts"]["post"]["requestBody"]>["content"]["application/json"];
|
|
10428
|
+
/** Atomic named-batch body for {@link ParchmentClient.roasts.createBatch}. */
|
|
10429
|
+
type RoastBatchCreateRequest = NonNullable<paths["/v1/roasts/batches"]["post"]["requestBody"]>["content"]["application/json"];
|
|
9507
10430
|
/** Request body for {@link ParchmentClient.roasts.update}. */
|
|
9508
10431
|
type RoastUpdateRequest = NonNullable<paths["/v1/roasts/{id}"]["patch"]["requestBody"]>["content"]["application/json"];
|
|
10432
|
+
/** Source-aware live curve body for {@link ParchmentClient.roasts.replaceLiveCurve}. */
|
|
10433
|
+
type RoastLiveCurveRequest = NonNullable<paths["/v1/roasts/{id}/live-curve"]["put"]["requestBody"]>["content"]["application/json"];
|
|
9509
10434
|
/** Request body for {@link ParchmentClient.roasts.import}. */
|
|
9510
10435
|
type RoastImportRequest = NonNullable<paths["/v1/roasts/imports"]["post"]["requestBody"]>["content"]["application/json"];
|
|
9511
10436
|
/** Request body for {@link ParchmentClient.roasts.replaceArtisanImport}. */
|
|
@@ -10327,7 +11252,9 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
|
|
|
10327
11252
|
request: (body: AccountDeletionRequest) => Promise<openapi_fetch.FetchResponse<{
|
|
10328
11253
|
parameters: {
|
|
10329
11254
|
query?: never;
|
|
10330
|
-
header
|
|
11255
|
+
header
|
|
11256
|
+
/** Optional headers for ranking endpoints; see {@link CatalogListHeaders}. */
|
|
11257
|
+
? /** Optional headers for ranking endpoints; see {@link CatalogListHeaders}. */: never;
|
|
10331
11258
|
path?: never;
|
|
10332
11259
|
cookie?: never;
|
|
10333
11260
|
};
|
|
@@ -10654,7 +11581,7 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
|
|
|
10654
11581
|
[name: string]: unknown;
|
|
10655
11582
|
};
|
|
10656
11583
|
content: {
|
|
10657
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
11584
|
+
"application/json": components["schemas"] /** Actionable market value signals. */["ErrorResponse"];
|
|
10658
11585
|
};
|
|
10659
11586
|
};
|
|
10660
11587
|
503: {
|
|
@@ -10710,7 +11637,7 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
|
|
|
10710
11637
|
[name: string]: unknown;
|
|
10711
11638
|
};
|
|
10712
11639
|
content: {
|
|
10713
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
11640
|
+
"application/json": components["schemas"] /** Actionable market value signals. */["ErrorResponse"];
|
|
10714
11641
|
};
|
|
10715
11642
|
};
|
|
10716
11643
|
503: {
|
|
@@ -11484,6 +12411,8 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
|
|
|
11484
12411
|
scoreValueMax?: number | null;
|
|
11485
12412
|
pricePerLbMin?: number | null;
|
|
11486
12413
|
pricePerLbMax?: number | null;
|
|
12414
|
+
elevationMinMasl?: number | null;
|
|
12415
|
+
elevationMaxMasl?: number | null;
|
|
11487
12416
|
processing_base_method?: string;
|
|
11488
12417
|
fermentation_type?: string;
|
|
11489
12418
|
process_additive?: string;
|
|
@@ -11557,12 +12486,151 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
|
|
|
11557
12486
|
scoreValueMax?: number | null;
|
|
11558
12487
|
pricePerLbMin?: number | null;
|
|
11559
12488
|
pricePerLbMax?: number | null;
|
|
12489
|
+
elevationMinMasl?: number | null;
|
|
12490
|
+
elevationMaxMasl?: number | null;
|
|
12491
|
+
processing_base_method?: string;
|
|
12492
|
+
fermentation_type?: string;
|
|
12493
|
+
process_additive?: string;
|
|
12494
|
+
has_additives?: "true" | "false";
|
|
12495
|
+
processing_disclosure_level?: string;
|
|
12496
|
+
processing_confidence_min?: number | null;
|
|
12497
|
+
} | undefined;
|
|
12498
|
+
header: {
|
|
12499
|
+
Prefer?: string;
|
|
12500
|
+
} | undefined;
|
|
12501
|
+
};
|
|
12502
|
+
}, `${string}/${string}`>>;
|
|
12503
|
+
/** Deterministic clusters, canonical place features, and elevation profile. */
|
|
12504
|
+
map: (query?: CatalogMapQuery, headers?: CatalogMapHeaders) => Promise<openapi_fetch.FetchResponse<{
|
|
12505
|
+
parameters: {
|
|
12506
|
+
query?: {
|
|
12507
|
+
stocked?: "true" | "false" | "all";
|
|
12508
|
+
showWholesale?: "true" | "false";
|
|
12509
|
+
wholesaleOnly?: "true" | "false";
|
|
12510
|
+
origin?: string;
|
|
12511
|
+
continent?: string;
|
|
12512
|
+
country?: string | string[];
|
|
12513
|
+
region?: string;
|
|
12514
|
+
source?: string | string[];
|
|
12515
|
+
name?: string;
|
|
12516
|
+
processing?: string;
|
|
12517
|
+
variety?: string;
|
|
12518
|
+
type?: string;
|
|
12519
|
+
grade?: string;
|
|
12520
|
+
appearance?: string;
|
|
12521
|
+
supplier?: string;
|
|
12522
|
+
dryingMethod?: string;
|
|
12523
|
+
flavorKeywords?: string | string[];
|
|
12524
|
+
arrivalDate?: string;
|
|
12525
|
+
stockedDate?: string;
|
|
12526
|
+
stockedDays?: number;
|
|
12527
|
+
coffeeIds?: string;
|
|
12528
|
+
scoreValueMin?: number | null;
|
|
12529
|
+
scoreValueMax?: number | null;
|
|
12530
|
+
pricePerLbMin?: number | null;
|
|
12531
|
+
pricePerLbMax?: number | null;
|
|
12532
|
+
elevationMinMasl?: number | null;
|
|
12533
|
+
elevationMaxMasl?: number | null;
|
|
12534
|
+
processing_base_method?: string;
|
|
12535
|
+
fermentation_type?: string;
|
|
12536
|
+
process_additive?: string;
|
|
12537
|
+
has_additives?: "true" | "false";
|
|
12538
|
+
processing_disclosure_level?: string;
|
|
12539
|
+
processing_confidence_min?: number | null;
|
|
12540
|
+
place_id?: string;
|
|
12541
|
+
bbox?: string;
|
|
12542
|
+
zoom?: number;
|
|
12543
|
+
lens?: "catalog" | "elevation";
|
|
12544
|
+
};
|
|
12545
|
+
header?: {
|
|
12546
|
+
Prefer?: string;
|
|
12547
|
+
};
|
|
12548
|
+
path?: never;
|
|
12549
|
+
cookie?: never;
|
|
12550
|
+
};
|
|
12551
|
+
requestBody?: never;
|
|
12552
|
+
responses: {
|
|
12553
|
+
200: {
|
|
12554
|
+
headers: {
|
|
12555
|
+
[name: string]: unknown;
|
|
12556
|
+
};
|
|
12557
|
+
content: {
|
|
12558
|
+
"application/json": components["schemas"]["CatalogMapResponse"];
|
|
12559
|
+
};
|
|
12560
|
+
};
|
|
12561
|
+
400: {
|
|
12562
|
+
headers: {
|
|
12563
|
+
[name: string]: unknown;
|
|
12564
|
+
};
|
|
12565
|
+
content: {
|
|
12566
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
12567
|
+
};
|
|
12568
|
+
};
|
|
12569
|
+
401: {
|
|
12570
|
+
headers: {
|
|
12571
|
+
[name: string]: unknown;
|
|
12572
|
+
};
|
|
12573
|
+
content: {
|
|
12574
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
12575
|
+
};
|
|
12576
|
+
};
|
|
12577
|
+
403: {
|
|
12578
|
+
headers: {
|
|
12579
|
+
[name: string]: unknown;
|
|
12580
|
+
};
|
|
12581
|
+
content: {
|
|
12582
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
12583
|
+
};
|
|
12584
|
+
};
|
|
12585
|
+
503: {
|
|
12586
|
+
headers: {
|
|
12587
|
+
[name: string]: unknown;
|
|
12588
|
+
};
|
|
12589
|
+
content: {
|
|
12590
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
12591
|
+
};
|
|
12592
|
+
};
|
|
12593
|
+
};
|
|
12594
|
+
}, {
|
|
12595
|
+
params: {
|
|
12596
|
+
query: {
|
|
12597
|
+
stocked?: "true" | "false" | "all";
|
|
12598
|
+
showWholesale?: "true" | "false";
|
|
12599
|
+
wholesaleOnly?: "true" | "false";
|
|
12600
|
+
origin?: string;
|
|
12601
|
+
continent?: string;
|
|
12602
|
+
country?: string | string[];
|
|
12603
|
+
region?: string;
|
|
12604
|
+
source?: string | string[];
|
|
12605
|
+
name?: string;
|
|
12606
|
+
processing?: string;
|
|
12607
|
+
variety?: string;
|
|
12608
|
+
type?: string;
|
|
12609
|
+
grade?: string;
|
|
12610
|
+
appearance?: string;
|
|
12611
|
+
supplier?: string;
|
|
12612
|
+
dryingMethod?: string;
|
|
12613
|
+
flavorKeywords?: string | string[];
|
|
12614
|
+
arrivalDate?: string;
|
|
12615
|
+
stockedDate?: string;
|
|
12616
|
+
stockedDays?: number;
|
|
12617
|
+
coffeeIds?: string;
|
|
12618
|
+
scoreValueMin?: number | null;
|
|
12619
|
+
scoreValueMax?: number | null;
|
|
12620
|
+
pricePerLbMin?: number | null;
|
|
12621
|
+
pricePerLbMax?: number | null;
|
|
12622
|
+
elevationMinMasl?: number | null;
|
|
12623
|
+
elevationMaxMasl?: number | null;
|
|
11560
12624
|
processing_base_method?: string;
|
|
11561
12625
|
fermentation_type?: string;
|
|
11562
12626
|
process_additive?: string;
|
|
11563
12627
|
has_additives?: "true" | "false";
|
|
11564
12628
|
processing_disclosure_level?: string;
|
|
11565
12629
|
processing_confidence_min?: number | null;
|
|
12630
|
+
place_id?: string;
|
|
12631
|
+
bbox?: string;
|
|
12632
|
+
zoom?: number;
|
|
12633
|
+
lens?: "catalog" | "elevation";
|
|
11566
12634
|
} | undefined;
|
|
11567
12635
|
header: {
|
|
11568
12636
|
Prefer?: string;
|
|
@@ -11601,6 +12669,8 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
|
|
|
11601
12669
|
scoreValueMax?: number | null;
|
|
11602
12670
|
pricePerLbMin?: number | null;
|
|
11603
12671
|
pricePerLbMax?: number | null;
|
|
12672
|
+
elevationMinMasl?: number | null;
|
|
12673
|
+
elevationMaxMasl?: number | null;
|
|
11604
12674
|
processing_base_method?: string;
|
|
11605
12675
|
fermentation_type?: string;
|
|
11606
12676
|
process_additive?: string;
|
|
@@ -11669,6 +12739,8 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
|
|
|
11669
12739
|
scoreValueMax?: number | null;
|
|
11670
12740
|
pricePerLbMin?: number | null;
|
|
11671
12741
|
pricePerLbMax?: number | null;
|
|
12742
|
+
elevationMinMasl?: number | null;
|
|
12743
|
+
elevationMaxMasl?: number | null;
|
|
11672
12744
|
processing_base_method?: string;
|
|
11673
12745
|
fermentation_type?: string;
|
|
11674
12746
|
process_additive?: string;
|
|
@@ -13269,9 +14341,142 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
|
|
|
13269
14341
|
} | undefined;
|
|
13270
14342
|
};
|
|
13271
14343
|
}, `${string}/${string}`>>;
|
|
13272
|
-
|
|
13273
|
-
|
|
13274
|
-
|
|
14344
|
+
shareGrants: {
|
|
14345
|
+
/**
|
|
14346
|
+
* Mint or replay a bounded cross-principal inventory capability. The
|
|
14347
|
+
* operation UUID is payload-bound and the raw token is returned only
|
|
14348
|
+
* by this response.
|
|
14349
|
+
*/
|
|
14350
|
+
create: (body: InventoryShareGrantCreateRequest) => Promise<openapi_fetch.FetchResponse<{
|
|
14351
|
+
parameters: {
|
|
14352
|
+
query?: never;
|
|
14353
|
+
header?: never;
|
|
14354
|
+
path?: never;
|
|
14355
|
+
cookie?: never;
|
|
14356
|
+
};
|
|
14357
|
+
requestBody: {
|
|
14358
|
+
content: {
|
|
14359
|
+
"application/json": components["schemas"]["InventoryShareGrantCreateRequest"];
|
|
14360
|
+
};
|
|
14361
|
+
};
|
|
14362
|
+
responses: {
|
|
14363
|
+
201: {
|
|
14364
|
+
headers: {
|
|
14365
|
+
"Cache-Control"?: "no-store";
|
|
14366
|
+
[name: string]: unknown;
|
|
14367
|
+
};
|
|
14368
|
+
content: {
|
|
14369
|
+
"application/json": components["schemas"]["InventoryShareGrantCreateResponse"];
|
|
14370
|
+
};
|
|
14371
|
+
};
|
|
14372
|
+
400: {
|
|
14373
|
+
headers: {
|
|
14374
|
+
[name: string]: unknown;
|
|
14375
|
+
};
|
|
14376
|
+
content: {
|
|
14377
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
14378
|
+
};
|
|
14379
|
+
};
|
|
14380
|
+
401: {
|
|
14381
|
+
headers: {
|
|
14382
|
+
[name: string]: unknown;
|
|
14383
|
+
};
|
|
14384
|
+
content: {
|
|
14385
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
14386
|
+
};
|
|
14387
|
+
};
|
|
14388
|
+
403: {
|
|
14389
|
+
headers: {
|
|
14390
|
+
[name: string]: unknown;
|
|
14391
|
+
};
|
|
14392
|
+
content: {
|
|
14393
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
14394
|
+
};
|
|
14395
|
+
};
|
|
14396
|
+
404: {
|
|
14397
|
+
headers: {
|
|
14398
|
+
[name: string]: unknown;
|
|
14399
|
+
};
|
|
14400
|
+
content: {
|
|
14401
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
14402
|
+
};
|
|
14403
|
+
};
|
|
14404
|
+
409: {
|
|
14405
|
+
headers: {
|
|
14406
|
+
[name: string]: unknown;
|
|
14407
|
+
};
|
|
14408
|
+
content: {
|
|
14409
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
14410
|
+
};
|
|
14411
|
+
};
|
|
14412
|
+
429: {
|
|
14413
|
+
headers: {
|
|
14414
|
+
[name: string]: unknown;
|
|
14415
|
+
};
|
|
14416
|
+
content: {
|
|
14417
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
14418
|
+
};
|
|
14419
|
+
};
|
|
14420
|
+
503: {
|
|
14421
|
+
headers: {
|
|
14422
|
+
[name: string]: unknown;
|
|
14423
|
+
};
|
|
14424
|
+
content: {
|
|
14425
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
14426
|
+
};
|
|
14427
|
+
};
|
|
14428
|
+
};
|
|
14429
|
+
}, {
|
|
14430
|
+
body: {
|
|
14431
|
+
operationId: string;
|
|
14432
|
+
scope: components["schemas"]["InventoryShareGrantScope"];
|
|
14433
|
+
expiresInDays?: number;
|
|
14434
|
+
};
|
|
14435
|
+
}, `${string}/${string}`>>;
|
|
14436
|
+
/**
|
|
14437
|
+
* Redeem a capability supplied in JSON (never in a URL). This helper
|
|
14438
|
+
* does not require the client to be configured with a bearer token.
|
|
14439
|
+
*/
|
|
14440
|
+
redeem: (body: InventoryShareGrantRedeemRequest) => Promise<openapi_fetch.FetchResponse<{
|
|
14441
|
+
parameters: {
|
|
14442
|
+
query?: never;
|
|
14443
|
+
header?: never;
|
|
14444
|
+
path?: never;
|
|
14445
|
+
cookie?: never;
|
|
14446
|
+
};
|
|
14447
|
+
requestBody: {
|
|
14448
|
+
content: {
|
|
14449
|
+
"application/json": components["schemas"]["InventoryShareGrantRedeemRequest"];
|
|
14450
|
+
};
|
|
14451
|
+
};
|
|
14452
|
+
responses: {
|
|
14453
|
+
200: {
|
|
14454
|
+
headers: {
|
|
14455
|
+
"Cache-Control"?: "no-store";
|
|
14456
|
+
[name: string]: unknown;
|
|
14457
|
+
};
|
|
14458
|
+
content: {
|
|
14459
|
+
"application/json": components["schemas"]["InventoryShareGrantRedeemResponse"];
|
|
14460
|
+
};
|
|
14461
|
+
};
|
|
14462
|
+
429: {
|
|
14463
|
+
headers: {
|
|
14464
|
+
[name: string]: unknown;
|
|
14465
|
+
};
|
|
14466
|
+
content: {
|
|
14467
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
14468
|
+
};
|
|
14469
|
+
};
|
|
14470
|
+
};
|
|
14471
|
+
}, {
|
|
14472
|
+
body: {
|
|
14473
|
+
token: string;
|
|
14474
|
+
};
|
|
14475
|
+
}, `${string}/${string}`>>;
|
|
14476
|
+
};
|
|
14477
|
+
/**
|
|
14478
|
+
* Create an owner inventory lot. Requires a session or an owner-bound API
|
|
14479
|
+
* key carrying the exact `inventory:write` scope. Manual coffee creates
|
|
13275
14480
|
* require `idempotencyKey`; catalog-backed creates accept it optionally.
|
|
13276
14481
|
* The same key and payload replay the original result.
|
|
13277
14482
|
*/
|
|
@@ -14663,6 +15868,104 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
|
|
|
14663
15868
|
};
|
|
14664
15869
|
} | undefined;
|
|
14665
15870
|
}, `${string}/${string}`>>;
|
|
15871
|
+
/**
|
|
15872
|
+
* Create every profile in one named batch atomically. The required
|
|
15873
|
+
* payload-bound idempotency key makes transport retries safe.
|
|
15874
|
+
*/
|
|
15875
|
+
createBatch: (body: RoastBatchCreateRequest, idempotencyKey: string) => Promise<openapi_fetch.FetchResponse<{
|
|
15876
|
+
parameters: {
|
|
15877
|
+
query?: never;
|
|
15878
|
+
header: {
|
|
15879
|
+
"idempotency-key": string;
|
|
15880
|
+
};
|
|
15881
|
+
path?: never;
|
|
15882
|
+
cookie?: never;
|
|
15883
|
+
};
|
|
15884
|
+
requestBody: {
|
|
15885
|
+
content: {
|
|
15886
|
+
"application/json": components["schemas"]["RoastBatchCreateRequest"];
|
|
15887
|
+
};
|
|
15888
|
+
};
|
|
15889
|
+
responses: {
|
|
15890
|
+
201: {
|
|
15891
|
+
headers: {
|
|
15892
|
+
[name: string]: unknown;
|
|
15893
|
+
};
|
|
15894
|
+
content: {
|
|
15895
|
+
"application/json": components["schemas"]["RoastBatchMutationResponse"];
|
|
15896
|
+
};
|
|
15897
|
+
};
|
|
15898
|
+
400: {
|
|
15899
|
+
headers: {
|
|
15900
|
+
[name: string]: unknown;
|
|
15901
|
+
};
|
|
15902
|
+
content: {
|
|
15903
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
15904
|
+
};
|
|
15905
|
+
};
|
|
15906
|
+
401: {
|
|
15907
|
+
headers: {
|
|
15908
|
+
[name: string]: unknown;
|
|
15909
|
+
};
|
|
15910
|
+
content: {
|
|
15911
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
15912
|
+
};
|
|
15913
|
+
};
|
|
15914
|
+
403: {
|
|
15915
|
+
headers: {
|
|
15916
|
+
[name: string]: unknown;
|
|
15917
|
+
};
|
|
15918
|
+
content: {
|
|
15919
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
15920
|
+
};
|
|
15921
|
+
};
|
|
15922
|
+
404: {
|
|
15923
|
+
headers: {
|
|
15924
|
+
[name: string]: unknown;
|
|
15925
|
+
};
|
|
15926
|
+
content: {
|
|
15927
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
15928
|
+
};
|
|
15929
|
+
};
|
|
15930
|
+
409: {
|
|
15931
|
+
headers: {
|
|
15932
|
+
[name: string]: unknown;
|
|
15933
|
+
};
|
|
15934
|
+
content: {
|
|
15935
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
15936
|
+
};
|
|
15937
|
+
};
|
|
15938
|
+
429: {
|
|
15939
|
+
headers: {
|
|
15940
|
+
[name: string]: unknown;
|
|
15941
|
+
};
|
|
15942
|
+
content: {
|
|
15943
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
15944
|
+
};
|
|
15945
|
+
};
|
|
15946
|
+
503: {
|
|
15947
|
+
headers: {
|
|
15948
|
+
[name: string]: unknown;
|
|
15949
|
+
};
|
|
15950
|
+
content: {
|
|
15951
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
15952
|
+
};
|
|
15953
|
+
};
|
|
15954
|
+
};
|
|
15955
|
+
}, {
|
|
15956
|
+
body: {
|
|
15957
|
+
batchName: string;
|
|
15958
|
+
roastDate?: string;
|
|
15959
|
+
notes?: string;
|
|
15960
|
+
targets?: string;
|
|
15961
|
+
items: components["schemas"]["RoastBatchItem"][];
|
|
15962
|
+
};
|
|
15963
|
+
params: {
|
|
15964
|
+
header: {
|
|
15965
|
+
"idempotency-key": string;
|
|
15966
|
+
};
|
|
15967
|
+
};
|
|
15968
|
+
}, `${string}/${string}`>>;
|
|
14666
15969
|
/**
|
|
14667
15970
|
* Update one of the caller's own roast profiles. Pass `ifMatch` (the
|
|
14668
15971
|
* row's `last_updated`) to enable optimistic concurrency (409 on mismatch).
|
|
@@ -14874,6 +16177,184 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
|
|
|
14874
16177
|
};
|
|
14875
16178
|
};
|
|
14876
16179
|
}, `${string}/${string}`>>;
|
|
16180
|
+
/** Delete every owner roast carrying one exact batch name. Session-only. */
|
|
16181
|
+
deleteBatch: (batchName: string) => Promise<openapi_fetch.FetchResponse<{
|
|
16182
|
+
parameters: {
|
|
16183
|
+
query?: never;
|
|
16184
|
+
header?: never;
|
|
16185
|
+
path: {
|
|
16186
|
+
batchName: string;
|
|
16187
|
+
};
|
|
16188
|
+
cookie?: never;
|
|
16189
|
+
};
|
|
16190
|
+
requestBody?: never;
|
|
16191
|
+
responses: {
|
|
16192
|
+
200: {
|
|
16193
|
+
headers: {
|
|
16194
|
+
[name: string]: unknown;
|
|
16195
|
+
};
|
|
16196
|
+
content: {
|
|
16197
|
+
"application/json": components["schemas"]["RoastBatchDeleteResponse"];
|
|
16198
|
+
};
|
|
16199
|
+
};
|
|
16200
|
+
400: {
|
|
16201
|
+
headers: {
|
|
16202
|
+
[name: string]: unknown;
|
|
16203
|
+
};
|
|
16204
|
+
content: {
|
|
16205
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
16206
|
+
};
|
|
16207
|
+
};
|
|
16208
|
+
401: {
|
|
16209
|
+
headers: {
|
|
16210
|
+
[name: string]: unknown;
|
|
16211
|
+
};
|
|
16212
|
+
content: {
|
|
16213
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
16214
|
+
};
|
|
16215
|
+
};
|
|
16216
|
+
403: {
|
|
16217
|
+
headers: {
|
|
16218
|
+
[name: string]: unknown;
|
|
16219
|
+
};
|
|
16220
|
+
content: {
|
|
16221
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
16222
|
+
};
|
|
16223
|
+
};
|
|
16224
|
+
404: {
|
|
16225
|
+
headers: {
|
|
16226
|
+
[name: string]: unknown;
|
|
16227
|
+
};
|
|
16228
|
+
content: {
|
|
16229
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
16230
|
+
};
|
|
16231
|
+
};
|
|
16232
|
+
429: {
|
|
16233
|
+
headers: {
|
|
16234
|
+
[name: string]: unknown;
|
|
16235
|
+
};
|
|
16236
|
+
content: {
|
|
16237
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
16238
|
+
};
|
|
16239
|
+
};
|
|
16240
|
+
503: {
|
|
16241
|
+
headers: {
|
|
16242
|
+
[name: string]: unknown;
|
|
16243
|
+
};
|
|
16244
|
+
content: {
|
|
16245
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
16246
|
+
};
|
|
16247
|
+
};
|
|
16248
|
+
};
|
|
16249
|
+
}, {
|
|
16250
|
+
params: {
|
|
16251
|
+
path: {
|
|
16252
|
+
batchName: string;
|
|
16253
|
+
};
|
|
16254
|
+
};
|
|
16255
|
+
}, `${string}/${string}`>>;
|
|
16256
|
+
/**
|
|
16257
|
+
* Replace live temperature samples and all event markers atomically,
|
|
16258
|
+
* while preserving non-live temperatures and deriving milestone fields.
|
|
16259
|
+
*/
|
|
16260
|
+
replaceLiveCurve: (id: number, body: RoastLiveCurveRequest, options?: {
|
|
16261
|
+
ifMatch?: string;
|
|
16262
|
+
}) => Promise<openapi_fetch.FetchResponse<{
|
|
16263
|
+
parameters: {
|
|
16264
|
+
query?: never;
|
|
16265
|
+
header?: {
|
|
16266
|
+
"if-match"?: string;
|
|
16267
|
+
};
|
|
16268
|
+
path: {
|
|
16269
|
+
id: number;
|
|
16270
|
+
};
|
|
16271
|
+
cookie?: never;
|
|
16272
|
+
};
|
|
16273
|
+
requestBody: {
|
|
16274
|
+
content: {
|
|
16275
|
+
"application/json": components["schemas"]["RoastLiveCurveRequest"];
|
|
16276
|
+
};
|
|
16277
|
+
};
|
|
16278
|
+
responses: {
|
|
16279
|
+
200: {
|
|
16280
|
+
headers: {
|
|
16281
|
+
[name: string]: unknown;
|
|
16282
|
+
};
|
|
16283
|
+
content: {
|
|
16284
|
+
"application/json": components["schemas"]["RoastDetailResponse"];
|
|
16285
|
+
};
|
|
16286
|
+
};
|
|
16287
|
+
400: {
|
|
16288
|
+
headers: {
|
|
16289
|
+
[name: string]: unknown;
|
|
16290
|
+
};
|
|
16291
|
+
content: {
|
|
16292
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
16293
|
+
};
|
|
16294
|
+
};
|
|
16295
|
+
401: {
|
|
16296
|
+
headers: {
|
|
16297
|
+
[name: string]: unknown;
|
|
16298
|
+
};
|
|
16299
|
+
content: {
|
|
16300
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
16301
|
+
};
|
|
16302
|
+
};
|
|
16303
|
+
403: {
|
|
16304
|
+
headers: {
|
|
16305
|
+
[name: string]: unknown;
|
|
16306
|
+
};
|
|
16307
|
+
content: {
|
|
16308
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
16309
|
+
};
|
|
16310
|
+
};
|
|
16311
|
+
404: {
|
|
16312
|
+
headers: {
|
|
16313
|
+
[name: string]: unknown;
|
|
16314
|
+
};
|
|
16315
|
+
content: {
|
|
16316
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
16317
|
+
};
|
|
16318
|
+
};
|
|
16319
|
+
409: {
|
|
16320
|
+
headers: {
|
|
16321
|
+
[name: string]: unknown;
|
|
16322
|
+
};
|
|
16323
|
+
content: {
|
|
16324
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
16325
|
+
};
|
|
16326
|
+
};
|
|
16327
|
+
429: {
|
|
16328
|
+
headers: {
|
|
16329
|
+
[name: string]: unknown;
|
|
16330
|
+
};
|
|
16331
|
+
content: {
|
|
16332
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
16333
|
+
};
|
|
16334
|
+
};
|
|
16335
|
+
503: {
|
|
16336
|
+
headers: {
|
|
16337
|
+
[name: string]: unknown;
|
|
16338
|
+
};
|
|
16339
|
+
content: {
|
|
16340
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
16341
|
+
};
|
|
16342
|
+
};
|
|
16343
|
+
};
|
|
16344
|
+
}, {
|
|
16345
|
+
params: {
|
|
16346
|
+
path: {
|
|
16347
|
+
id: number;
|
|
16348
|
+
};
|
|
16349
|
+
header: {
|
|
16350
|
+
"if-match": string;
|
|
16351
|
+
} | undefined;
|
|
16352
|
+
};
|
|
16353
|
+
body: {
|
|
16354
|
+
temperatures: components["schemas"]["RoastTemperatureInput"][];
|
|
16355
|
+
events: components["schemas"]["RoastEventInput"][];
|
|
16356
|
+
};
|
|
16357
|
+
}, `${string}/${string}`>>;
|
|
14877
16358
|
/**
|
|
14878
16359
|
* Create a roast profile from an Artisan `.alog` file against one of the
|
|
14879
16360
|
* caller's green-coffee lots, persisting the imported curve, events, and
|
|
@@ -15703,4 +17184,4 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
|
|
|
15703
17184
|
};
|
|
15704
17185
|
type ParchmentClient = ReturnType<typeof createParchmentClient>;
|
|
15705
17186
|
|
|
15706
|
-
export { type AccountDeletionOperation, type AccountDeletionRequest, type BillingCheckoutCreateRequest, type BillingCheckoutSession, type BillingManualEntitlementsRequest, type BillingSubscriptionMutationRequest, type BillingSubscriptionOperation, type BriefMatchesQuery, type CatalogInventoryBatchLifecycle, type CatalogInventoryBatchReserveRequest, type CatalogInventoryBatchResult, type CatalogItem, type CatalogListQuery, type CatalogProofSummary, type CatalogSimilarQuery, type InventoryCreateRequest, type InventoryUpdateRequest, type MarketOverview, type MarketSignalsQuery, type MetadataIndexQuery, type OwnerApiUsage, type OwnerApiUsageQuery, type ParchmentClient, type ParchmentClientOptions, type PriceIndexQuery, type PriceIndexStatsQuery, type ProfitItem, type ProfitListQuery, type RoastChartDataQuery, type SalesCreateRequest, type SalesListQuery, type SalesUpdateRequest, type SourcingBriefCreateRequest, type TrackedLotMutation, type TrackedLotSummary, type TrackedLotsListQuery, type components, createParchmentClient, type paths };
|
|
17187
|
+
export { type AccountDeletionOperation, type AccountDeletionRequest, type BillingCheckoutCreateRequest, type BillingCheckoutSession, type BillingManualEntitlementsRequest, type BillingSubscriptionMutationRequest, type BillingSubscriptionOperation, type BriefMatchesQuery, type CatalogInventoryBatchLifecycle, type CatalogInventoryBatchReserveRequest, type CatalogInventoryBatchResult, type CatalogItem, type CatalogListQuery, type CatalogMapHeaders, type CatalogMapQuery, type CatalogMapResponse, type CatalogProofSummary, type CatalogSimilarQuery, type InventoryCreateRequest, type InventoryShareCatalog, type InventoryShareGrant, type InventoryShareGrantCreateRequest, type InventoryShareGrantRedeemRequest, type InventoryShareInventory, type InventoryShareRoastSummary, type InventoryUpdateRequest, type MarketOverview, type MarketSignalsQuery, type MetadataIndexQuery, type OwnerApiUsage, type OwnerApiUsageQuery, type ParchmentClient, type ParchmentClientOptions, type PriceIndexQuery, type PriceIndexStatsQuery, type ProfitItem, type ProfitListQuery, type RoastBatchCreateRequest, type RoastChartDataQuery, type RoastLiveCurveRequest, type SalesCreateRequest, type SalesListQuery, type SalesUpdateRequest, type SourcingBriefCreateRequest, type TrackedLotMutation, type TrackedLotSummary, type TrackedLotsListQuery, type components, createParchmentClient, type paths };
|