-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path__init__.py
More file actions
251 lines (241 loc) · 28.3 KB
/
__init__.py
File metadata and controls
251 lines (241 loc) · 28.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
# coding: utf-8
# flake8: noqa
"""
T3 API
## WHAT IS THIS? This API is part of the [Track & Trace Tools](https://trackandtrace.tools) platform. The API allows you to programmatically access all your Metrc data that is available on metrc.com It is not related to the Metrc 3rd party API, does not use Metrc API keys, and is not affiliated with Metrc. If you're looking for where to get started, check out the [T3 Wiki API Getting Started guide](https://github.com/classvsoftware/t3-wiki/wiki/T3-API-:-Getting-Started). The T3 API is subject to the [Track & Trace Tools Terms of Use](https://www.trackandtrace.tools/terms-of-use). ## FREE API ACCESS (LIMITED) The T3 API features a limited number of free endpoints available to anyone with a Metrc login. These can be found in the [Free](#/Free) section. ## FULL API ACCESS There are two ways to get premium access to the T3 API: - **Subscribe to [T3+](https://trackandtrace.tools/plus)** *OR* - **Use a provided T3 API key (consulting clients only. [Reach out](mailto:[email protected]) for more information.)** ## AUTHENTICATION The T3 API uses JSON Web Tokens (JWT) for request authentication. To obtain a JWT, use one of the following: - **metrc.com login credentials:** - **hostname**: (The website you use to login to metrc: `ca.metrc.com`, `or.metrc.com`, etc.) - **username**: Your Metrc username - **password**: Your Metrc password - **otp**: A one-time password used for 2-factor authentication (Only applies to Michigan users) *OR* - **T3 API key** Refer to the **Authentication** endpoints below for more information. ## SECRET KEYS Some endpoints support the use of secret key authentication. This allows you to use simple URLs to access your Metrc data. ### Usage Pass the `secretKey` returned from the request in the query string: `?secretKey=<yourSecretKeyGoesHere>` ### Generating Secret Keys Refer to the [/v2/auth/secretkey](#/Authentication/post_v2_auth_secretkey) endpoint for information on generating secret keys. [Secret Key Generation Tool](/v2/pages/secret-key) [Sync Link Creation Tool](/v2/pages/sync-link) ## SECURITY The T3 API interacts with Metrc in a similar manner to the [Track & Trace Tools](https://chromewebstore.google.com/detail/track-trace-tools/dfljickgkbfaoiifheibjpejloipegcb) Chrome extension. The API login process is designed with a strong emphasis on security. Your Metrc login details are never stored, and the API backend employs robust encryption methods to protect your temporary Metrc session. ### Key Security Measures: - **Single-Use Login Credentials:** - The T3 API uses your login credentials only once to authenticate with Metrc. - After the Metrc login process is complete, your login credentials are immediately deleted from the system. - You are required to enter your login credentials each time you access the T3 API, ensuring that your credentials are never stored. - **Secure Temporary Session Storage:** - The T3 API securely encrypts your logged-in Metrc session data. This data is only used when you make requests through the T3 API. - The encrypted session data is automatically deleted after 24 hours, ensuring that your session information is not retained longer than necessary. For any questions or concerns, please contact [[email protected]](mailto:[email protected]). ## PRIVACY The T3 API privacy model follows the same principles as the [Track & Trace Tools](https://chromewebstore.google.com/detail/track-trace-tools/dfljickgkbfaoiifheibjpejloipegcb) Chrome extension. The T3 API functions solely as a connector between you and Metrc, ensuring your privacy is protected. - **No Data Collection:** - The T3 API does not record, save, harvest, inspect, or analyze any of your data. - All data interactions are ephemeral and occur in real-time, without permanent storage. - **Secure and Private Access:** - Your data is never shared with third parties. Unauthorized access to your login information or data is strictly prohibited. - T3 employs industry-standard encryption protocols to safeguard all communications between the T3 API and Metrc. - **User-Controlled Sessions:** - Your Metrc login credentials and session are used exclusively by you. The T3 API will never initiate Metrc traffic without your explicit authorization. - **Compliance and Best Practices:** - T3's privacy practices are aligned with applicable data protection regulations, including GDPR and CCPA, ensuring that your data rights are respected. The T3 API is subject to the [Track & Trace Tools Privacy Policy](https://trackandtrace.tools/privacy-policy). For any privacy-related inquiries, please contact [[email protected]](mailto:[email protected]). ## PERMISSIONS Each Metrc account has different permissions based on several factors: - Permissions granted by your Metrc admin - Class of license (manufacturing, cultivation, etc) - US state the license operates in Use the Permissions endpoints to determine which actions are available to you. ## LICENSES View a list of all licenses available to the current user: `GET https://api.trackandtrace.tools/v2/licenses` Only one license can be queried per request. Specify the target license with the required `licenseNumber` query parameter: `GET https://api.trackandtrace.tools/v2/items?licenseNumber=LIC-00001` ## RATE LIMITING The API has a global default request rate limit of 600 requests/minute/user. Some routes have lower rate limits. ## COLLECTIONS All data is queried as collections. There are no individual object endpoints. For example, you cannot find an individual object using an endpoint like `/plants/{plantId}`, individual objects must be queried by filtering the collection endpoint `/plants` for the exact `plantId`. Collections are paginated, and can be filtered and sorted by individual object fields. The JSON response object includes the following properties: - `data`: An array of objects, or any empty array - `page`: The requested page index - `pageSize`: The requested page size - `total`: The total number of items in this collection. Use this to determine how many pages are required to return the entire collection. ### COLLECTION PAGINATION Metrc data collections are queried as pages. Use the `page` and `pageSize` query parameters to indicate which page should be returned. By default, `page=1` and `pageSize=100`. Example: Return page 3 with a page size of 500: `GET https://api.trackandtrace.tools/v2/items?licenseNumber=LIC-00001&page=3&pageSize=500` ### COLLECTION SORTING Metrc data collections can be sorted. Use the `sort` query parameter to indicate how the collection should be sorted. Example: Sort items by `name` descending: `GET https://api.trackandtrace.tools/v2/items?licenseNumber=LIC-00001&sort=name:desc` ### COLLECTION FILTERING Metrc data collections can be filtered. Use one or more `filter` query parameters to indicate how filters should be applied. Example: Filter items that contain \"flower\" in the `name` field: `GET https://api.trackandtrace.tools/v2/items?licenseNumber=LIC-00001&filter:name__contains=flower` Multiple filters can be applied, and you can specify the logical operator (defaulting to \"and\"): Example: Filter items that contain \"flower\" in the `name` field OR \"kush\" in the `name` field: `GET https://api.trackandtrace.tools/v2/items?licenseNumber=LIC-00001&filter=name__contains:flower&filter=name__contains:kush&filterLogic=or` #### FILTERING STRINGS String fields support the following filter operators: - `contains` - `doesnotcontain` - `eq` - `neq` - `startswith` - `endswith` Example `?filter=name__contains:flower` **Note: all string filters are case-insensitive** #### FILTERING DATETIMES Datetime fields support the following filter operators: - `lt` - `lte` - `eq` - `neq` - `gt` - `gte` Example: `?filter=harvestedDate__gte:2024-07-17T20:26:07.117Z` **Note: all datetime filters use ISO8601 datetimes** #### FILTERING BOOLEANS Boolean fields support the following filter operators: - `eq` Example: `?filter=finished__eq:true` ### LOADING FULL COLLECTIONS `pageSize` is limited to 500 in most cases, so you may need to load multiple pages if a license has a large number of packages. Refer to [this example](https://github.com/classvsoftware/t3-api/blob/master/load_all_active_packages.py) for how to load a full collection in a python script. ## USING THE API The API can be used in any way you like, but writing simple scripts to accomplish common tasks is an excellent way to take advantage of it. The full OpenAPI spec, which can be imported into Postman, can be found here: [/v2/spec/openapi.json](/v2/spec/openapi.json) [**Lots** of example scripts that show how the use the T3 API can be found here](https://github.com/classvsoftware/t3-api) ## CONTACT - **Responsible Organization:** Class V LLC - **Responsible Developer:** Matt Frisbie - **Email:** [[email protected]](mailto:[email protected]) - **URL:** [https://trackandtrace.tools](https://trackandtrace.tools) - **Terms of Use:** [https://www.trackandtrace.tools/terms-of-use](https://www.trackandtrace.tools/terms-of-use)
The version of the OpenAPI document: v2
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
__version__ = "0.6.0"
# import apis into sdk package
from t3api.api.authentication_api import AuthenticationApi
from t3api.api.create_package_api import CreatePackageApi
from t3api.api.create_strains_api import CreateStrainsApi
from t3api.api.create_transfer_api import CreateTransferApi
from t3api.api.facilities_api import FacilitiesApi
from t3api.api.files_api import FilesApi
from t3api.api.free_api import FreeApi
from t3api.api.harvests_api import HarvestsApi
from t3api.api.history_api import HistoryApi
from t3api.api.items_api import ItemsApi
from t3api.api.lab_results_api import LabResultsApi
from t3api.api.labels_api import LabelsApi
from t3api.api.licenses_api import LicensesApi
from t3api.api.manifests_api import ManifestsApi
from t3api.api.modify_items_api import ModifyItemsApi
from t3api.api.modify_packages_api import ModifyPackagesApi
from t3api.api.modify_sales_receipts_api import ModifySalesReceiptsApi
from t3api.api.modify_strains_api import ModifyStrainsApi
from t3api.api.pdf_api import PDFApi
from t3api.api.packages_api import PackagesApi
from t3api.api.permissions_api import PermissionsApi
from t3api.api.photos_api import PhotosApi
from t3api.api.plant_batches_api import PlantBatchesApi
from t3api.api.plants_api import PlantsApi
from t3api.api.reports_api import ReportsApi
from t3api.api.sales_receipts_api import SalesReceiptsApi
from t3api.api.search_api import SearchApi
from t3api.api.single_harvest_api import SingleHarvestApi
from t3api.api.single_item_api import SingleItemApi
from t3api.api.single_package_api import SinglePackageApi
from t3api.api.single_plant_api import SinglePlantApi
from t3api.api.single_plant_batch_api import SinglePlantBatchApi
from t3api.api.single_sales_receipt_api import SingleSalesReceiptApi
from t3api.api.single_transfer_api import SingleTransferApi
from t3api.api.states_api import StatesApi
from t3api.api.strains_api import StrainsApi
from t3api.api.supercollections_api import SupercollectionsApi
from t3api.api.transfers_api import TransfersApi
# import ApiClient
from t3api.api_response import ApiResponse
from t3api.api_client import ApiClient
from t3api.configuration import Configuration
from t3api.exceptions import OpenApiException
from t3api.exceptions import ApiTypeError
from t3api.exceptions import ApiValueError
from t3api.exceptions import ApiKeyError
from t3api.exceptions import ApiAttributeError
from t3api.exceptions import ApiException
# import models into sdk package
from t3api.models.endpoint_id import EndpointId
from t3api.models.extracted_lab_result import ExtractedLabResult
from t3api.models.incoming_transfer_manifest_report_response import IncomingTransferManifestReportResponse
from t3api.models.jwt_data import JWTData
from t3api.models.lab_testing_states import LabTestingStates
from t3api.models.metrc_create_package_inputs_response import MetrcCreatePackageInputsResponse
from t3api.models.metrc_create_transfer_inputs_response import MetrcCreateTransferInputsResponse
from t3api.models.metrc_credential_auth_payload import MetrcCredentialAuthPayload
from t3api.models.metrc_delivery_package import MetrcDeliveryPackage
from t3api.models.metrc_delivery_package_list_response import MetrcDeliveryPackageListResponse
from t3api.models.metrc_discontinue_item_payload import MetrcDiscontinueItemPayload
from t3api.models.metrc_discontinue_strain_payload import MetrcDiscontinueStrainPayload
from t3api.models.metrc_driver import MetrcDriver
from t3api.models.metrc_facility import MetrcFacility
from t3api.models.metrc_facility_list_response import MetrcFacilityListResponse
from t3api.models.metrc_facility_physical_address import MetrcFacilityPhysicalAddress
from t3api.models.metrc_harvest import MetrcHarvest
from t3api.models.metrc_harvest_list_response import MetrcHarvestListResponse
from t3api.models.metrc_harvest_package import MetrcHarvestPackage
from t3api.models.metrc_harvest_package_list_response import MetrcHarvestPackageListResponse
from t3api.models.metrc_harvest_plant import MetrcHarvestPlant
from t3api.models.metrc_harvest_plant_list_response import MetrcHarvestPlantListResponse
from t3api.models.metrc_harvest_report_response import MetrcHarvestReportResponse
from t3api.models.metrc_history import MetrcHistory
from t3api.models.metrc_history_list_response import MetrcHistoryListResponse
from t3api.models.metrc_incoming_transfer import MetrcIncomingTransfer
from t3api.models.metrc_incoming_transfer_list_response import MetrcIncomingTransferListResponse
from t3api.models.metrc_item import MetrcItem
from t3api.models.metrc_item_list_response import MetrcItemListResponse
from t3api.models.metrc_item_photo import MetrcItemPhoto
from t3api.models.metrc_item_photo_list_response import MetrcItemPhotoListResponse
from t3api.models.metrc_license import MetrcLicense
from t3api.models.metrc_location import MetrcLocation
from t3api.models.metrc_outgoing_transfer import MetrcOutgoingTransfer
from t3api.models.metrc_outgoing_transfer_list_response import MetrcOutgoingTransferListResponse
from t3api.models.metrc_package import MetrcPackage
from t3api.models.metrc_package_lab_result import MetrcPackageLabResult
from t3api.models.metrc_package_lab_result_batch import MetrcPackageLabResultBatch
from t3api.models.metrc_package_lab_result_batch_list_response import MetrcPackageLabResultBatchListResponse
from t3api.models.metrc_package_lab_result_list_response import MetrcPackageLabResultListResponse
from t3api.models.metrc_package_list_response import MetrcPackageListResponse
from t3api.models.metrc_package_report_response import MetrcPackageReportResponse
from t3api.models.metrc_package_source_harvest import MetrcPackageSourceHarvest
from t3api.models.metrc_package_source_harvest_list_response import MetrcPackageSourceHarvestListResponse
from t3api.models.metrc_plant import MetrcPlant
from t3api.models.metrc_plant_batch import MetrcPlantBatch
from t3api.models.metrc_plant_batch_list_response import MetrcPlantBatchListResponse
from t3api.models.metrc_plant_batch_report_response import MetrcPlantBatchReportResponse
from t3api.models.metrc_plant_list_response import MetrcPlantListResponse
from t3api.models.metrc_plant_report_response import MetrcPlantReportResponse
from t3api.models.metrc_remediation_method import MetrcRemediationMethod
from t3api.models.metrc_sales_receipt import MetrcSalesReceipt
from t3api.models.metrc_sales_receipt_list_response import MetrcSalesReceiptListResponse
from t3api.models.metrc_sales_receipt_report_response import MetrcSalesReceiptReportResponse
from t3api.models.metrc_session_auth_payload import MetrcSessionAuthPayload
from t3api.models.metrc_session_auth_payload_facilities_inner import MetrcSessionAuthPayloadFacilitiesInner
from t3api.models.metrc_state import MetrcState
from t3api.models.metrc_strain import MetrcStrain
from t3api.models.metrc_strain_list_response import MetrcStrainListResponse
from t3api.models.metrc_superpackage import MetrcSuperpackage
from t3api.models.metrc_superpackage_all_of_metadata import MetrcSuperpackageAllOfMetadata
from t3api.models.metrc_superpackage_list_response import MetrcSuperpackageListResponse
from t3api.models.metrc_tag import MetrcTag
from t3api.models.metrc_transaction import MetrcTransaction
from t3api.models.metrc_transaction_list_response import MetrcTransactionListResponse
from t3api.models.metrc_transfer_delivery import MetrcTransferDelivery
from t3api.models.metrc_transfer_delivery_list_response import MetrcTransferDeliveryListResponse
from t3api.models.metrc_transfer_transporter import MetrcTransferTransporter
from t3api.models.metrc_transfer_transporter_details import MetrcTransferTransporterDetails
from t3api.models.metrc_transfer_transporter_details_list_response import MetrcTransferTransporterDetailsListResponse
from t3api.models.metrc_transfer_transporter_list_response import MetrcTransferTransporterListResponse
from t3api.models.metrc_transferred_package import MetrcTransferredPackage
from t3api.models.metrc_transferred_package_list_response import MetrcTransferredPackageListResponse
from t3api.models.metrc_vehicle import MetrcVehicle
from t3api.models.metrc_void_sales_receipt_payload import MetrcVoidSalesReceiptPayload
from t3api.models.outgoing_transfer_manifest_report_response import OutgoingTransferManifestReportResponse
from t3api.models.pagination import Pagination
from t3api.models.search_response import SearchResponse
from t3api.models.t3_generate_labels_payload import T3GenerateLabelsPayload
from t3api.models.t3_generate_labels_payload_deprecated import T3GenerateLabelsPayloadDEPRECATED
from t3api.models.t3_incoming_transfer_manifest import T3IncomingTransferManifest
from t3api.models.t3_label_content_data import T3LabelContentData
from t3api.models.t3_label_content_data_list_response import T3LabelContentDataListResponse
from t3api.models.t3_label_content_layout_config import T3LabelContentLayoutConfig
from t3api.models.t3_label_content_layout_element import T3LabelContentLayoutElement
from t3api.models.t3_label_content_layout_element_paragraph_font_name import T3LabelContentLayoutElementParagraphFontName
from t3api.models.t3_label_content_layout_element_text_resize_strategy import T3LabelContentLayoutElementTextResizeStrategy
from t3api.models.t3_label_content_layout_element_type import T3LabelContentLayoutElementType
from t3api.models.t3_label_content_layouts_response import T3LabelContentLayoutsResponse
from t3api.models.t3_label_rendering_options import T3LabelRenderingOptions
from t3api.models.t3_label_template_layout_config import T3LabelTemplateLayoutConfig
from t3api.models.t3_label_template_layouts_response import T3LabelTemplateLayoutsResponse
from t3api.models.t3_outgoing_transfer_manifest import T3OutgoingTransferManifest
from t3api.models.t3_package_labels_payload import T3PackageLabelsPayload
from t3api.models.t3_package_labels_payload_deprecated import T3PackageLabelsPayloadDEPRECATED
from t3api.models.unit_of_measure import UnitOfMeasure
from t3api.models.unit_of_measure_abbreviation import UnitOfMeasureAbbreviation
from t3api.models.v2_auth_apikey_post_request import V2AuthApikeyPostRequest
from t3api.models.v2_auth_credentials_post200_response import V2AuthCredentialsPost200Response
from t3api.models.v2_auth_credentials_post_request import V2AuthCredentialsPostRequest
from t3api.models.v2_auth_secretkey_post200_response import V2AuthSecretkeyPost200Response
from t3api.models.v2_auth_secretkey_post_request import V2AuthSecretkeyPostRequest
from t3api.models.v2_auth_whoami_get200_response import V2AuthWhoamiGet200Response
from t3api.models.v2_files_labels_content_data_packages_active_post200_response import V2FilesLabelsContentDataPackagesActivePost200Response
from t3api.models.v2_files_labels_content_data_packages_active_post_request import V2FilesLabelsContentDataPackagesActivePostRequest
from t3api.models.v2_files_labels_content_data_packages_active_post_request_rendering_options import V2FilesLabelsContentDataPackagesActivePostRequestRenderingOptions
from t3api.models.v2_files_labels_generate_post_request import V2FilesLabelsGeneratePostRequest
from t3api.models.v2_files_labels_generate_post_request_label_content_data_inner import V2FilesLabelsGeneratePostRequestLabelContentDataInner
from t3api.models.v2_files_labels_generate_post_request_rendering_options import V2FilesLabelsGeneratePostRequestRenderingOptions
from t3api.models.v2_files_labels_label_content_layouts_get200_response import V2FilesLabelsLabelContentLayoutsGet200Response
from t3api.models.v2_files_labels_label_content_layouts_get200_response_data import V2FilesLabelsLabelContentLayoutsGet200ResponseData
from t3api.models.v2_files_labels_label_content_layouts_get200_response_data_data_inner import V2FilesLabelsLabelContentLayoutsGet200ResponseDataDataInner
from t3api.models.v2_files_labels_label_content_layouts_get200_response_data_data_inner_elements_inner import V2FilesLabelsLabelContentLayoutsGet200ResponseDataDataInnerElementsInner
from t3api.models.v2_files_labels_label_template_layouts_get200_response import V2FilesLabelsLabelTemplateLayoutsGet200Response
from t3api.models.v2_files_labels_label_template_layouts_get200_response_data import V2FilesLabelsLabelTemplateLayoutsGet200ResponseData
from t3api.models.v2_files_labels_label_template_layouts_get200_response_data_data_inner import V2FilesLabelsLabelTemplateLayoutsGet200ResponseDataDataInner
from t3api.models.v2_files_labels_label_template_layouts_get200_response_data_data_inner_label_template_layout_config import V2FilesLabelsLabelTemplateLayoutsGet200ResponseDataDataInnerLabelTemplateLayoutConfig
from t3api.models.v2_harvests_active_get200_response import V2HarvestsActiveGet200Response
from t3api.models.v2_harvests_active_report_get200_response import V2HarvestsActiveReportGet200Response
from t3api.models.v2_harvests_plants_get200_response import V2HarvestsPlantsGet200Response
from t3api.models.v2_items_discontinue_post200_response import V2ItemsDiscontinuePost200Response
from t3api.models.v2_items_discontinue_post400_response import V2ItemsDiscontinuePost400Response
from t3api.models.v2_items_discontinue_post400_response_error import V2ItemsDiscontinuePost400ResponseError
from t3api.models.v2_items_discontinue_post500_response import V2ItemsDiscontinuePost500Response
from t3api.models.v2_items_discontinue_post500_response_error import V2ItemsDiscontinuePost500ResponseError
from t3api.models.v2_items_discontinue_post503_response import V2ItemsDiscontinuePost503Response
from t3api.models.v2_items_discontinue_post503_response_error import V2ItemsDiscontinuePost503ResponseError
from t3api.models.v2_items_discontinue_post_request import V2ItemsDiscontinuePostRequest
from t3api.models.v2_items_get200_response import V2ItemsGet200Response
from t3api.models.v2_items_history_get200_response import V2ItemsHistoryGet200Response
from t3api.models.v2_items_photos_get200_response import V2ItemsPhotosGet200Response
from t3api.models.v2_items_report_get200_response import V2ItemsReportGet200Response
from t3api.models.v2_labels_generate_post_request import V2LabelsGeneratePostRequest
from t3api.models.v2_licenses_get200_response_inner import V2LicensesGet200ResponseInner
from t3api.models.v2_packages_active_get200_response import V2PackagesActiveGet200Response
from t3api.models.v2_packages_active_report_get200_response import V2PackagesActiveReportGet200Response
from t3api.models.v2_packages_active_super_get200_response import V2PackagesActiveSuperGet200Response
from t3api.models.v2_packages_create_inputs_get200_response import V2PackagesCreateInputsGet200Response
from t3api.models.v2_packages_create_post_request_inner import V2PackagesCreatePostRequestInner
from t3api.models.v2_packages_create_post_request_inner_ingredients_inner import V2PackagesCreatePostRequestInnerIngredientsInner
from t3api.models.v2_packages_labresult_batches_get200_response import V2PackagesLabresultBatchesGet200Response
from t3api.models.v2_packages_labresults_get200_response import V2PackagesLabresultsGet200Response
from t3api.models.v2_packages_notes_post_request_inner import V2PackagesNotesPostRequestInner
from t3api.models.v2_packages_source_harvests_get200_response import V2PackagesSourceHarvestsGet200Response
from t3api.models.v2_packages_transferred_get200_response import V2PackagesTransferredGet200Response
from t3api.models.v2_packages_transferred_report_get200_response import V2PackagesTransferredReportGet200Response
from t3api.models.v2_packages_unfinish_post_request_inner import V2PackagesUnfinishPostRequestInner
from t3api.models.v2_plantbatches_active_get200_response import V2PlantbatchesActiveGet200Response
from t3api.models.v2_plantbatches_active_report_get200_response import V2PlantbatchesActiveReportGet200Response
from t3api.models.v2_plants_vegetative_get200_response import V2PlantsVegetativeGet200Response
from t3api.models.v2_plants_vegetative_report_get200_response import V2PlantsVegetativeReportGet200Response
from t3api.models.v2_sales_active_get200_response import V2SalesActiveGet200Response
from t3api.models.v2_sales_active_report_get200_response import V2SalesActiveReportGet200Response
from t3api.models.v2_sales_transactions_get200_response import V2SalesTransactionsGet200Response
from t3api.models.v2_sales_unfinalize_post_request_inner import V2SalesUnfinalizePostRequestInner
from t3api.models.v2_search_get200_response import V2SearchGet200Response
from t3api.models.v2_search_get200_response_data_inner import V2SearchGet200ResponseDataInner
from t3api.models.v2_states_get200_response_inner import V2StatesGet200ResponseInner
from t3api.models.v2_strains_create_post_request_inner import V2StrainsCreatePostRequestInner
from t3api.models.v2_strains_discontinue_post_request import V2StrainsDiscontinuePostRequest
from t3api.models.v2_strains_get200_response import V2StrainsGet200Response
from t3api.models.v2_strains_report_get200_response import V2StrainsReportGet200Response
from t3api.models.v2_transfers_create_destinations_get200_response import V2TransfersCreateDestinationsGet200Response
from t3api.models.v2_transfers_create_inputs_get200_response import V2TransfersCreateInputsGet200Response
from t3api.models.v2_transfers_create_inputs_get200_response_transfer_types_inner import V2TransfersCreateInputsGet200ResponseTransferTypesInner
from t3api.models.v2_transfers_create_inputs_get200_response_transfer_types_inner_facility_types_inner import V2TransfersCreateInputsGet200ResponseTransferTypesInnerFacilityTypesInner
from t3api.models.v2_transfers_create_post_request_inner import V2TransfersCreatePostRequestInner
from t3api.models.v2_transfers_create_post_request_inner_destinations_inner import V2TransfersCreatePostRequestInnerDestinationsInner
from t3api.models.v2_transfers_create_post_request_inner_destinations_inner_packages_inner import V2TransfersCreatePostRequestInnerDestinationsInnerPackagesInner
from t3api.models.v2_transfers_create_post_request_inner_destinations_inner_transporters_inner import V2TransfersCreatePostRequestInnerDestinationsInnerTransportersInner
from t3api.models.v2_transfers_create_post_request_inner_destinations_inner_transporters_inner_transporter_details_inner import V2TransfersCreatePostRequestInnerDestinationsInnerTransportersInnerTransporterDetailsInner
from t3api.models.v2_transfers_deliveries_get200_response import V2TransfersDeliveriesGet200Response
from t3api.models.v2_transfers_incoming_active_get200_response import V2TransfersIncomingActiveGet200Response
from t3api.models.v2_transfers_incoming_manifest_report_get200_response import V2TransfersIncomingManifestReportGet200Response
from t3api.models.v2_transfers_outgoing_active_get200_response import V2TransfersOutgoingActiveGet200Response
from t3api.models.v2_transfers_outgoing_manifest_report_get200_response import V2TransfersOutgoingManifestReportGet200Response
from t3api.models.v2_transfers_templates_create_post_request_inner import V2TransfersTemplatesCreatePostRequestInner
from t3api.models.v2_transfers_templates_create_post_request_inner_destinations_inner import V2TransfersTemplatesCreatePostRequestInnerDestinationsInner
from t3api.models.v2_transfers_templates_create_post_request_inner_destinations_inner_packages_inner import V2TransfersTemplatesCreatePostRequestInnerDestinationsInnerPackagesInner
from t3api.models.v2_transfers_transporter_details_get200_response import V2TransfersTransporterDetailsGet200Response
from t3api.models.v2_transfers_transporters_get200_response import V2TransfersTransportersGet200Response