statuspro-openapi-client 0.1.0__py3-none-any.whl

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 (74) hide show
  1. statuspro_openapi_client-0.1.0.dist-info/METADATA +337 -0
  2. statuspro_openapi_client-0.1.0.dist-info/RECORD +74 -0
  3. statuspro_openapi_client-0.1.0.dist-info/WHEEL +4 -0
  4. statuspro_openapi_client-0.1.0.dist-info/entry_points.txt +3 -0
  5. statuspro_openapi_client-0.1.0.dist-info/licenses/LICENSE +21 -0
  6. statuspro_public_api_client/__init__.py +36 -0
  7. statuspro_public_api_client/_logging.py +33 -0
  8. statuspro_public_api_client/api/__init__.py +1 -0
  9. statuspro_public_api_client/api/orders/__init__.py +1 -0
  10. statuspro_public_api_client/api/orders/add_order_comment.py +215 -0
  11. statuspro_public_api_client/api/orders/bulk_update_order_status.py +194 -0
  12. statuspro_public_api_client/api/orders/get_order.py +188 -0
  13. statuspro_public_api_client/api/orders/get_viable_statuses.py +193 -0
  14. statuspro_public_api_client/api/orders/list_orders.py +366 -0
  15. statuspro_public_api_client/api/orders/lookup_order.py +208 -0
  16. statuspro_public_api_client/api/orders/set_order_due_date.py +215 -0
  17. statuspro_public_api_client/api/orders/update_order_status.py +215 -0
  18. statuspro_public_api_client/api/statuses/__init__.py +1 -0
  19. statuspro_public_api_client/api/statuses/get_statuses.py +161 -0
  20. statuspro_public_api_client/api_wrapper/__init__.py +15 -0
  21. statuspro_public_api_client/api_wrapper/_namespace.py +40 -0
  22. statuspro_public_api_client/api_wrapper/_registry.py +43 -0
  23. statuspro_public_api_client/api_wrapper/_resource.py +116 -0
  24. statuspro_public_api_client/client.py +267 -0
  25. statuspro_public_api_client/client_types.py +54 -0
  26. statuspro_public_api_client/domain/__init__.py +33 -0
  27. statuspro_public_api_client/domain/base.py +117 -0
  28. statuspro_public_api_client/domain/converters.py +71 -0
  29. statuspro_public_api_client/domain/order.py +87 -0
  30. statuspro_public_api_client/domain/status.py +30 -0
  31. statuspro_public_api_client/errors.py +16 -0
  32. statuspro_public_api_client/helpers/__init__.py +21 -0
  33. statuspro_public_api_client/helpers/base.py +26 -0
  34. statuspro_public_api_client/helpers/orders.py +78 -0
  35. statuspro_public_api_client/helpers/statuses.py +37 -0
  36. statuspro_public_api_client/log_setup.py +99 -0
  37. statuspro_public_api_client/models/__init__.py +53 -0
  38. statuspro_public_api_client/models/add_order_comment_request.py +68 -0
  39. statuspro_public_api_client/models/bulk_status_update_request.py +124 -0
  40. statuspro_public_api_client/models/bulk_status_update_response.py +72 -0
  41. statuspro_public_api_client/models/customer.py +74 -0
  42. statuspro_public_api_client/models/error_response.py +58 -0
  43. statuspro_public_api_client/models/history_item.py +171 -0
  44. statuspro_public_api_client/models/list_orders_financial_status_item.py +15 -0
  45. statuspro_public_api_client/models/list_orders_fulfillment_status_item.py +11 -0
  46. statuspro_public_api_client/models/locale_translation.py +66 -0
  47. statuspro_public_api_client/models/mail_log.py +82 -0
  48. statuspro_public_api_client/models/message_response.py +58 -0
  49. statuspro_public_api_client/models/order_list_item.py +180 -0
  50. statuspro_public_api_client/models/order_list_meta.py +120 -0
  51. statuspro_public_api_client/models/order_list_response.py +81 -0
  52. statuspro_public_api_client/models/order_response.py +220 -0
  53. statuspro_public_api_client/models/progress_timeline_item.py +93 -0
  54. statuspro_public_api_client/models/set_due_date_request.py +95 -0
  55. statuspro_public_api_client/models/status.py +190 -0
  56. statuspro_public_api_client/models/status_definition.py +82 -0
  57. statuspro_public_api_client/models/status_translations.py +62 -0
  58. statuspro_public_api_client/models/update_order_status_request.py +92 -0
  59. statuspro_public_api_client/models/validation_error_response.py +81 -0
  60. statuspro_public_api_client/models/validation_error_response_errors.py +54 -0
  61. statuspro_public_api_client/models/viable_status.py +82 -0
  62. statuspro_public_api_client/models_pydantic/__init__.py +122 -0
  63. statuspro_public_api_client/models_pydantic/_auto_registry.py +115 -0
  64. statuspro_public_api_client/models_pydantic/_base.py +349 -0
  65. statuspro_public_api_client/models_pydantic/_generated/__init__.py +53 -0
  66. statuspro_public_api_client/models_pydantic/_generated/errors.py +24 -0
  67. statuspro_public_api_client/models_pydantic/_generated/orders.py +136 -0
  68. statuspro_public_api_client/models_pydantic/_generated/statuses.py +25 -0
  69. statuspro_public_api_client/models_pydantic/_registry.py +171 -0
  70. statuspro_public_api_client/models_pydantic/converters.py +184 -0
  71. statuspro_public_api_client/py.typed +1 -0
  72. statuspro_public_api_client/statuspro-openapi.yaml +859 -0
  73. statuspro_public_api_client/statuspro_client.py +1156 -0
  74. statuspro_public_api_client/utils.py +290 -0
@@ -0,0 +1,859 @@
1
+ openapi: 3.1.0
2
+ info:
3
+ title: StatusPro API
4
+ description: Use this API to retrieve and update the status of an order.
5
+ version: 1.0.0
6
+ license:
7
+ name: Proprietary
8
+ identifier: LicenseRef-Proprietary
9
+ servers:
10
+ - url: https://app.orderstatuspro.com/api/v1
11
+ description: Production
12
+ security:
13
+ - bearerAuth: []
14
+ tags:
15
+ - name: Orders
16
+ description: Order retrieval, status updates, comments, due dates, and lookup operations.
17
+ - name: Statuses
18
+ description: Status definition and viable-status listing operations.
19
+ paths:
20
+ /orders/{order}/status:
21
+ post:
22
+ tags:
23
+ - Orders
24
+ summary: Update an order status
25
+ description: Limited to 60 requests per minute.
26
+ operationId: updateOrderStatus
27
+ parameters:
28
+ - name: order
29
+ in: path
30
+ required: true
31
+ description: The ID of the order.
32
+ schema:
33
+ type: integer
34
+ requestBody:
35
+ required: true
36
+ content:
37
+ application/json:
38
+ schema:
39
+ $ref: '#/components/schemas/UpdateOrderStatusRequest'
40
+ example:
41
+ status_code: st000002
42
+ comment: This is a comment
43
+ public: true
44
+ email_customer: true
45
+ email_additional: true
46
+ responses:
47
+ '200':
48
+ description: Success
49
+ content:
50
+ application/json:
51
+ schema:
52
+ $ref: '#/components/schemas/MessageResponse'
53
+ example:
54
+ message: Order status updated successfully!
55
+ '400':
56
+ $ref: '#/components/responses/BadRequest'
57
+ '404':
58
+ $ref: '#/components/responses/NotFound'
59
+ '422':
60
+ $ref: '#/components/responses/UnprocessableEntity'
61
+ '429':
62
+ $ref: '#/components/responses/TooManyRequests'
63
+ '500':
64
+ $ref: '#/components/responses/InternalServerError'
65
+ /orders/bulk-status:
66
+ post:
67
+ tags:
68
+ - Orders
69
+ summary: Queue a bulk status update for up to 50 orders
70
+ description: Limited to 5 requests per minute.
71
+ operationId: bulkUpdateOrderStatus
72
+ requestBody:
73
+ required: true
74
+ content:
75
+ application/json:
76
+ schema:
77
+ $ref: '#/components/schemas/BulkStatusUpdateRequest'
78
+ example:
79
+ order_ids:
80
+ - 6110375248088
81
+ - 6110375248089
82
+ status_code: st000003
83
+ comment: Batch moved to shipped
84
+ public: false
85
+ email_customer: true
86
+ email_additional: false
87
+ responses:
88
+ '202':
89
+ description: Accepted
90
+ content:
91
+ application/json:
92
+ schema:
93
+ $ref: '#/components/schemas/BulkStatusUpdateResponse'
94
+ example:
95
+ message: Bulk status update queued.
96
+ count: 2
97
+ limit: 50
98
+ '400':
99
+ $ref: '#/components/responses/BadRequest'
100
+ '422':
101
+ $ref: '#/components/responses/UnprocessableEntity'
102
+ '429':
103
+ $ref: '#/components/responses/TooManyRequests'
104
+ '500':
105
+ $ref: '#/components/responses/InternalServerError'
106
+ /orders/{order}/comment:
107
+ post:
108
+ tags:
109
+ - Orders
110
+ summary: Add a comment to the order
111
+ description: Limited to 60 requests per minute.
112
+ operationId: addOrderComment
113
+ parameters:
114
+ - name: order
115
+ in: path
116
+ required: true
117
+ description: The ID of the order.
118
+ schema:
119
+ type: integer
120
+ requestBody:
121
+ required: true
122
+ content:
123
+ application/json:
124
+ schema:
125
+ $ref: '#/components/schemas/AddOrderCommentRequest'
126
+ example:
127
+ comment: This is a comment
128
+ public: true
129
+ responses:
130
+ '200':
131
+ description: Success
132
+ content:
133
+ application/json:
134
+ schema:
135
+ $ref: '#/components/schemas/MessageResponse'
136
+ example:
137
+ message: Order comment added!
138
+ '400':
139
+ $ref: '#/components/responses/BadRequest'
140
+ '404':
141
+ $ref: '#/components/responses/NotFound'
142
+ '422':
143
+ $ref: '#/components/responses/UnprocessableEntity'
144
+ '429':
145
+ $ref: '#/components/responses/TooManyRequests'
146
+ '500':
147
+ $ref: '#/components/responses/InternalServerError'
148
+ /orders/{order}/due-date:
149
+ post:
150
+ tags:
151
+ - Orders
152
+ summary: Set a due date on the order
153
+ description: Limited to 60 requests per minute.
154
+ operationId: setOrderDueDate
155
+ parameters:
156
+ - name: order
157
+ in: path
158
+ required: true
159
+ description: The ID of the order.
160
+ schema:
161
+ type: integer
162
+ requestBody:
163
+ required: true
164
+ content:
165
+ application/json:
166
+ schema:
167
+ $ref: '#/components/schemas/SetDueDateRequest'
168
+ example:
169
+ due_date: '2026-02-10'
170
+ due_date_to: '2026-02-12'
171
+ responses:
172
+ '200':
173
+ description: Success
174
+ content:
175
+ application/json:
176
+ schema:
177
+ $ref: '#/components/schemas/MessageResponse'
178
+ example:
179
+ message: Order due date set!
180
+ '400':
181
+ $ref: '#/components/responses/BadRequest'
182
+ '404':
183
+ $ref: '#/components/responses/NotFound'
184
+ '422':
185
+ $ref: '#/components/responses/UnprocessableEntity'
186
+ '429':
187
+ $ref: '#/components/responses/TooManyRequests'
188
+ '500':
189
+ $ref: '#/components/responses/InternalServerError'
190
+ /orders:
191
+ get:
192
+ tags:
193
+ - Orders
194
+ summary: Retrieve a paginated list of orders
195
+ description: Limited to 60 requests per minute.
196
+ operationId: listOrders
197
+ parameters:
198
+ - name: search
199
+ in: query
200
+ required: false
201
+ description: Filter by partial match against order name, order number, customer name, or customer email.
202
+ schema:
203
+ type: string
204
+ - name: status_code
205
+ in: query
206
+ required: false
207
+ description: Filter by a single status code like st000002.
208
+ schema:
209
+ type: string
210
+ minLength: 8
211
+ maxLength: 8
212
+ - name: tags[]
213
+ in: query
214
+ required: false
215
+ description: Filter by tags that must all be present using repeated query params such as tags[]=commercial&tags[]=commercial-lease.
216
+ schema:
217
+ type: array
218
+ items:
219
+ type: string
220
+ style: form
221
+ explode: true
222
+ examples:
223
+ allTags:
224
+ summary: Only orders containing every tag
225
+ value:
226
+ - commercial
227
+ - commercial-lease
228
+ - name: tags_any[]
229
+ in: query
230
+ required: false
231
+ description: Filter by tags where any listed tag may be present using repeated query params such as tags_any[]=commercial&tags_any[]=commercial-flooring.
232
+ schema:
233
+ type: array
234
+ items:
235
+ type: string
236
+ style: form
237
+ explode: true
238
+ examples:
239
+ anyTags:
240
+ summary: Orders matching any listed tag
241
+ value:
242
+ - commercial-flooring
243
+ - commercial-rental
244
+ - name: financial_status[]
245
+ in: query
246
+ required: false
247
+ description: 'Filter by one or more financial statuses using repeated query params such as financial_status[]=partially_paid&financial_status[]=pending.
248
+ Accepted values: paid, partially_paid, partially_refunded, refunded, voided, pending, authorized, unpaid.'
249
+ schema:
250
+ type: array
251
+ items:
252
+ type: string
253
+ enum:
254
+ - paid
255
+ - partially_paid
256
+ - partially_refunded
257
+ - refunded
258
+ - voided
259
+ - pending
260
+ - authorized
261
+ - unpaid
262
+ style: form
263
+ explode: true
264
+ examples:
265
+ dueStatuses:
266
+ summary: Capture all due orders
267
+ value:
268
+ - partially_paid
269
+ - pending
270
+ - unpaid
271
+ - name: fulfillment_status[]
272
+ in: query
273
+ required: false
274
+ description: 'Filter by one or more fulfillment statuses using repeated query params such as fulfillment_status[]=fulfilled.
275
+ Accepted values: unfulfilled, partial, restocked, fulfilled.'
276
+ schema:
277
+ type: array
278
+ items:
279
+ type: string
280
+ enum:
281
+ - unfulfilled
282
+ - partial
283
+ - restocked
284
+ - fulfilled
285
+ style: form
286
+ explode: true
287
+ examples:
288
+ fulfilledOnly:
289
+ summary: Only fulfilled orders
290
+ value:
291
+ - fulfilled
292
+ - name: exclude_cancelled
293
+ in: query
294
+ required: false
295
+ description: When true, excludes orders where cancelled_at is set.
296
+ schema:
297
+ type: boolean
298
+ example: true
299
+ - name: due_date_from
300
+ in: query
301
+ required: false
302
+ description: Filter to orders with a due date on or after this `YYYY-MM-DD` date.
303
+ schema:
304
+ type: string
305
+ format: date
306
+ - name: due_date_to
307
+ in: query
308
+ required: false
309
+ description: Filter to orders with a due date on or before this `YYYY-MM-DD` date.
310
+ schema:
311
+ type: string
312
+ format: date
313
+ - name: per_page
314
+ in: query
315
+ required: false
316
+ description: Number of orders to return per page. Defaults to 15. Maximum 100.
317
+ schema:
318
+ type: integer
319
+ minimum: 1
320
+ maximum: 100
321
+ default: 15
322
+ responses:
323
+ '200':
324
+ description: Success
325
+ content:
326
+ application/json:
327
+ schema:
328
+ $ref: '#/components/schemas/OrderListResponse'
329
+ example:
330
+ data:
331
+ - id: 6110375248088
332
+ name: '#1188'
333
+ order_number: '1188'
334
+ customer:
335
+ name: Jon Smith
336
+ email: jon@example.com
337
+ locale: en
338
+ status:
339
+ is_set: true
340
+ code: st000002
341
+ name: In Production
342
+ public_name: Crafting With Care
343
+ description: Order being handcrafted in the workshop
344
+ color: '#F59E0B'
345
+ public: true
346
+ set_at: '2026-03-12T10:14:00+00:00'
347
+ auto_change_at: null
348
+ due_date: '2026-03-15T00:00:00+00:00'
349
+ due_date_to: '2026-03-17T00:00:00+00:00'
350
+ history_count: 4
351
+ meta:
352
+ current_page: 1
353
+ from: 1
354
+ last_page: 1
355
+ per_page: 15
356
+ to: 1
357
+ total: 1
358
+ '400':
359
+ $ref: '#/components/responses/BadRequest'
360
+ '422':
361
+ $ref: '#/components/responses/UnprocessableEntity'
362
+ '429':
363
+ $ref: '#/components/responses/TooManyRequests'
364
+ '500':
365
+ $ref: '#/components/responses/InternalServerError'
366
+ /orders/{order}:
367
+ get:
368
+ tags:
369
+ - Orders
370
+ summary: Retrieve details of a specific order
371
+ description: Limited to 60 requests per minute.
372
+ operationId: getOrder
373
+ parameters:
374
+ - name: order
375
+ in: path
376
+ required: true
377
+ description: The ID of the order.
378
+ schema:
379
+ type: integer
380
+ responses:
381
+ '200':
382
+ description: Success
383
+ content:
384
+ application/json:
385
+ schema:
386
+ $ref: '#/components/schemas/OrderResponse'
387
+ '400':
388
+ $ref: '#/components/responses/BadRequest'
389
+ '404':
390
+ $ref: '#/components/responses/NotFound'
391
+ '429':
392
+ $ref: '#/components/responses/TooManyRequests'
393
+ '500':
394
+ $ref: '#/components/responses/InternalServerError'
395
+ /statuses:
396
+ get:
397
+ tags:
398
+ - Statuses
399
+ summary: Get all defined statuses for your account
400
+ description: Limited to 60 requests per minute.
401
+ operationId: getStatuses
402
+ responses:
403
+ '200':
404
+ description: Success
405
+ content:
406
+ application/json:
407
+ schema:
408
+ type: array
409
+ items:
410
+ $ref: '#/components/schemas/StatusDefinition'
411
+ example:
412
+ - name: Order Received
413
+ description: We have received your order.
414
+ code: st000001
415
+ color: gray
416
+ - name: In Production
417
+ description: Your order is being handcrafted in the workshop.
418
+ code: st000002
419
+ color: pink
420
+ - name: Shipped
421
+ description: Order has been shipped and is on its way.
422
+ code: st000003
423
+ color: green
424
+ '400':
425
+ $ref: '#/components/responses/BadRequest'
426
+ '429':
427
+ $ref: '#/components/responses/TooManyRequests'
428
+ '500':
429
+ $ref: '#/components/responses/InternalServerError'
430
+ /orders/lookup:
431
+ get:
432
+ tags:
433
+ - Orders
434
+ summary: Retrieve an order by order number and customer email
435
+ description: Limited to 60 requests per minute.
436
+ operationId: lookupOrder
437
+ parameters:
438
+ - name: number
439
+ in: query
440
+ required: true
441
+ description: 'Order number or name (for example: 1188 or #1188).'
442
+ schema:
443
+ type: string
444
+ - name: email
445
+ in: query
446
+ required: true
447
+ description: Customer email address.
448
+ schema:
449
+ type: string
450
+ format: email
451
+ responses:
452
+ '200':
453
+ description: Success
454
+ content:
455
+ application/json:
456
+ schema:
457
+ $ref: '#/components/schemas/OrderResponse'
458
+ '400':
459
+ $ref: '#/components/responses/BadRequest'
460
+ '404':
461
+ $ref: '#/components/responses/NotFound'
462
+ '429':
463
+ $ref: '#/components/responses/TooManyRequests'
464
+ '500':
465
+ $ref: '#/components/responses/InternalServerError'
466
+ /orders/{order}/viable-statuses:
467
+ get:
468
+ tags:
469
+ - Orders
470
+ - Statuses
471
+ summary: Get viable statuses for an order
472
+ description: Limited to 60 requests per minute.
473
+ operationId: getViableStatuses
474
+ parameters:
475
+ - name: order
476
+ in: path
477
+ required: true
478
+ description: The ID of the order.
479
+ schema:
480
+ type: integer
481
+ responses:
482
+ '200':
483
+ description: Success
484
+ content:
485
+ application/json:
486
+ schema:
487
+ type: array
488
+ items:
489
+ $ref: '#/components/schemas/ViableStatus'
490
+ example:
491
+ - code: st000002
492
+ name: In Production
493
+ description: Order being handcrafted in the workshop
494
+ color: pink
495
+ - code: st000003
496
+ name: Shipped
497
+ description: Safely packed and dispatched
498
+ color: green
499
+ '400':
500
+ $ref: '#/components/responses/BadRequest'
501
+ '404':
502
+ $ref: '#/components/responses/NotFound'
503
+ '429':
504
+ $ref: '#/components/responses/TooManyRequests'
505
+ '500':
506
+ $ref: '#/components/responses/InternalServerError'
507
+ components:
508
+ securitySchemes:
509
+ bearerAuth:
510
+ type: http
511
+ scheme: bearer
512
+ bearerFormat: API Key
513
+ responses:
514
+ BadRequest:
515
+ description: Bad Request. The request was malformed or missing required headers.
516
+ content:
517
+ application/json:
518
+ schema:
519
+ $ref: '#/components/schemas/ErrorResponse'
520
+ NotFound:
521
+ description: Not Found. The requested resource does not exist.
522
+ content:
523
+ application/json:
524
+ schema:
525
+ $ref: '#/components/schemas/ErrorResponse'
526
+ UnprocessableEntity:
527
+ description: Unprocessable Entity. The request was well-formed but contains invalid data or failed validation.
528
+ content:
529
+ application/json:
530
+ schema:
531
+ $ref: '#/components/schemas/ValidationErrorResponse'
532
+ TooManyRequests:
533
+ description: Too Many Requests. The request was rate limited. Wait before retrying.
534
+ content:
535
+ application/json:
536
+ schema:
537
+ $ref: '#/components/schemas/ErrorResponse'
538
+ InternalServerError:
539
+ description: Internal Server Error. An unexpected error occurred.
540
+ content:
541
+ application/json:
542
+ schema:
543
+ $ref: '#/components/schemas/ErrorResponse'
544
+ schemas:
545
+ ErrorResponse:
546
+ type: object
547
+ properties:
548
+ message:
549
+ type: string
550
+ ValidationErrorResponse:
551
+ type: object
552
+ properties:
553
+ message:
554
+ type: string
555
+ errors:
556
+ type: object
557
+ additionalProperties:
558
+ type: array
559
+ items:
560
+ type: string
561
+ MessageResponse:
562
+ type: object
563
+ required:
564
+ - message
565
+ properties:
566
+ message:
567
+ type: string
568
+ UpdateOrderStatusRequest:
569
+ type: object
570
+ required:
571
+ - status_code
572
+ properties:
573
+ status_code:
574
+ type: string
575
+ comment:
576
+ type: string
577
+ public:
578
+ type: boolean
579
+ default: false
580
+ email_customer:
581
+ type: boolean
582
+ default: true
583
+ email_additional:
584
+ type: boolean
585
+ default: true
586
+ BulkStatusUpdateRequest:
587
+ type: object
588
+ required:
589
+ - order_ids
590
+ - status_code
591
+ properties:
592
+ order_ids:
593
+ type: array
594
+ minItems: 1
595
+ maxItems: 50
596
+ items:
597
+ type: integer
598
+ status_code:
599
+ type: string
600
+ comment:
601
+ type: string
602
+ public:
603
+ type: boolean
604
+ default: false
605
+ email_customer:
606
+ type: boolean
607
+ default: true
608
+ email_additional:
609
+ type: boolean
610
+ default: true
611
+ send_at:
612
+ type: integer
613
+ description: Unix timestamp to schedule status emails.
614
+ due_date:
615
+ type: string
616
+ format: date
617
+ BulkStatusUpdateResponse:
618
+ type: object
619
+ required:
620
+ - message
621
+ - count
622
+ - limit
623
+ properties:
624
+ message:
625
+ type: string
626
+ count:
627
+ type: integer
628
+ limit:
629
+ type: integer
630
+ AddOrderCommentRequest:
631
+ type: object
632
+ required:
633
+ - comment
634
+ properties:
635
+ comment:
636
+ type: string
637
+ minLength: 3
638
+ maxLength: 1000
639
+ public:
640
+ type: boolean
641
+ default: false
642
+ SetDueDateRequest:
643
+ type: object
644
+ required:
645
+ - due_date
646
+ properties:
647
+ due_date:
648
+ type:
649
+ - string
650
+ - 'null'
651
+ format: date
652
+ due_date_to:
653
+ type: string
654
+ format: date
655
+ Customer:
656
+ type: object
657
+ properties:
658
+ name:
659
+ type: string
660
+ email:
661
+ type: string
662
+ format: email
663
+ locale:
664
+ type: string
665
+ LocaleTranslation:
666
+ type: object
667
+ properties:
668
+ name:
669
+ type: string
670
+ description:
671
+ type: string
672
+ Status:
673
+ type: object
674
+ properties:
675
+ is_set:
676
+ type: boolean
677
+ code:
678
+ type: string
679
+ name:
680
+ type: string
681
+ public_name:
682
+ type:
683
+ - string
684
+ - 'null'
685
+ description:
686
+ type: string
687
+ public:
688
+ type: boolean
689
+ set_at:
690
+ type:
691
+ - string
692
+ - 'null'
693
+ format: date-time
694
+ auto_change_at:
695
+ type:
696
+ - string
697
+ - 'null'
698
+ format: date-time
699
+ translations:
700
+ type: object
701
+ additionalProperties:
702
+ $ref: '#/components/schemas/LocaleTranslation'
703
+ MailLog:
704
+ type: object
705
+ properties:
706
+ from:
707
+ type: string
708
+ format: email
709
+ to:
710
+ type: string
711
+ format: email
712
+ subject:
713
+ type: string
714
+ delivery_status:
715
+ type: string
716
+ HistoryItem:
717
+ type: object
718
+ properties:
719
+ event:
720
+ type: string
721
+ status:
722
+ anyOf:
723
+ - $ref: '#/components/schemas/Status'
724
+ - type: 'null'
725
+ comment:
726
+ type:
727
+ - string
728
+ - 'null'
729
+ comment_is_public:
730
+ type: boolean
731
+ created_at:
732
+ type: string
733
+ format: date-time
734
+ mail_log:
735
+ anyOf:
736
+ - $ref: '#/components/schemas/MailLog'
737
+ - type: 'null'
738
+ ProgressTimelineItem:
739
+ type: object
740
+ properties:
741
+ name:
742
+ type: string
743
+ description:
744
+ type: string
745
+ progress:
746
+ type: string
747
+ timestamp:
748
+ type:
749
+ - string
750
+ - 'null'
751
+ OrderResponse:
752
+ type: object
753
+ properties:
754
+ id:
755
+ type: integer
756
+ name:
757
+ type: string
758
+ order_number:
759
+ type: string
760
+ customer:
761
+ $ref: '#/components/schemas/Customer'
762
+ status:
763
+ $ref: '#/components/schemas/Status'
764
+ history:
765
+ type: array
766
+ items:
767
+ $ref: '#/components/schemas/HistoryItem'
768
+ public_progress_timeline:
769
+ type: array
770
+ items:
771
+ $ref: '#/components/schemas/ProgressTimelineItem'
772
+ due_date:
773
+ type:
774
+ - string
775
+ - 'null'
776
+ format: date-time
777
+ due_date_to:
778
+ type:
779
+ - string
780
+ - 'null'
781
+ format: date-time
782
+ OrderListItem:
783
+ type: object
784
+ properties:
785
+ id:
786
+ type: integer
787
+ name:
788
+ type: string
789
+ order_number:
790
+ type: string
791
+ customer:
792
+ $ref: '#/components/schemas/Customer'
793
+ status:
794
+ $ref: '#/components/schemas/Status'
795
+ due_date:
796
+ type:
797
+ - string
798
+ - 'null'
799
+ format: date-time
800
+ due_date_to:
801
+ type:
802
+ - string
803
+ - 'null'
804
+ format: date-time
805
+ history_count:
806
+ type: integer
807
+ OrderListMeta:
808
+ type: object
809
+ properties:
810
+ current_page:
811
+ type: integer
812
+ from:
813
+ type:
814
+ - integer
815
+ - 'null'
816
+ last_page:
817
+ type: integer
818
+ per_page:
819
+ type: integer
820
+ to:
821
+ type:
822
+ - integer
823
+ - 'null'
824
+ total:
825
+ type: integer
826
+ OrderListResponse:
827
+ type: object
828
+ required:
829
+ - data
830
+ - meta
831
+ properties:
832
+ data:
833
+ type: array
834
+ items:
835
+ $ref: '#/components/schemas/OrderListItem'
836
+ meta:
837
+ $ref: '#/components/schemas/OrderListMeta'
838
+ StatusDefinition:
839
+ type: object
840
+ properties:
841
+ name:
842
+ type: string
843
+ description:
844
+ type: string
845
+ code:
846
+ type: string
847
+ color:
848
+ type: string
849
+ ViableStatus:
850
+ type: object
851
+ properties:
852
+ code:
853
+ type: string
854
+ name:
855
+ type: string
856
+ description:
857
+ type: string
858
+ color:
859
+ type: string