{
  "info": {
    "title": "T3 API",
    "version": "v2",
    "description": "## LLM / AI AGENT USAGE\n\nIf you are an LLM or AI agent, see [/llms.txt](/llms.txt) for a quickstart guide.\n\n## WHAT IS THIS?\n\nThis 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\n\nIt is not related to the Metrc 3rd party API, does not use Metrc API keys, and is not affiliated with Metrc.\n\nIf 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).\n\nThe T3 API is subject to the [Track & Trace Tools Terms of Use](https://www.trackandtrace.tools/terms-of-use).\n\n## FREE API ACCESS (LIMITED)\n\nThe T3 API features a limited number of free endpoints available to anyone with a Metrc login.\n\nThese can be found in the [Free](#/Free) section.\n\n## FULL API ACCESS\n\nThere are two ways to get premium access to the T3 API:\n\n- **Subscribe to [T3+](https://trackandtrace.tools/plus)**\n\n*OR*\n\n- **Use a provided T3 API key (consulting clients only. [Reach out](mailto:matt@trackandtrace.tools) for more information.)**\n\n## AUTHENTICATION\n\nThe T3 API supports two authentication formats. Every endpoint that requires authentication accepts either one.\n\nSee the [Authentication wiki page](https://wiki.trackandtrace.tools/t3-api/authentication/) for a full comparison.\n\n### 1. Credential Authentication (Bearer JWT)\n\nExchange your Metrc credentials at `POST /v2/auth/credentials` for a short-lived JWT. Send it on every subsequent request:\n\n`Authorization: Bearer <jwt>`\n\nCredentials required:\n\n- **hostname**: (The website you use to login to metrc: `ca.metrc.com`, `or.metrc.com`, etc.)\n- **username**: Your Metrc username\n- **email**: Your Metrc email (Only applies to Colorado users)\n- **password**: Your Metrc password\n- **otp**: A one-time password used for 2-factor authentication (Only applies to Michigan users)\n\n*OR* use a T3 API key (consulting clients only).\n\nRefer to the **Authentication** endpoints below for more information.\n\n### 2. Secret Key Authentication\n\nGenerate a secret key once at `POST /v2/auth/secretkey`, then send it on every request via either the header (preferred) or the query parameter:\n\n`X-T3-API-Key: <yourSecretKeyGoesHere>`\n\n*OR*\n\n`?secretKey=<yourSecretKeyGoesHere>`\n\nWhen both are present, the header value wins. The same secret key shares a single rate-limit bucket across both forms.\n\nSecret keys work on every endpoint that requires authentication.\n\n#### Generating Secret Keys\n\nRefer to the [/v2/auth/secretkey](#/Authentication/post_v2_auth_secretkey) endpoint for information on generating secret keys.\n\n[Secret Key Generation Tool](/v2/pages/secret-key)\n\n[Sync Link Creation Tool](/v2/pages/sync-link)\n\n#### Important: Regenerate Your Secret Key When Credentials Change\n\nYour secret key embeds a snapshot of the credentials you supplied at creation time. If **any** of the following change in Metrc, the existing secret key stops working and you must delete it and generate a new one:\n\n- Password\n- Email (Colorado)\n- Username\n- One-time password (OTP) seed (Michigan)\n\n## SECURITY\n\nThe 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, but the security model differs between the two auth formats \u2014 read carefully:\n\n### Credential Authentication\n\n- **Single-Use Login Credentials:**\n  - When you obtain a JWT, the T3 API uses your login credentials only once to authenticate with Metrc.\n  - After the Metrc login process is complete, your login credentials are immediately deleted from the system.\n  - You are required to enter your login credentials each time you obtain a JWT, ensuring that your credentials are never stored.\n\n- **Secure Temporary Session Storage:**\n  - The T3 API securely encrypts your logged-in Metrc session data in Redis. This data is only used when you make requests through the T3 API.\n  - The encrypted session data is automatically deleted after 24 hours.\n\n### Secret Key Authentication\n\nSecret-key auth makes a deliberate trade-off: your credentials are retained so T3 can re-authenticate with Metrc on your behalf, sparing your integration from having to do it.\n\n- **Encrypted Credential Storage:**\n  - When you create a secret key, your Metrc credentials (username, password, hostname, and where applicable email and OTP seed) are encrypted at rest in T3's database.\n  - The plaintext is never logged and is only decrypted in-memory at request time.\n  - The encryption protects against a database-only compromise, not against compromise of the running service.\n\n- **Revocable:**\n  - Deleting a secret key via `DELETE /v2/auth/secretkey/<id>` evicts it from all caches immediately \u2014 no grace period.\n  - List your active keys (and inspect their `lastUsedAt` activity) via `GET /v2/auth/secretkey`.\n\nFor any questions or concerns, please contact [matt@trackandtrace.tools](mailto:matt@trackandtrace.tools).\n\n## PRIVACY\n\nThe 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.\n\n- **No Data Collection:**\n  - The T3 API does not record, save, harvest, inspect, or analyze any of your data.\n  - All data interactions are ephemeral and occur in real-time, without permanent storage.\n\n- **Secure and Private Access:**\n  - Your data is never shared with third parties. Unauthorized access to your login information or data is strictly prohibited.\n  - T3 employs industry-standard encryption protocols to safeguard all communications between the T3 API and Metrc.\n\n- **User-Controlled Sessions:**\n  - Your Metrc login credentials and session are used exclusively by you. The T3 API will never initiate Metrc traffic without your explicit authorization.\n\n- **Compliance and Best Practices:**\n  - T3's privacy practices are aligned with applicable data protection regulations, including GDPR and CCPA, ensuring that your data rights are respected.\n\nThe T3 API is subject to the [Track & Trace Tools Privacy Policy](https://trackandtrace.tools/privacy-policy). For any privacy-related inquiries, please contact [matt@trackandtrace.tools](mailto:matt@trackandtrace.tools).\n\n## PERMISSIONS\n\nEach Metrc account has different permissions based on several factors:\n\n- Permissions granted by your Metrc admin\n- Class of license (manufacturing, cultivation, etc)\n- US state the license operates in\n\nUse the Permissions endpoints to determine which actions are available to you.\n\n## LICENSES\n\nView a list of all licenses available to the current user:\n\n`GET https://api.trackandtrace.tools/v2/licenses`\n\nOnly one license can be queried per request. Specify the target license with the required `licenseNumber` query parameter:\n\n`GET https://api.trackandtrace.tools/v2/items?licenseNumber=LIC-00001`\n\n## RATE LIMITING\n\nThe API has a global default request rate limit of 600 requests/minute/user. Some routes have lower rate limits.\n\n## COLLECTIONS\n\nMost Metrc data is queried as a \"collection\". 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`.\n\nAlthough the T3 API write endpoints use IDs to identify objects, Metrc does not allow for filtering/querying by ID. You will need to query with a different unique identifier like `label`, or load a full collection and then filter.\n\nCollections are paginated, and can be filtered and sorted by individual object fields.\n\nThe JSON response object includes the following properties:\n- `data`: An array of objects, or any empty array\n- `page`: The requested page index\n- `pageSize`: The requested page size\n- `total`: The total number of items in this collection. Use this to determine how many pages are required to return the entire collection.\n\n### LOADING FULL COLLECTIONS\n`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.\n\nRefer 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.\n\n## USING THE API\n\nFull documentation on using the T3 API can be found [here](https://github.com/classvsoftware/t3-wiki/wiki/T3-API).\n\n## CONTACT\n\n- **Responsible Organization:** Class V LLC\n- **Responsible Developer:** Matt Frisbie\n- **Email:** [matt@trackandtrace.tools](mailto:matt@trackandtrace.tools)\n- **URL:** [https://trackandtrace.tools](https://trackandtrace.tools)\n- **Terms of Use:** [https://www.trackandtrace.tools/terms-of-use](https://www.trackandtrace.tools/terms-of-use)\n"
  },
  "paths": {
    "/v2/spec/openapi.json": {
      "get": {
        "summary": "Get the OpenAPI specification",
        "description": "Returns the OpenAPI 3.0.2 specification for this API.\n\nSee the [wiki guide on pruning the spec](https://wiki.trackandtrace.tools/t3-api/openapi/#pruning-the-spec) for a longer walkthrough of when and why to use the filters below.\n\n**Without filters:** Returns the full specification containing all paths, schemas, and parameters.\n\n**With filter(s):** Returns a pruned specification containing only the\nrequested resources and their transitive dependencies. This is useful for LLM/AI agent\nconsumption, where sending the full spec would waste tokens.\n\nAll filter values (schema, parameter, tag) are **case-insensitive**.\n\n## Filter Types\n\n### `path` - Filter by API path\n\nReturns the specified path definition(s) plus all transitively-referenced schemas\nand parameters.\n\n```\nGET /v2/spec/openapi.json?path=/v2/packages/active\nGET /v2/spec/openapi.json?path=/v2/packages/active&path=/v2/auth/credentials\n```\n\n### `schema` - Filter by schema name\n\nReturns the specified schema definition(s) plus any transitively-referenced schemas.\nNo paths are included in the response.\n\n```\nGET /v2/spec/openapi.json?schema=MetrcPackage\nGET /v2/spec/openapi.json?schema=metrcpackage\nGET /v2/spec/openapi.json?schema=MetrcPackage&schema=Pagination\n```\n\n### `parameter` - Filter by parameter name\n\nReturns the specified reusable parameter definition(s) plus any schemas they reference.\nNo paths are included in the response.\n\n```\nGET /v2/spec/openapi.json?parameter=LicenseNumber\nGET /v2/spec/openapi.json?parameter=licensenumber\nGET /v2/spec/openapi.json?parameter=CollectionFilter&parameter=CollectionSort\n```\n\n### `tag` - Filter by tag\n\nReturns all paths tagged with the specified tag(s) plus their transitively-referenced\nschemas and parameters.\n\n```\nGET /v2/spec/openapi.json?tag=Items\nGET /v2/spec/openapi.json?tag=items\nGET /v2/spec/openapi.json?tag=Authentication&tag=Packages\n```\n\n## Combining Filters\n\nMultiple filters can be combined in a single request. Results are merged via **union** --\nthe response contains everything matched by any individual filter.\n\n```\nGET /v2/spec/openapi.json?path=/v2/auth/credentials&schema=MetrcPackage\nGET /v2/spec/openapi.json?tag=Items&parameter=LicenseNumber\nGET /v2/spec/openapi.json?path=/v2/packages/active&tag=Authentication&schema=Pagination\n```\n",
        "responses": {
          "200": {
            "description": "A valid OpenAPI 3.0.2 specification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "404": {
            "description": "One or more requested resources were not found in the spec"
          }
        },
        "parameters": [
          {
            "name": "path",
            "in": "query",
            "required": false,
            "description": "One or more API paths to include. Returns the path definitions plus\ntheir transitively-referenced schemas and parameters. Repeat this\nparameter to include multiple paths.\n",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "example": [
                "/v2/packages/active"
              ]
            },
            "style": "form",
            "explode": true
          },
          {
            "name": "schema",
            "in": "query",
            "required": false,
            "description": "One or more schema names to include (case-insensitive). Returns the\nschema definition plus any transitively-referenced schemas. No paths\nare included. Repeat this parameter to include multiple schemas.\n",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "example": [
                "MetrcPackage"
              ]
            },
            "style": "form",
            "explode": true
          },
          {
            "name": "parameter",
            "in": "query",
            "required": false,
            "description": "One or more reusable parameter names to include (case-insensitive).\nReturns the parameter definition plus any referenced schemas. No paths\nare included. Repeat this parameter to include multiple parameters.\n",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "example": [
                "LicenseNumber"
              ]
            },
            "style": "form",
            "explode": true
          },
          {
            "name": "tag",
            "in": "query",
            "required": false,
            "description": "One or more tag names (case-insensitive). Returns all paths tagged\nwith this tag plus their transitively-referenced schemas and parameters.\nRepeat this parameter to include multiple tags.\n",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "example": [
                "Items"
              ]
            },
            "style": "form",
            "explode": true
          }
        ],
        "tags": [
          "LLM",
          "OpenAPI"
        ],
        "security": []
      }
    },
    "/v2/auth/credentials": {
      "post": {
        "summary": "Authenticate with Metrc credentials",
        "description": "**A T3+ subscription is not required to use this endpoint**\n",
        "requestBody": {
          "description": "JSON object containing your Metrc login details\nNote: The `email` field is only needed if you are authenticating in Colorado. Otherwise, omit this property.\nNote: The `otp` field is only needed if you are authenticating in Michigan. Otherwise, omit this property.\n",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcCredentialAuthPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Your JWT access token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "accessToken": {
                      "$ref": "#/components/schemas/AccessToken"
                    }
                  }
                }
              }
            }
          }
        },
        "tags": [
          "Authentication",
          "Free"
        ],
        "security": []
      }
    },
    "/v2/auth/apikey": {
      "post": {
        "summary": "Authenticate with a T3 API key",
        "description": "**Note: This route is for clients that have been provided an API key.**\n\n**If you are not a consulting client, you should not use this endpoint.** Use the `/auth/credentials` endpoint instead.\n",
        "requestBody": {
          "description": "JSON object containing your API key authentication details\n",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "apiKey": {
                    "type": "string",
                    "description": "Your T3 API key",
                    "example": "e829nde3l87ks9d832gfdavhg450d9mw"
                  },
                  "stateCode": {
                    "type": "string",
                    "description": "The state code for the hostname you want to authenticate in",
                    "example": "CA"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Your JWT access token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "accessToken": {
                      "$ref": "#/components/schemas/AccessToken"
                    }
                  }
                }
              }
            }
          }
        },
        "tags": [
          "Authentication"
        ],
        "security": []
      }
    },
    "/v2/auth/whoami": {
      "get": {
        "summary": "Returns information about the authenticated user",
        "responses": {
          "200": {
            "description": "Information about the authenticated user including organization and subscription details",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/JWTData"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "organizationPublicId": {
                          "type": "string",
                          "format": "uuid",
                          "nullable": true,
                          "description": "The public ID of the organization the user belongs to",
                          "example": "550e8400-e29b-41d4-a716-446655440000"
                        },
                        "subscriptionPublicId": {
                          "type": "string",
                          "format": "uuid",
                          "nullable": true,
                          "description": "The public ID of the subscription attached to the organization",
                          "example": "660e8400-e29b-41d4-a716-446655440001"
                        },
                        "subscriptionStatus": {
                          "type": "string",
                          "nullable": true,
                          "description": "The status of the subscription",
                          "enum": [
                            "active",
                            "trialing",
                            "canceled",
                            "overdue"
                          ],
                          "example": "active"
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Authentication",
          "Free"
        ]
      }
    },
    "/v2/auth/check": {
      "post": {
        "summary": "Check whether the current JWT can still authenticate against Metrc",
        "description": "Tests the stored Metrc session by issuing a request to the Metrc root and\nconfirming it does not redirect to the login page. Returns `success: true`\nif the session is still valid, otherwise `success: false`. Always responds\nwith HTTP 200.\n",
        "responses": {
          "200": {
            "description": "Whether the JWT's underlying Metrc session is still valid",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "True if the Metrc session is still authenticated, false otherwise",
                      "example": true
                    }
                  }
                }
              }
            }
          }
        },
        "tags": [
          "Authentication",
          "Free"
        ]
      }
    },
    "/v2/auth/sandbox": {
      "post": {
        "summary": "Mint a sandbox JWT from an authenticated session",
        "description": "Exchanges an authenticated Metrc session (the caller's JWT or secret key)\nfor a brand-new JWT scoped to the corresponding sandbox hostname\n(e.g. `mo.metrc.com` -> `sandbox-mo.metrc.com`).\n\nThe caller's account must be provisioned for a sandbox session in Metrc;\nif no one-time login link is available, the endpoint returns 400.\n\nThe returned JWT carries the same username and T3+ subscription state as\nthe source session, but a different hostname, licenses, and permissions.\n",
        "responses": {
          "200": {
            "description": "A JWT access token authenticated against the sandbox hostname",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "accessToken": {
                      "$ref": "#/components/schemas/AccessToken"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Sandbox is not available for this account, or the caller is already on a sandbox hostname"
          },
          "401": {
            "description": "Missing or invalid authentication"
          }
        },
        "tags": [
          "Authentication",
          "Free"
        ]
      }
    },
    "/v2/auth/secretkey": {
      "post": {
        "summary": "Generate a secret key for use with secret-key authentication.",
        "description": "Generates a secret key that can be passed to any `@session_required` endpoint\nvia the `X-T3-API-Key` header (preferred) or the `?secretKey=` query parameter.\n\n### How your credentials are stored\n\nWhen you create a secret key, your Metrc credentials (username, password,\nhostname, and \u2014 where applicable \u2014 email and one-time password seed) are\n**encrypted at rest** in T3's database. The plaintext credentials are never\nlogged and are only decrypted in-memory at request time to establish a Metrc\nsession.\n\n### When you must regenerate your secret key\n\nYour secret key embeds a snapshot of the credentials you submitted. If **any**\nof the following change in Metrc, the secret key will stop working and you\nmust create a new one:\n\n- Password\n- Email (Colorado)\n- Username\n- One-time password seed (Michigan)\n\nThe T3 API also provides a [secret-key management page](/v2/pages/secret-key).\n",
        "requestBody": {
          "description": "JSON object containing your Metrc secret key details\n\nNote: The `email` field is only needed if you are authenticating in Colorado.\nOtherwise, omit this property.\n\nNote: The `otpSeed` field is only needed if you are authenticating in Michigan.\nOtherwise, omit this property.\n",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "username": {
                    "type": "string",
                    "description": "Your Metrc username",
                    "example": "user123"
                  },
                  "password": {
                    "type": "string",
                    "description": "Your Metrc password",
                    "example": "secretpassword"
                  },
                  "hostname": {
                    "$ref": "#/components/schemas/MetrcHostname"
                  },
                  "email": {
                    "type": "string",
                    "format": "email",
                    "nullable": true,
                    "description": "(Colorado only) Your Metrc login email",
                    "example": "user@example.com"
                  },
                  "otpSeed": {
                    "type": "string",
                    "description": "(Michigan only) the seed string for your Metrc multi-factor authentication",
                    "example": "J3G5KD9W8ZT2LV6X"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Your secret key",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "secretKey": {
                      "$ref": "#/components/schemas/SecretKey"
                    }
                  }
                }
              }
            }
          }
        },
        "tags": [
          "Authentication",
          "Reports"
        ],
        "security": []
      },
      "get": {
        "summary": "List all secret keys for the authenticated user.",
        "description": "Returns all secret keys associated with the authenticated user's hostname and username.\n",
        "responses": {
          "200": {
            "description": "List of secret keys",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "secretKey": {
                            "$ref": "#/components/schemas/SecretKey"
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time",
                            "description": "When the secret key was created"
                          },
                          "isEnabled": {
                            "type": "boolean",
                            "description": "Whether the secret key can authenticate. Disabled keys\nare returned for visibility but cannot be used to\nauthenticate against the API.\n"
                          },
                          "lastUsedAt": {
                            "type": "string",
                            "format": "date-time",
                            "nullable": true,
                            "description": "When the secret key most recently authenticated a\nrequest. `null` if the key has never been used.\n"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "tags": [
          "Authentication"
        ]
      }
    },
    "/v2/auth/secretkey/{secret_key_id}": {
      "delete": {
        "summary": "Delete a secret key.",
        "description": "Permanently deletes a single secret key identified by its UUID. The key must belong to the authenticated user.\n",
        "responses": {
          "200": {
            "description": "The secret key was deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    },
                    "secretKey": {
                      "$ref": "#/components/schemas/SecretKey"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Secret key not found"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "parameters": [
          {
            "name": "secret_key_id",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SecretKey"
            },
            "description": "The secret key UUID to delete"
          }
        ],
        "tags": [
          "Authentication"
        ]
      }
    },
    "/v2/licenses": {
      "get": {
        "summary": "List of accessible licenses",
        "description": "**A T3+ subscription is not required to use this endpoint**\n",
        "responses": {
          "200": {
            "description": "A list of accessible Metrc licenses",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MetrcLicense"
                  }
                }
              }
            }
          }
        },
        "tags": [
          "Licenses",
          "Free"
        ]
      }
    },
    "/v2/states": {
      "get": {
        "summary": "List of accessible states",
        "description": "**A T3+ subscription is not required to use this endpoint**\n",
        "responses": {
          "200": {
            "description": "A list of accessible Metrc states",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MetrcState"
                  }
                }
              }
            }
          }
        },
        "tags": [
          "States",
          "Free"
        ]
      }
    },
    "/v2/items": {
      "get": {
        "summary": "List of active items",
        "responses": {
          "200": {
            "description": "A list of active items for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcItem"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the item sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__contains:flower",
            "description": "One or more item filters."
          }
        ],
        "tags": [
          "Items"
        ]
      }
    },
    "/v2/items/super": {
      "get": {
        "summary": "List of active superitems. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of active items for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperitem"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the item sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__contains:flower",
            "description": "One or more item filters."
          },
          {
            "$ref": "#/components/parameters/SuperitemInclude"
          }
        ],
        "tags": [
          "Items",
          "Supercollections"
        ]
      }
    },
    "/v2/items/history": {
      "get": {
        "summary": "List of item history objects for a single item",
        "responses": {
          "200": {
            "description": "A list of history objects for the specified item.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcHistory"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The item with id={itemId} was not found in the specified license"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "itemId",
            "description": "ID of the target item",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "userName:asc",
            "description": "Defines the history sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "userName__contains:MSmith001",
            "description": "One or more history filters."
          }
        ],
        "tags": [
          "Items",
          "Single Item",
          "History"
        ]
      }
    },
    "/v2/items/notes": {
      "get": {
        "summary": "List of item notes objects for a single item",
        "responses": {
          "200": {
            "description": "A list of file objects for the specified item.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcItemIngredient"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The item with id={itemId} was not found in the specified license"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "itemId",
            "description": "ID of the target item",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter"
          }
        ],
        "tags": [
          "Items",
          "Single Item"
        ]
      }
    },
    "/v2/items/ingredients": {
      "get": {
        "summary": "List of item ingredients objects for a single item",
        "responses": {
          "200": {
            "description": "A list of file objects for the specified item.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcItemNote"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The item with id={itemId} was not found in the specified license"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "itemId",
            "description": "ID of the target item",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter"
          }
        ],
        "tags": [
          "Items",
          "Single Item"
        ]
      }
    },
    "/v2/items/images": {
      "get": {
        "summary": "List of item image objects for a single item",
        "responses": {
          "200": {
            "description": "A list of file objects for the specified item.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcItemImage"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The item with id={itemId} was not found in the specified license"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "itemId",
            "description": "ID of the target item",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "userName:asc",
            "description": "Defines the image sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "fileName__contains:abc",
            "description": "One or more file filters."
          }
        ],
        "tags": [
          "Items",
          "Single Item",
          "Files",
          "Photos"
        ]
      }
    },
    "/v2/items/photos": {
      "get": {
        "summary": "List of item image objects for a single item",
        "responses": {
          "200": {
            "description": "A list of file objects for the specified item.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcItemImage"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The item with id={itemId} was not found in the specified license"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "itemId",
            "description": "ID of the target item",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "userName:asc",
            "description": "Defines the image sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "fileName__contains:abc",
            "description": "One or more file filters."
          }
        ],
        "tags": [
          "Items",
          "Single Item",
          "Files",
          "Photos"
        ]
      }
    },
    "/v2/items/create": {
      "post": {
        "summary": "Create one or more items",
        "description": "**Refer to the request body schema for details on formatting your request**\n\n'\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcCreateItemsPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Items",
          "Create Items"
        ]
      }
    },
    "/v2/items/create/inputs": {
      "get": {
        "summary": "Input data used for creating new items",
        "responses": {
          "200": {
            "description": "A dictionary of data used for creating new items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcCreateItemInputsResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          }
        ],
        "tags": [
          "Items",
          "Create Items"
        ]
      }
    },
    "/v2/items/discontinue": {
      "post": {
        "summary": "Discontinue one item",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcDiscontinueItemPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Items",
          "Modify Items"
        ]
      }
    },
    "/v2/items/report": {
      "get": {
        "summary": "Generate a report of all active items",
        "description": "**Note: this endpoint supports secret key authentication.**\n",
        "responses": {
          "200": {
            "description": "A list of active items for this license",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcItemReportResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "name,productCategoryName,productCategoryTypeName,strainName\nBlue Dream 3.5g Prepack,Bud/Flower (Final Packaging),Buds,Blue Dream\nPineapple Express 3.5g Prepack,Bud/Flower (Final Packaging),Buds,Pineapple Express"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/SecretKey"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          },
          {
            "$ref": "#/components/parameters/PrependCsvMetadata"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the item sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more item filters."
          },
          {
            "name": "fieldnames",
            "description": "Defines which item fields should appear in the report data.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "name,productCategoryName,productCategoryTypeName,strainName",
              "example": "name,productCategoryName,productCategoryTypeName,strainName"
            }
          }
        ],
        "tags": [
          "Items",
          "Reports"
        ]
      }
    },
    "/v2/items/images/file": {
      "get": {
        "summary": "Get a photo for an item.",
        "responses": {
          "200": {
            "description": "Item photo",
            "content": {
              "image/*": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "itemId",
            "description": "ID of the target item",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "name": "imageFileId",
            "description": "ID of the target photo",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 12345
            }
          },
          {
            "name": "fileType",
            "in": "query",
            "description": "Photo file type",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "ItemLabelImage",
                "ItemProductImage",
                "ItemPackagingImage"
              ],
              "example": "ItemLabelImage"
            }
          }
        ],
        "tags": [
          "Items",
          "Single Item",
          "Files",
          "Photos"
        ]
      },
      "post": {
        "summary": "Upload a photo for an item.",
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "file"
                ],
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "The image file to upload"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successfully uploaded item photo",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "imageFileId": {
                      "type": "integer",
                      "description": "ID of the uploaded image file"
                    }
                  },
                  "example": {
                    "imageFileId": 301
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request (missing file or invalid fileType)"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "fileType",
            "in": "query",
            "description": "Photo file type",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ItemImageFileType"
            }
          }
        ],
        "tags": [
          "Items",
          "Single Item",
          "Files",
          "Photos"
        ]
      }
    },
    "/v2/items/photos/file": {
      "get": {
        "summary": "Get a photo for an item.",
        "responses": {
          "200": {
            "description": "Item photo",
            "content": {
              "image/*": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "itemId",
            "description": "ID of the target item",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "name": "imageFileId",
            "description": "ID of the target photo",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 12345
            }
          },
          {
            "name": "fileType",
            "in": "query",
            "description": "Photo file type",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "ItemLabelImage",
                "ItemProductImage",
                "ItemPackagingImage"
              ],
              "example": "ItemLabelImage"
            }
          }
        ],
        "tags": [
          "Items",
          "Single Item",
          "Files",
          "Photos"
        ]
      }
    },
    "/v2/tags/available": {
      "get": {
        "summary": "List of available tags",
        "responses": {
          "200": {
            "description": "A list of available tags for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcTag"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the item sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__contains:flower",
            "description": "One or more item filters."
          }
        ],
        "tags": [
          "Tags"
        ]
      }
    },
    "/v2/tags/available/super": {
      "get": {
        "summary": "List of available supertags. Each item carries derived `metadata.summary` + `metadata.description` text.",
        "responses": {
          "200": {
            "description": "A list of available supertags for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSupertag"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the tag sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more tag filters."
          }
        ],
        "tags": [
          "Tags",
          "Supercollections"
        ]
      }
    },
    "/v2/tags/used": {
      "get": {
        "summary": "List of used tags",
        "responses": {
          "200": {
            "description": "A list of used tags for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcTag"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the item sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__contains:flower",
            "description": "One or more item filters."
          }
        ],
        "tags": [
          "Tags"
        ]
      }
    },
    "/v2/tags/used/super": {
      "get": {
        "summary": "List of used supertags. Each item carries derived `metadata.summary` + `metadata.description` text.",
        "responses": {
          "200": {
            "description": "A list of used supertags for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSupertag"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the tag sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more tag filters."
          }
        ],
        "tags": [
          "Tags",
          "Supercollections"
        ]
      }
    },
    "/v2/tags/voided": {
      "get": {
        "summary": "List of voided tags",
        "responses": {
          "200": {
            "description": "A list of voided tags for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcTag"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the item sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__contains:flower",
            "description": "One or more item filters."
          }
        ],
        "tags": [
          "Tags"
        ]
      }
    },
    "/v2/tags/voided/super": {
      "get": {
        "summary": "List of voided supertags. Each item carries derived `metadata.summary` + `metadata.description` text.",
        "responses": {
          "200": {
            "description": "A list of voided supertags for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSupertag"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the tag sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more tag filters."
          }
        ],
        "tags": [
          "Tags",
          "Supercollections"
        ]
      }
    },
    "/v2/tags/available/report": {
      "get": {
        "summary": "Generate a report of all available tags",
        "description": "**Note: this endpoint supports secret key authentication.**\n",
        "responses": {
          "200": {
            "description": "A list of available tags for this license",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcTagReportResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "tagTypeName,label,statusName,isUsed\nCannabis Package, 1A4400001234000000001234, Received, false\nCannabis Package, 1A4400001234000000001235, Received, false"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/SecretKey"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          },
          {
            "$ref": "#/components/parameters/PrependCsvMetadata"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the item sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more item filters."
          },
          {
            "name": "fieldnames",
            "description": "Defines which item fields should appear in the report data.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "tagTypeName,label,statusName,isUsed",
              "example": "tagTypeName,label,statusName,isUsed"
            }
          }
        ],
        "tags": [
          "Tags",
          "Reports"
        ]
      }
    },
    "/v2/locations/active": {
      "get": {
        "summary": "List of active locations",
        "responses": {
          "200": {
            "description": "A list of active locations for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcLocation"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the location sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__contains:row",
            "description": "One or more location filters."
          }
        ],
        "tags": [
          "Locations"
        ]
      }
    },
    "/v2/locations/active/super": {
      "get": {
        "summary": "List of active superlocations. Each item carries derived `metadata.summary` + `metadata.description` text.",
        "responses": {
          "200": {
            "description": "A list of active superlocations for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperlocation"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the location sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__contains:vault",
            "description": "One or more location filters."
          }
        ],
        "tags": [
          "Locations",
          "Supercollections"
        ]
      }
    },
    "/v2/locations/active/report": {
      "get": {
        "summary": "Generate a report of all available locations",
        "description": "**Note: this endpoint supports secret key authentication.**\n",
        "responses": {
          "200": {
            "description": "A list of available locations for this license",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcTagReportResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "name\nRow 01\nRow 02"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/SecretKey"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          },
          {
            "$ref": "#/components/parameters/PrependCsvMetadata"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the location sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more location filters."
          },
          {
            "name": "fieldnames",
            "description": "Defines which location fields should appear in the report data.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "name",
              "example": "name"
            }
          }
        ],
        "tags": [
          "Locations",
          "Reports"
        ]
      }
    },
    "/v2/strains": {
      "get": {
        "summary": "List of active strains",
        "responses": {
          "200": {
            "description": "A list of active strains for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcStrain"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the strain sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__contains:flower",
            "description": "One or more strain filters."
          }
        ],
        "tags": [
          "Strains"
        ]
      }
    },
    "/v2/strains/super": {
      "get": {
        "summary": "List of active superstrains. Each item carries derived `metadata.summary` + `metadata.description` text.",
        "responses": {
          "200": {
            "description": "A list of active superstrains for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperstrain"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the strain sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__contains:kush",
            "description": "One or more strain filters."
          }
        ],
        "tags": [
          "Strains",
          "Supercollections"
        ]
      }
    },
    "/v2/strains/discontinue": {
      "post": {
        "summary": "Discontinue one strain",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcDiscontinueStrainPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Strains",
          "Modify Strains"
        ]
      }
    },
    "/v2/strains/report": {
      "get": {
        "summary": "Generate a report of all active strains",
        "description": "**Note: this endpoint supports secret key authentication.**\n",
        "responses": {
          "200": {
            "description": "A list of active strains for this license",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcStrainReportResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "name,sativaPercentage,indicaPercentage,isUsed\nBlue Dream,50,50,true"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/SecretKey"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          },
          {
            "$ref": "#/components/parameters/PrependCsvMetadata"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the strain sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more strain filters."
          },
          {
            "name": "fieldnames",
            "description": "Defines which strain fields should appear in the report data.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "name,sativaPercentage,indicaPercentage,isUsed",
              "example": "name,sativaPercentage,indicaPercentage,isUsed"
            }
          }
        ],
        "tags": [
          "Strains",
          "Reports"
        ]
      }
    },
    "/v2/strains/create": {
      "post": {
        "summary": "Create one or more strains",
        "description": "**Refer to the request body schema for details on formatting your request**\n\n'\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcCreateStrainsPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Strains",
          "Create Strains"
        ]
      }
    },
    "/v2/packages/active": {
      "get": {
        "summary": "List of active packages",
        "responses": {
          "200": {
            "description": "A list of active packages for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPackage"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more package filters."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          }
        ],
        "tags": [
          "Packages"
        ]
      }
    },
    "/v2/packages/active/super": {
      "get": {
        "summary": "List of active superpackages. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of active superpackages for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperpackage"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more package filters."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SuperpackageInclude"
          }
        ],
        "tags": [
          "Packages",
          "Supercollections"
        ]
      }
    },
    "/v2/packages/onhold": {
      "get": {
        "summary": "List of on hold packages",
        "responses": {
          "200": {
            "description": "A list of on hold packages for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPackage"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more package filters."
          }
        ],
        "tags": [
          "Packages"
        ]
      }
    },
    "/v2/packages/onhold/super": {
      "get": {
        "summary": "List of on-hold superpackages. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of on-hold superpackages for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperpackage"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more package filters."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SuperpackageInclude"
          }
        ],
        "tags": [
          "Packages",
          "Supercollections"
        ]
      }
    },
    "/v2/packages/inactive": {
      "get": {
        "summary": "List of inactive packages",
        "responses": {
          "200": {
            "description": "A list of inactive packages for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPackage"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more package filters."
          }
        ],
        "tags": [
          "Packages"
        ]
      }
    },
    "/v2/packages/inactive/super": {
      "get": {
        "summary": "List of inactive superpackages. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of inactive superpackages for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperpackage"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more package filters."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SuperpackageInclude"
          }
        ],
        "tags": [
          "Packages",
          "Supercollections"
        ]
      }
    },
    "/v2/packages/intransit": {
      "get": {
        "summary": "List of in transit packages",
        "responses": {
          "200": {
            "description": "A list of in transit packages for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPackage"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more package filters."
          }
        ],
        "tags": [
          "Packages"
        ]
      }
    },
    "/v2/packages/intransit/super": {
      "get": {
        "summary": "List of intransit superpackages. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of intransit superpackages for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperpackage"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more package filters."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SuperpackageInclude",
            "in": "query",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "labResults",
                "labResultBatches",
                "sourceHarvests",
                "history",
                "coaFiles"
              ]
            },
            "collectionFormat": "multi",
            "required": false
          }
        ],
        "tags": [
          "Packages",
          "Supercollections"
        ]
      }
    },
    "/v2/packages/transferred": {
      "get": {
        "summary": "List of transferred packages",
        "description": "\n**Note: this return type is different from the other package endpoints**\n",
        "responses": {
          "200": {
            "description": "A list of transferred packages for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcDeliveryPackage"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "packageLabel:asc",
            "description": "Defines the package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "packageLabel__endswith:0003",
            "description": "One or more package filters."
          }
        ],
        "tags": [
          "Packages"
        ]
      }
    },
    "/v2/packages/history": {
      "get": {
        "summary": "List of package history objects for a single package",
        "responses": {
          "200": {
            "description": "A list of history objects for the specified package.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcHistory"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The package with id={packageId} was not found in the specified license"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "packageId",
            "description": "ID of the target package",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "userName:asc",
            "description": "Defines the history sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "userName__contains:MSmith001",
            "description": "One or more history filters."
          }
        ],
        "tags": [
          "Packages",
          "Single Package",
          "History"
        ]
      }
    },
    "/v2/packages/labresults": {
      "get": {
        "summary": "List of package lab result objects for a single package",
        "responses": {
          "200": {
            "description": "A list of package lab result objects for the specified package.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPackageLabResult"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The package with id={packageId} was not found in the specified license"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "packageId",
            "description": "ID of the target package",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "testTypeName:asc",
            "description": "Defines the package lab result sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "testTypeName__contains:terpenes",
            "description": "One or more package lab result filters."
          }
        ],
        "tags": [
          "Packages",
          "Single Package",
          "Lab Results"
        ]
      }
    },
    "/v2/packages/labresult-batches": {
      "get": {
        "summary": "List of package lab result batch objects for a single package",
        "responses": {
          "200": {
            "description": "A list of package lab result batch objects for the specified package.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPackageLabResultBatch"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The package with id={packageId} was not found in the specified license"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "packageId",
            "description": "ID of the target package",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "testTypeName:asc",
            "description": "Defines the package lab result sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "testTypeName__contains:terpenes",
            "description": "One or more package lab result filters."
          }
        ],
        "tags": [
          "Packages",
          "Single Package",
          "Lab Results"
        ]
      }
    },
    "/v2/packages/required-labtest-batches": {
      "get": {
        "summary": "List of package required labtest batch objects for a single package",
        "responses": {
          "200": {
            "description": "A list of package lab result batch objects for the specified package.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPackageRequiredLabtestBatch"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The package with id={packageId} was not found in the specified license"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "packageId",
            "description": "ID of the target package",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "testTypeName:asc",
            "description": "Defines the package lab result sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "testTypeName__contains:terpenes",
            "description": "One or more package lab result filters."
          }
        ],
        "tags": [
          "Packages",
          "Single Package",
          "Lab Results"
        ]
      }
    },
    "/v2/packages/source-harvests": {
      "get": {
        "summary": "List of package source harvest objects for a single package",
        "responses": {
          "200": {
            "description": "A list of source harvest objects for the specified package.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPackageSourceHarvest"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The package with id={packageId} was not found in the specified license"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "packageId",
            "description": "ID of the target package",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "testTypeName:asc",
            "description": "Defines the package source harvest result sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "testTypeName__contains:terpenes",
            "description": "One or more package source harvest result filters."
          }
        ],
        "tags": [
          "Packages",
          "Single Package",
          "Harvests"
        ]
      }
    },
    "/v2/packages/labresults/document": {
      "get": {
        "summary": "Get the COA PDF for a lab result.",
        "description": "**NOTE: A single package might have hundreds of lab results, but most will share just one or two lab test result document IDs.**\n",
        "responses": {
          "200": {
            "description": "PDF of the lab result COA",
            "content": {
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "packageId",
            "description": "ID of the target package",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "name": "labTestResultDocumentFileId",
            "description": "ID of the target lab result",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          }
        ],
        "tags": [
          "Packages",
          "Single Package",
          "Lab Results",
          "PDF"
        ]
      }
    },
    "/v2/packages/create": {
      "post": {
        "summary": "Create one or more packages from existing active packages",
        "description": "**Refer to the request body schema for details on formatting your request**\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcCreatePackagesFromPackagesPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Packages",
          "Create Packages"
        ]
      }
    },
    "/v2/packages/notes": {
      "post": {
        "summary": "Add notes to packages",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcAddPackageNotePayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Packages",
          "Modify Packages"
        ]
      }
    },
    "/v2/packages/create/inputs": {
      "get": {
        "summary": "Input data used for creating new packages",
        "responses": {
          "200": {
            "description": "A dictionary of data used for creating new packages",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcCreatePackageInputsResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          }
        ],
        "tags": [
          "Packages",
          "Create Packages"
        ]
      }
    },
    "/v2/packages/create/source-packages": {
      "get": {
        "summary": "List of packages eligible to be used in creating new packages",
        "responses": {
          "200": {
            "description": "A list of eligible packages for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPackage"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more package filters."
          }
        ],
        "tags": [
          "Packages",
          "Create Packages"
        ]
      }
    },
    "/v2/packages/create/source-items": {
      "get": {
        "summary": "List of items eligible to be used in creating new packages",
        "responses": {
          "200": {
            "description": "A list of eligible items for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcItem"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the item sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__endswith:0003",
            "description": "One or more item filters."
          }
        ],
        "tags": [
          "Packages",
          "Create Packages"
        ]
      }
    },
    "/v2/packages/create/source-tags": {
      "get": {
        "summary": "List of tags eligible to be used in creating new packages",
        "responses": {
          "200": {
            "description": "A list of eligible tags for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcTag"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the tag sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more tag filters."
          }
        ],
        "tags": [
          "Packages",
          "Create Packages"
        ]
      }
    },
    "/v2/packages/create/testing": {
      "post": {
        "summary": "Create one or more packages for testing from existing active packages",
        "description": "**Refer to the request body schema for details on formatting your request**\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcCreateTestingPackagesPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Packages",
          "Package Testing"
        ]
      }
    },
    "/v2/packages/create/testing/inputs": {
      "get": {
        "summary": "Input data used for creating new testing packages",
        "responses": {
          "200": {
            "description": "A dictionary of data used for creating new testing packages",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcCreatePackageInputsResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          }
        ],
        "tags": [
          "Packages",
          "Package Testing"
        ]
      }
    },
    "/v2/packages/create/testing/source-packages": {
      "get": {
        "summary": "List of packages eligible to be used in creating new testing packages",
        "responses": {
          "200": {
            "description": "A list of eligible packages for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPackage"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more package filters."
          }
        ],
        "tags": [
          "Packages",
          "Package Testing"
        ]
      }
    },
    "/v2/packages/create/testing/source-items": {
      "get": {
        "summary": "List of items eligible to be used in creating new testing packages",
        "responses": {
          "200": {
            "description": "A list of eligible items for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcItem"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the item sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__endswith:0003",
            "description": "One or more item filters."
          }
        ],
        "tags": [
          "Packages",
          "Package Testing"
        ]
      }
    },
    "/v2/packages/create/testing/source-tags": {
      "get": {
        "summary": "List of tags eligible to be used in creating new testing packages",
        "responses": {
          "200": {
            "description": "A list of eligible tags for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcTag"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the tag sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more tag filters."
          }
        ],
        "tags": [
          "Packages",
          "Package Testing"
        ]
      }
    },
    "/v2/packages/create/testing/lab-batches": {
      "get": {
        "summary": "List of lab test batches for a product category",
        "description": "Returns lab test batches available for the given product category, used when\nsubmitting packages for testing. The returned batch IDs are submitted in the\n`requiredLabTestBatches` field of the create testing packages payload.\n",
        "responses": {
          "200": {
            "description": "A list of lab test batches for this product category",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcLabBatch"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "in": "query",
            "name": "productCategoryId",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "The product category ID to fetch lab test batches for"
          }
        ],
        "tags": [
          "Packages",
          "Package Testing"
        ]
      }
    },
    "/v2/packages/adjust": {
      "post": {
        "summary": "Adjust one or more active packages",
        "description": "**Refer to the request body schema for details on formatting your request**\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcAdjustPackagesPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Packages",
          "Package Adjustment"
        ]
      }
    },
    "/v2/packages/adjust/inputs": {
      "get": {
        "summary": "Input data used for adjusting packages",
        "responses": {
          "200": {
            "description": "A dictionary of data used for adjusting packages",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcAdjustPackagesInputsResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          }
        ],
        "tags": [
          "Packages",
          "Package Adjustment"
        ]
      }
    },
    "/v2/packages/adjust/source-packages": {
      "get": {
        "summary": "List of active packages eligible for adjustment",
        "responses": {
          "200": {
            "description": "A list of active packages eligible for adjustment",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPackage"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more package filters."
          }
        ],
        "tags": [
          "Packages",
          "Package Adjustment"
        ]
      }
    },
    "/v2/packages/active/report": {
      "get": {
        "summary": "Generate a report of all active packages",
        "description": "**Note: this endpoint supports secret key authentication.**\n",
        "responses": {
          "200": {
            "description": "A list of active packages for this license",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcPackageReportResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "label,item.name,quantity\n1A4400000000000000001234,Package A,10\n1A4400000000000000005678,Package B,5"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/SecretKey"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          },
          {
            "$ref": "#/components/parameters/PrependCsvMetadata"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more package filters."
          },
          {
            "name": "fieldnames",
            "description": "Defines which package fields should appear in the report data.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "label,locationName,item.name,quantity,unitOfMeasureAbbreviation",
              "example": "label,locationName,item.name,quantity,unitOfMeasureAbbreviation"
            }
          }
        ],
        "tags": [
          "Packages",
          "Reports"
        ]
      }
    },
    "/v2/packages/inactive/report": {
      "get": {
        "summary": "Generate a report of all inactive packages",
        "description": "**Note: this endpoint supports secret key authentication.**\n",
        "responses": {
          "200": {
            "description": "A list of inactive packages for this license",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcPackageReportResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "label,item.name,quantity\n1A4400000000000000001234,Package A,10\n1A4400000000000000005678,Package B,5"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/SecretKey"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          },
          {
            "$ref": "#/components/parameters/PrependCsvMetadata"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more package filters."
          },
          {
            "name": "fieldnames",
            "description": "Defines which package fields should appear in the report data.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "label,locationName,item.name,quantity,unitOfMeasureAbbreviation",
              "example": "label,locationName,item.name,quantity,unitOfMeasureAbbreviation"
            }
          }
        ],
        "tags": [
          "Packages",
          "Reports"
        ]
      }
    },
    "/v2/packages/intransit/report": {
      "get": {
        "summary": "Generate a report of all in-transit packages",
        "description": "**Note: this endpoint supports secret key authentication.**\n",
        "responses": {
          "200": {
            "description": "A list of in-transit packages for this license",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcPackageReportResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "label,item.name,quantity\n1A4400000000000000001234,Package A,10\n1A4400000000000000005678,Package B,5"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/SecretKey"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more package filters."
          },
          {
            "$ref": "#/components/parameters/ContentType"
          },
          {
            "$ref": "#/components/parameters/PrependCsvMetadata"
          },
          {
            "name": "fieldnames",
            "description": "Defines which package fields should appear in the report data.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "label,locationName,item.name,quantity,unitOfMeasureAbbreviation",
              "example": "label,locationName,item.name,quantity,unitOfMeasureAbbreviation"
            }
          }
        ],
        "tags": [
          "Packages",
          "Reports"
        ]
      }
    },
    "/v2/packages/transferred/report": {
      "get": {
        "summary": "Generate a report of all transferred packages",
        "description": "**Note: this endpoint supports secret key authentication.**\n",
        "responses": {
          "200": {
            "description": "A list of transferred packages for this license",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcTransferredPackageReportResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "manifestNumber,packageLabel,productName,quantity\n0001234567,1A4400000000000000001234,Package A,10\n0001234567,1A4400000000000000005678,Package B,5"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/SecretKey"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "packageLabel:asc",
            "description": "Defines the package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "packageLabel__endswith:0003",
            "description": "One or more package filters."
          },
          {
            "$ref": "#/components/parameters/ContentType"
          },
          {
            "$ref": "#/components/parameters/PrependCsvMetadata"
          },
          {
            "name": "fieldnames",
            "description": "Defines which package fields should appear in the report data.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "manifestNumber,packageLabel,productName,shippedQuantity,shippedUnitOfMeasureAbbreviation,shipperWholesalePrice",
              "example": "manifestNumber,packageLabel,productName,shippedQuantity,shippedUnitOfMeasureAbbreviation,shipperWholesalePrice"
            }
          }
        ],
        "tags": [
          "Packages",
          "Reports"
        ]
      }
    },
    "/v2/packages/unfinish": {
      "post": {
        "summary": "Unfinish packages",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcUnfinishPackagesPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Packages",
          "Modify Packages"
        ]
      }
    },
    "/v2/permissions/views": {
      "get": {
        "summary": "List of all available permission views",
        "description": "**A T3+ subscription is not required to use this endpoint**\n",
        "responses": {
          "200": {
            "description": "A list of permission views available to this account",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "example": [
                    "packages",
                    "admin/items",
                    "plants"
                  ],
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          }
        ],
        "tags": [
          "Permissions",
          "Free"
        ]
      }
    },
    "/v2/permissions": {
      "get": {
        "summary": "List of all permissions within a single view",
        "description": "**A T3+ subscription is not required to use this endpoint**\n",
        "responses": {
          "200": {
            "description": "A list of accessible permissions for the specified view",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "example": [
                    "create_harvest",
                    "split_plantings",
                    "unfinish",
                    "remediate"
                  ],
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "view",
            "description": "Specifies the view to check permissions",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string",
              "example": "packages"
            }
          }
        ],
        "tags": [
          "Permissions",
          "Free"
        ]
      }
    },
    "/v2/transfers/incoming/active": {
      "get": {
        "summary": "List of incoming active transfers",
        "responses": {
          "200": {
            "description": "A list of incoming inactive transfers for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcIncomingTransfer"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "manifestNumber:asc",
            "description": "Defines the transfer sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "manifestNumber__endswith:0003",
            "description": "One or more transfer filters."
          }
        ],
        "tags": [
          "Transfers"
        ]
      }
    },
    "/v2/transfers/incoming/active/super": {
      "get": {
        "summary": "List of incoming active supertransfers. Additional data can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of incoming active supertransfers for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcIncomingSuperTransfer"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "manifestNumber:asc",
            "description": "Defines the transfer sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "manifestNumber__endswith:0003",
            "description": "One or more transfer filters."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SupertransferInclude"
          }
        ],
        "tags": [
          "Transfers",
          "Supercollections"
        ]
      }
    },
    "/v2/transfers/incoming/inactive": {
      "get": {
        "summary": "List of incoming inactive transfers",
        "responses": {
          "200": {
            "description": "A list of incoming active transfers for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcIncomingTransfer"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "manifestNumber:asc",
            "description": "Defines the transfer sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "manifestNumber__endswith:0003",
            "description": "One or more transfer filters."
          }
        ],
        "tags": [
          "Transfers"
        ]
      }
    },
    "/v2/transfers/incoming/inactive/super": {
      "get": {
        "summary": "List of incoming inactive supertransfers. Additional data can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of incoming inactive supertransfers for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcIncomingSuperTransfer"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "manifestNumber:asc",
            "description": "Defines the transfer sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "manifestNumber__endswith:0003",
            "description": "One or more transfer filters."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SupertransferInclude"
          }
        ],
        "tags": [
          "Transfers",
          "Supercollections"
        ]
      }
    },
    "/v2/transfers/outgoing/active": {
      "get": {
        "summary": "List of outgoing active transfers",
        "responses": {
          "200": {
            "description": "A list of outgoing active transfers for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcOutgoingTransfer"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "manifestNumber:asc",
            "description": "Defines the transfer sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "manifestNumber__endswith:0003",
            "description": "One or more transfer filters."
          }
        ],
        "tags": [
          "Transfers"
        ]
      }
    },
    "/v2/transfers/outgoing/active/super": {
      "get": {
        "summary": "List of outgoing active supertransfers. Additional data can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of outgoing active supertransfers for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcOutgoingSuperTransfer"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "manifestNumber:asc",
            "description": "Defines the transfer sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "manifestNumber__endswith:0003",
            "description": "One or more transfer filters."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SupertransferInclude"
          }
        ],
        "tags": [
          "Transfers",
          "Supercollections"
        ]
      }
    },
    "/v2/transfers/outgoing/inactive": {
      "get": {
        "summary": "List of outgoing inactive transfers",
        "responses": {
          "200": {
            "description": "A list of outgoing inactive transfers for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcOutgoingTransfer"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "manifestNumber:asc",
            "description": "Defines the transfer sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "manifestNumber__endswith:0003",
            "description": "One or more transfer filters."
          }
        ],
        "tags": [
          "Transfers"
        ]
      }
    },
    "/v2/transfers/outgoing/inactive/super": {
      "get": {
        "summary": "List of outgoing inactive supertransfers. Additional data can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of outgoing inactive supertransfers for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcOutgoingSuperTransfer"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "manifestNumber:asc",
            "description": "Defines the transfer sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "manifestNumber__endswith:0003",
            "description": "One or more transfer filters."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SupertransferInclude"
          }
        ],
        "tags": [
          "Transfers",
          "Supercollections"
        ]
      }
    },
    "/v2/transfers/rejected": {
      "get": {
        "summary": "List of rejected transfers",
        "responses": {
          "200": {
            "description": "A list of rejected transfers for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcOutgoingTransfer"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "manifestNumber:asc",
            "description": "Defines the transfer sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "manifestNumber__endswith:0003",
            "description": "One or more transfer filters."
          }
        ],
        "tags": [
          "Transfers"
        ]
      }
    },
    "/v2/transfers/rejected/super": {
      "get": {
        "summary": "List of rejected outgoing supertransfers. Additional data can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of rejected outgoing supertransfers for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcOutgoingSuperTransfer"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "manifestNumber:asc",
            "description": "Defines the transfer sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "manifestNumber__endswith:0003",
            "description": "One or more transfer filters."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SupertransferInclude"
          }
        ],
        "tags": [
          "Transfers",
          "Supercollections"
        ]
      }
    },
    "/v2/transfers/templates": {
      "get": {
        "summary": "List of transfer templates",
        "responses": {
          "200": {
            "description": "A list of transfer templates for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcTransferTemplate"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "manifestNumber:asc",
            "description": "Defines the transfer sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "manifestNumber__endswith:0003",
            "description": "One or more transfer filters."
          }
        ],
        "tags": [
          "Transfers",
          "Transfer Templates"
        ]
      }
    },
    "/v2/transfers/manifest": {
      "get": {
        "summary": "Get the manifest PDF for a transfer.",
        "responses": {
          "200": {
            "description": "PDF of the manifest",
            "content": {
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/ManifestNumber"
          }
        ],
        "tags": [
          "Transfers",
          "Single Transfer",
          "Files",
          "PDF",
          "Manifests"
        ]
      }
    },
    "/v2/transfers/deliveries": {
      "get": {
        "summary": "List of deliveries for a single transfer",
        "responses": {
          "200": {
            "description": "A list of deliveries for a single transfer",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcTransferDelivery"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/ManifestNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "recipientFacilityName:asc",
            "description": "Defines the delivery sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "recipientFacilityName__endswith:industries",
            "description": "One or more delivery filters."
          }
        ],
        "tags": [
          "Single Transfer",
          "Transfers"
        ]
      }
    },
    "/v2/transfers/transporter-details": {
      "get": {
        "summary": "List of transporter detailss for a single transfer",
        "responses": {
          "200": {
            "description": "A list of transporter details for a single tarnsfer",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcTransferTransporterDetails"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/ManifestNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "transporterFacilityName:asc",
            "description": "Defines the delivery sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "transporterFacilityName__endswith:industries",
            "description": "One or more delivery filters."
          }
        ],
        "tags": [
          "Single Transfer",
          "Transfers"
        ]
      }
    },
    "/v2/transfers/transporters": {
      "get": {
        "summary": "List of transporters for a single delivery",
        "responses": {
          "200": {
            "description": "A list of transporters for a single delivery",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcTransferTransporter"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/DeliveryId"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "transporterFacilityName:asc",
            "description": "Defines the delivery sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "transporterFacilityName__endswith:industries",
            "description": "One or more delivery filters."
          }
        ],
        "tags": [
          "Single Transfer",
          "Transfers"
        ]
      }
    },
    "/v2/transfers/packages": {
      "get": {
        "summary": "List of packages for a single delivery",
        "responses": {
          "200": {
            "description": "A list of packages for a single delivery",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcTransferDelivery"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/DeliveryId"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "packageLabel:asc",
            "description": "Defines the delivery package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "packageLabel__endswith:0003",
            "description": "One or more delivery package filters."
          }
        ],
        "tags": [
          "Single Transfer",
          "Transfers"
        ]
      }
    },
    "/v2/transfers/history": {
      "get": {
        "summary": "List of transfer history objects for a single transfer",
        "responses": {
          "200": {
            "description": "A list of history objects for the specified transfer.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcHistory"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The transfer with manifestNumber={manifestNumber} was not found in the specified license, or you do not have access to view this transfer's history"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/ManifestNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "userName:asc",
            "description": "Defines the history sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "userName__contains:MSmith001",
            "description": "One or more history filters."
          }
        ],
        "tags": [
          "Single Transfer",
          "Transfers",
          "History"
        ]
      }
    },
    "/v2/transfers/create/inputs": {
      "get": {
        "summary": "Input data used for creating new transers",
        "responses": {
          "200": {
            "description": "A dictionary of data used for creating new transfers",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcCreateTransferInputsResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          }
        ],
        "tags": [
          "Transfers",
          "Create Transfers"
        ]
      }
    },
    "/v2/transfers/create": {
      "post": {
        "summary": "Create a transfer",
        "description": "**Refer to the request body schema for details on formatting your request**\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcCreateTransfersPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Transfers",
          "Create Transfers"
        ]
      }
    },
    "/v2/transfers/update": {
      "post": {
        "summary": "Update a transfer",
        "description": "**Refer to the request body schema for details on formatting your request**\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcUpdateTransfersPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Transfers",
          "Modify Transfer"
        ]
      }
    },
    "/v2/transfers/void": {
      "post": {
        "summary": "Void one transfer",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcVoidTransferPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Transfers",
          "Modify Transfer"
        ]
      }
    },
    "/v2/transfers/templates/create": {
      "post": {
        "summary": "Create a transfer template",
        "description": "**Refer to the request body schema for details on formatting your request**\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcCreateTransferTemplatesPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Transfers",
          "Transfer Templates",
          "Create Transfers"
        ]
      }
    },
    "/v2/transfers/templates/update": {
      "post": {
        "summary": "Update a transfer template",
        "description": "**Refer to the request body schema for details on formatting your request**\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcUpdateTransferTemplatesPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Transfer Templates",
          "Modify Transfer Template"
        ]
      }
    },
    "/v2/transfers/templates/archive": {
      "post": {
        "summary": "Archive one transfer template",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcArchiveTransferTemplatePayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Transfers",
          "Transfer Templates",
          "Modify Transfer"
        ]
      }
    },
    "/v2/transfers/create/destinations": {
      "get": {
        "summary": "List of destination facilities eligible to be used in creating new transfers",
        "responses": {
          "200": {
            "description": "A list of eligible facilities for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcFacility"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "facilityName:asc",
            "description": "Defines the facility sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "facilityName__endswith:LLC",
            "description": "One or more facility filters."
          }
        ],
        "tags": [
          "Packages",
          "Transfers",
          "Facilities",
          "Create Transfers"
        ]
      }
    },
    "/v2/transfers/create/transporters": {
      "get": {
        "summary": "List of transporter facilities eligible to be used in creating new transfers",
        "responses": {
          "200": {
            "description": "A list of eligible facilities for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcFacility"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "facilityName:asc",
            "description": "Defines the facility sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "facilityName__endswith:LLC",
            "description": "One or more facility filters."
          }
        ],
        "tags": [
          "Packages",
          "Transfers",
          "Facilities",
          "Create Transfers"
        ]
      }
    },
    "/v2/transfers/create/packages": {
      "get": {
        "summary": "List of packages eligible to be used in creating new transfers",
        "responses": {
          "200": {
            "description": "A list of eligible packages for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPackage"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more package filters."
          }
        ],
        "tags": [
          "Packages",
          "Transfers",
          "Create Transfers"
        ]
      }
    },
    "/v2/transfers/incoming/manifest/report": {
      "get": {
        "summary": "Generate a report of all incoming transfer manifests",
        "description": "**Note: this endpoint supports secret key authentication.**\n",
        "responses": {
          "200": {
            "description": "A list of transfer manifests for this license",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IncomingTransferManifestReportResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "transfer.manifestNumber,transfer.recipientFacilityLicenseNumber,transfer.recipientFacilityName,package.packageLabel,package.productName,package.shippedQuantity,package.shippedUnitOfMeasureAbbreviation\n1000056,1A4400000000000000001234,Blue Dream Flower,10,g\n1000056,1A4400000000000000001235,Blue Dream Flower,10,g\n1000057,1A4400000000000000005678,Blue Dream Flower,5,g"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/SecretKey"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          },
          {
            "$ref": "#/components/parameters/PrependCsvMetadata"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the transfer sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "manifestNumber__endswith:0003",
            "description": "One or more transfer filters."
          },
          {
            "name": "fieldnames",
            "description": "Defines which transfer manifest fields should appear in the report data.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "transfer.manifestNumber,transfer.recipientFacilityLicenseNumber,transfer.recipientFacilityName,transporter.transporterFacilityName,transporter.transporterFacilityLicenseNumber,package.packageLabel,package.productName,package.shippedQuantity,package.shippedUnitOfMeasureAbbreviation",
              "example": "transfer.manifestNumber,transfer.recipientFacilityLicenseNumber,transfer.recipientFacilityName,transporter.transporterFacilityName,transporter.transporterFacilityLicenseNumber,package.packageLabel,package.productName,package.shippedQuantity,package.shippedUnitOfMeasureAbbreviation"
            }
          }
        ],
        "tags": [
          "Transfers",
          "Reports",
          "Manifests"
        ]
      }
    },
    "/v2/transfers/outgoing/manifest/report": {
      "get": {
        "summary": "Generate a report of all outgoing transfer manifests",
        "description": "**Note: this endpoint supports secret key authentication.**\n",
        "responses": {
          "200": {
            "description": "A list of transfer manifests for this license",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutgoingTransferManifestReportResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "transfer.manifestNumber,delivery.recipientFacilityLicenseNumber,delivery.recipientFacilityName,package.packageLabel,package.productName,package.shippedQuantity,package.shippedUnitOfMeasureAbbreviation\n1000056,EX-00001,Sample Facility LLC,1A4400000000000000001234,Blue Dream Flower,10\n1000056,EX-00001,Sample Facility LLC,1A4400000000000000001235,Blue Dream Flower,10\n1000057,EX-00002,Sample Growers LLC,1A4400000000000000005678,Blue Dream Flower,5"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/SecretKey"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          },
          {
            "$ref": "#/components/parameters/PrependCsvMetadata"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the transfer sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "manifestNumber__endswith:0003",
            "description": "One or more transfer filters."
          },
          {
            "name": "fieldnames",
            "description": "Defines which transfer manifest fields should appear in the report data.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "transfer.manifestNumber,delivery.recipientFacilityLicenseNumber,delivery.recipientFacilityName,transporter.transporterFacilityName,transporter.transporterFacilityLicenseNumber,transporterDetails.driverName,transporterDetails.driverVehicleLicenseNumber,transporterDetails.vehicleMake,transporterDetails.vehicleModel,transporterDetails.vehicleLicensePlateNumber,package.packageLabel,package.productName,package.shippedQuantity,package.shippedUnitOfMeasureAbbreviation",
              "example": "transfer.manifestNumber,delivery.recipientFacilityLicenseNumber,delivery.recipientFacilityName,transporter.transporterFacilityName,transporter.transporterFacilityLicenseNumber,transporterDetails.driverName,transporterDetails.driverVehicleLicenseNumber,transporterDetails.vehicleMake,transporterDetails.vehicleModel,transporterDetails.vehicleLicensePlateNumber,package.packageLabel,package.productName,package.shippedQuantity,package.shippedUnitOfMeasureAbbreviation"
            }
          }
        ],
        "tags": [
          "Transfers",
          "Reports",
          "Manifests"
        ]
      }
    },
    "/v2/plants/vegetative": {
      "get": {
        "summary": "List of vegetative plants",
        "description": "NOTE: States such as CA do not use vegetative plants, plant batches are promoted directly to flowering.\n",
        "responses": {
          "200": {
            "description": "A list of vegetative plants for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPlant"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the plant sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more plant filters."
          }
        ],
        "tags": [
          "Plants"
        ]
      }
    },
    "/v2/plants/vegetative/super": {
      "get": {
        "summary": "List of vegetative superplants. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of vegetative superplants for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperplant"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SuperplantInclude"
          }
        ],
        "tags": [
          "Plants",
          "Supercollections"
        ]
      }
    },
    "/v2/plants/vegetative/report": {
      "get": {
        "summary": "Generate a report of all vegetative plants",
        "description": "**Note: this endpoint supports secret key authentication.**\n",
        "responses": {
          "200": {
            "description": "A list of vegetative plants for this license",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcPlantReportResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "label,strainName,locationName\n1A4400000000000000001234,Pineapple Express,Row 10\n1A4400000000000000005678,Pineapple Express,Row 5"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/SecretKey"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          },
          {
            "$ref": "#/components/parameters/PrependCsvMetadata"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the plant sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more plant filters."
          },
          {
            "name": "fieldnames",
            "description": "Defines which plant fields should appear in the report data.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "label,locationName,strainName,plantedDate",
              "example": "label,locationName,strainName,plantedDate"
            }
          }
        ],
        "tags": [
          "Plants",
          "Reports"
        ]
      }
    },
    "/v2/plants/flowering": {
      "get": {
        "summary": "List of flowering plants",
        "responses": {
          "200": {
            "description": "A list of flowering plants for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPlant"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the plant sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more plant filters."
          }
        ],
        "tags": [
          "Plants"
        ]
      }
    },
    "/v2/plants/flowering/super": {
      "get": {
        "summary": "List of flowering superplants. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of flowering superplants for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperplant"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SuperplantInclude"
          }
        ],
        "tags": [
          "Plants",
          "Supercollections"
        ]
      }
    },
    "/v2/plants/mother/active": {
      "get": {
        "summary": "List of active mother plants",
        "description": "NOTE: Not all states implement mother plants in Metrc ",
        "responses": {
          "200": {
            "description": "A list of active mother plants for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPlant"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the plant sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more plant filters."
          }
        ],
        "tags": [
          "Plants"
        ]
      }
    },
    "/v2/plants/mother/active/super": {
      "get": {
        "summary": "List of active mother superplants. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of active mother superplants for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperplant"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SuperplantInclude"
          }
        ],
        "tags": [
          "Plants",
          "Supercollections"
        ]
      }
    },
    "/v2/plants/mother/onhold": {
      "get": {
        "summary": "List of on hold mother plants",
        "description": "NOTE: Not all states implement mother plants in Metrc ",
        "responses": {
          "200": {
            "description": "A list of on hold mother plants for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPlant"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the plant sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more plant filters."
          }
        ],
        "tags": [
          "Plants"
        ]
      }
    },
    "/v2/plants/mother/onhold/super": {
      "get": {
        "summary": "List of on-hold mother superplants. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of on-hold mother superplants for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperplant"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SuperplantInclude"
          }
        ],
        "tags": [
          "Plants",
          "Supercollections"
        ]
      }
    },
    "/v2/plants/mother/inactive": {
      "get": {
        "summary": "List of on hold mother plants",
        "description": "NOTE: Not all states implement mother plants in Metrc ",
        "responses": {
          "200": {
            "description": "A list of on hold mother plants for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPlant"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the plant sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more plant filters."
          }
        ],
        "tags": [
          "Plants"
        ]
      }
    },
    "/v2/plants/mother/inactive/super": {
      "get": {
        "summary": "List of inactive mother superplants. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of inactive mother superplants for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperplant"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SuperplantInclude"
          }
        ],
        "tags": [
          "Plants",
          "Supercollections"
        ]
      }
    },
    "/v2/plants/mother/active/report": {
      "get": {
        "summary": "Generate a report of all active mother plants",
        "description": "NOTE: Not all states implement mother plants in Metrc ",
        "responses": {
          "200": {
            "description": "A list of active mother plants for this license",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcPlantReportResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "label,strainName,locationName\n1A4400000000000000001234,Pineapple Express,Row 10\n1A4400000000000000005678,Pineapple Express,Row 5"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/SecretKey"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          },
          {
            "$ref": "#/components/parameters/PrependCsvMetadata"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the plant sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more plant filters."
          },
          {
            "name": "fieldnames",
            "description": "Defines which plant fields should appear in the report data.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "label,locationName,strainName,plantedDate",
              "example": "label,locationName,strainName,plantedDate"
            }
          }
        ],
        "tags": [
          "Plants",
          "Reports"
        ]
      }
    },
    "/v2/plants/flowering/report": {
      "get": {
        "summary": "Generate a report of all flowering plants",
        "description": "**Note: this endpoint supports secret key authentication.**\n",
        "responses": {
          "200": {
            "description": "A list of flowering plants for this license",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcPlantReportResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "label,strainName,locationName\n1A4400000000000000001234,Pineapple Express,Row 10\n1A4400000000000000005678,Pineapple Express,Row 5"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/SecretKey"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          },
          {
            "$ref": "#/components/parameters/PrependCsvMetadata"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the plant sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more plant filters."
          },
          {
            "name": "fieldnames",
            "description": "Defines which plant fields should appear in the report data.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "label,locationName,strainName,plantedDate",
              "example": "label,locationName,strainName,plantedDate"
            }
          }
        ],
        "tags": [
          "Plants",
          "Reports"
        ]
      }
    },
    "/v2/plants/onhold": {
      "get": {
        "responses": {
          "200": {
            "description": "A list of on hold plants for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPlant"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the plant sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more plant filters."
          }
        ],
        "tags": [
          "Plants"
        ]
      }
    },
    "/v2/plants/onhold/super": {
      "get": {
        "summary": "List of on-hold superplants. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of on-hold superplants for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperplant"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SuperplantInclude"
          }
        ],
        "tags": [
          "Plants",
          "Supercollections"
        ]
      }
    },
    "/v2/plants/inactive": {
      "get": {
        "summary": "List of inactive plants",
        "responses": {
          "200": {
            "description": "A list of inactive plants for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPlant"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "label:asc",
            "description": "Defines the plant sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "label__endswith:0003",
            "description": "One or more plant filters."
          }
        ],
        "tags": [
          "Plants"
        ]
      }
    },
    "/v2/plants/inactive/super": {
      "get": {
        "summary": "List of inactive superplants. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of inactive superplants for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperplant"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SuperplantInclude"
          }
        ],
        "tags": [
          "Plants",
          "Supercollections"
        ]
      }
    },
    "/v2/plants/history": {
      "get": {
        "summary": "List of history objects for a single plant",
        "responses": {
          "200": {
            "description": "A list of package history objects for the specified plant.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcHistory"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "The plant with id={plantId} was not found in the specified license, or you do not have access to view this plant's history"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "plantId",
            "description": "ID of the target plant",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "userName:asc",
            "description": "Defines the history sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "userName__contains:MSmith001",
            "description": "One or more history filters."
          }
        ],
        "tags": [
          "Plants",
          "Single Plant",
          "History"
        ]
      }
    },
    "/v2/plantbatches/active": {
      "get": {
        "summary": "List of active plant batches",
        "description": "NOTE: States such as CA use Metrc plant tags as names, other states allow unrestricted names for plant batches.\n",
        "responses": {
          "200": {
            "description": "A list of active plantbatches for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPlantBatch"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the plant batch sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__endswith:0003",
            "description": "One or more plant batch filters."
          }
        ],
        "tags": [
          "Plant Batches"
        ]
      }
    },
    "/v2/plantbatches/active/super": {
      "get": {
        "summary": "List of active superplantbatches. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of active superplantbatches for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperplantbatch"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the plant batch sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__contains:BATCH",
            "description": "One or more plant batch filters."
          },
          {
            "$ref": "#/components/parameters/SuperplantbatchInclude"
          }
        ],
        "tags": [
          "Plant Batches",
          "Supercollections"
        ]
      }
    },
    "/v2/plantbatches/active/report": {
      "get": {
        "summary": "Generate a report of all active plant batches",
        "description": "**Note: this endpoint supports secret key authentication.**\n",
        "responses": {
          "200": {
            "description": "A list of active plant batches for this license",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcPlantBatchReportResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "name,strainName,locationName\n1A4400000000000000001234,Pineapple Express,Row 10\n1A4400000000000000005678,Pineapple Express,Row 5"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/SecretKey"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          },
          {
            "$ref": "#/components/parameters/PrependCsvMetadata"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the plant batch sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__endswith:0003",
            "description": "One or more plant batch filters."
          },
          {
            "name": "fieldnames",
            "description": "Defines which plant fields should appear in the report data.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "name,locationName,strainName,plantedDate,untrackedCount",
              "example": "name,locationName,strainName,plantedDate,untrackedCount"
            }
          }
        ],
        "tags": [
          "Plant Batches",
          "Reports"
        ]
      }
    },
    "/v2/plantbatches/onhold": {
      "get": {
        "summary": "List of on hold plantbatches",
        "responses": {
          "200": {
            "description": "A list of on hold plantbatches for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPlantBatch"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the plant batch sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__endswith:0003",
            "description": "One or more plant batch filters."
          }
        ],
        "tags": [
          "Plant Batches"
        ]
      }
    },
    "/v2/plantbatches/onhold/super": {
      "get": {
        "summary": "List of on-hold superplantbatches. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of on-hold superplantbatches for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperplantbatch"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the plant batch sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__contains:BATCH",
            "description": "One or more plant batch filters."
          },
          {
            "$ref": "#/components/parameters/SuperplantbatchInclude"
          }
        ],
        "tags": [
          "Plant Batches",
          "Supercollections"
        ]
      }
    },
    "/v2/plantbatches/inactive": {
      "get": {
        "summary": "List of inactive plantbatches",
        "responses": {
          "200": {
            "description": "A list of inactive plantbatches for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcPlantBatch"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the plant batch sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__endswith:0003",
            "description": "One or more plant batch filters."
          }
        ],
        "tags": [
          "Plant Batches"
        ]
      }
    },
    "/v2/plantbatches/inactive/super": {
      "get": {
        "summary": "List of inactive superplantbatches. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of inactive superplantbatches for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperplantbatch"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the plant batch sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__contains:BATCH",
            "description": "One or more plant batch filters."
          },
          {
            "$ref": "#/components/parameters/SuperplantbatchInclude"
          }
        ],
        "tags": [
          "Plant Batches",
          "Supercollections"
        ]
      }
    },
    "/v2/plantbatches/history": {
      "get": {
        "summary": "List of history objects for a single plant batch",
        "description": "NOTE: only supports INACTIVE plant batches\n",
        "responses": {
          "200": {
            "description": "A list of package history objects for the specified plant batch.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcHistory"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "The plant batch with id={plantBatchId} was not found in the specified license, or you do not have access to view this plant batch's history"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "plantBatchId",
            "description": "ID of the target plant batch",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "userName:asc",
            "description": "Defines the history sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "userName__contains:MSmith001",
            "description": "One or more history filters."
          }
        ],
        "tags": [
          "Plant Batches",
          "Single Plant Batch",
          "History"
        ]
      }
    },
    "/v2/harvests/active": {
      "get": {
        "summary": "List of active harvests",
        "responses": {
          "200": {
            "description": "A list of active harvests for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcHarvest"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the harvest sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__endswith:0003",
            "description": "One or more harvest filters."
          }
        ],
        "tags": [
          "Harvests"
        ]
      }
    },
    "/v2/harvests/active/super": {
      "get": {
        "summary": "List of active superharvests. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of active superharvests for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperharvest"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SuperharvestInclude"
          }
        ],
        "tags": [
          "Harvests",
          "Supercollections"
        ]
      }
    },
    "/v2/harvests/active/report": {
      "get": {
        "summary": "Generate a report of all active harvests",
        "description": "**Note: this endpoint supports secret key authentication.**\n",
        "responses": {
          "200": {
            "description": "A list of active harvests for this license",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcHarvestReportResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "name,dryingLocationName,plantCount\nHarvest001,Curing Room,100\nHarvest002,Curing Room,85"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/SecretKey"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          },
          {
            "$ref": "#/components/parameters/PrependCsvMetadata"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the harvest sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__endswith:0003",
            "description": "One or more harvest filters."
          },
          {
            "name": "fieldnames",
            "description": "Defines which plant fields should appear in the report data.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "name,harvestStartDate,dryingLocationName,plantCount,currentWeight,totalWetWeight,totalPackagedWeight,totalWasteWeight,unitOfWeightAbbreviation",
              "example": "name,harvestStartDate,dryingLocationName,plantCount,currentWeight,totalWetWeight,totalPackagedWeight,totalWasteWeight,unitOfWeightAbbreviation"
            }
          }
        ],
        "tags": [
          "Harvests",
          "Reports"
        ]
      }
    },
    "/v2/harvests/onhold": {
      "get": {
        "summary": "List of on hold harvests",
        "responses": {
          "200": {
            "description": "A list of on hold harvests for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcHarvest"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the harvest sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__endswith:0003",
            "description": "One or more harvest filters."
          }
        ],
        "tags": [
          "Harvests"
        ]
      }
    },
    "/v2/harvests/onhold/super": {
      "get": {
        "summary": "List of on-hold superharvests. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of on-hold superharvests for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperharvest"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SuperharvestInclude"
          }
        ],
        "tags": [
          "Harvests",
          "Supercollections"
        ]
      }
    },
    "/v2/harvests/inactive": {
      "get": {
        "summary": "List of inactive harvests",
        "responses": {
          "200": {
            "description": "A list of inactive harvests for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcHarvest"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the harvest sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__endswith:0003",
            "description": "One or more harvest filters."
          }
        ],
        "tags": [
          "Harvests"
        ]
      }
    },
    "/v2/harvests/inactive/super": {
      "get": {
        "summary": "List of inactive superharvests. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of inactive superharvests for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSuperharvest"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SuperharvestInclude"
          }
        ],
        "tags": [
          "Harvests",
          "Supercollections"
        ]
      }
    },
    "/v2/harvests/inactive/report": {
      "get": {
        "summary": "Generate a report of all inactive harvests",
        "description": "**Note: this endpoint supports secret key authentication.**\n",
        "responses": {
          "200": {
            "description": "A list of inactive harvests for this license",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcHarvestReportResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "name,dryingLocationName,plantCount\nHarvest001,Curing Room,100\nHarvest002,Curing Room,85"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/SecretKey"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          },
          {
            "$ref": "#/components/parameters/PrependCsvMetadata"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the harvest sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__endswith:0003",
            "description": "One or more harvest filters."
          },
          {
            "name": "fieldnames",
            "description": "Defines which plant fields should appear in the report data.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "name,harvestStartDate,dryingLocationName,plantCount,currentWeight,totalWetWeight,totalPackagedWeight,totalWasteWeight,unitOfWeightAbbreviation",
              "example": "name,harvestStartDate,dryingLocationName,plantCount,currentWeight,totalWetWeight,totalPackagedWeight,totalWasteWeight,unitOfWeightAbbreviation"
            }
          }
        ],
        "tags": [
          "Harvests",
          "Reports"
        ]
      }
    },
    "/v2/harvests/history": {
      "get": {
        "summary": "List of history objects for a single harvest.",
        "description": "NOTE: only supports INACTIVE harvests\n",
        "responses": {
          "200": {
            "description": "A list of history objects for the specified harvest.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcHistory"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "The harvest with id={harvestId} was not found in the specified license, or you do not have access to view this harvest's history"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "plantId",
            "description": "ID of the target harvest",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "userName:asc",
            "description": "Defines the history sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "userName__contains:MSmith001",
            "description": "One or more history filters."
          }
        ],
        "tags": [
          "Harvests",
          "Single Harvest",
          "History"
        ]
      }
    },
    "/v2/harvests/plants": {
      "get": {
        "summary": "List of harvest plant objects for a single harvest.",
        "description": "NOTE: only supports INACTIVE harvests\n",
        "responses": {
          "200": {
            "description": "A list of harvest plant objects for the specified harvest.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcHarvestPlant"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "The harvest with id={harvestId} was not found in the specified license, or you do not have access to view this harvest's plants"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "plantId",
            "description": "ID of the target harvest",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "userName:asc",
            "description": "Defines the harvest plant sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "userName__contains:MSmith001",
            "description": "One or more harvest plant filters."
          }
        ],
        "tags": [
          "Harvests",
          "Plants",
          "Single Harvest"
        ]
      }
    },
    "/v2/harvests/packages": {
      "get": {
        "summary": "List of harvest package objects for a single harvest.",
        "description": "NOTE: only supports INACTIVE harvests\n",
        "responses": {
          "200": {
            "description": "A list of harvest package objects for the specified harvest.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcHarvestPackage"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "The harvest with id={harvestId} was not found in the specified license, or you do not have access to view this harvest's packages"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "packageId",
            "description": "ID of the target harvest",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "userName:asc",
            "description": "Defines the harvest package sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "userName__contains:MSmith001",
            "description": "One or more harvest package filters."
          }
        ],
        "tags": [
          "Harvests",
          "Packages",
          "Single Harvest"
        ]
      }
    },
    "/v2/harvests/create": {
      "post": {
        "summary": "Harvest plants",
        "description": "Harvest one or more plants currently in the Flowering state. The plants\nare consumed by the operation and roll up under the harvest record named\nby `harvestName`.\n\n**Refer to the request body schema for details on formatting your request.**\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcCreatePlantHarvestPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Harvests",
          "Create Harvest"
        ]
      }
    },
    "/v2/harvests/create/inputs": {
      "get": {
        "summary": "Input data for harvesting plants",
        "description": "Returns the reference data needed to build a [Create Harvest](#/Harvests/post_v2_harvests_create)\nrequest body \u2014 eligible drying locations, available units of weight, and\nstate-specific sublocation/patient/detail rows where applicable.\n",
        "responses": {
          "200": {
            "description": "Reference data for harvesting plants.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcHarvestPlantsInputsResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          }
        ],
        "tags": [
          "Harvests",
          "Create Harvest"
        ]
      }
    },
    "/v2/harvests/manicure": {
      "post": {
        "summary": "Manicure plants",
        "description": "Manicure (partially harvest) one or more plants currently in the Flowering\nstate. The plants remain in Flowering and can be harvested or manicured\nagain. The manicured material rolls up under the harvest record named by\n`harvestName`.\n\n**Refer to the request body schema for details on formatting your request.**\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcCreatePlantManicurePayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Harvests",
          "Create Manicure"
        ]
      }
    },
    "/v2/harvests/manicure/inputs": {
      "get": {
        "summary": "Input data for manicuring plants",
        "description": "Returns the reference data needed to build a [Create Manicure](#/Harvests/post_v2_harvests_manicure)\nrequest body \u2014 eligible drying locations, available units of weight, and\nstate-specific sublocation/patient/detail rows where applicable. Shape is\nidentical to the harvest inputs response.\n",
        "responses": {
          "200": {
            "description": "Reference data for manicuring plants.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcHarvestPlantsInputsResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          }
        ],
        "tags": [
          "Harvests",
          "Create Manicure"
        ]
      }
    },
    "/v2/search": {
      "get": {
        "summary": "Cross-endpoint text search",
        "description": "Searches multiple Metrc collection endpoints in parallel for objects matching\na free-text query, returning a single ranked list of results.\n\n\n**A T3+ subscription is not required to use this endpoint.**\n\n\n### How it works\n\n1. The query string is run through **format detection**. A single query can\n   match multiple formats \u2014 for example, `\"12345\"` is both `INTEGER` and\n   `HEX_STRING`. The detected formats are returned in `detectedQueryFormats`.\n2. The set of endpoints to query is built. If `endpointIds` is omitted, the\n   17 default-enabled endpoints are used. If `endpointIds` is provided, exactly\n   that set is used.\n3. Endpoints whose searchable fields are not compatible with any detected\n   query format are **skipped** and reported in `skippedMetrcEndpointIds`. For\n   example, `\"Blue Dream\"` (`BASIC_STRING`) skips transfer endpoints because\n   they only search `manifestNumber` (`INTEGER` / numeric `BASIC_STRING` only).\n4. The remaining endpoints are queried in parallel. Each downstream endpoint\n   is asked for at most `pageSize` matches (default 10, max 100), so the\n   maximum number of results in a single response is\n   `len(queriedMetrcEndpointIds) * pageSize`.\n5. All results are scored and returned as a single flat list sorted by `score`\n   descending.\n\n\n### Query formats\n\n- `DATETIME` \u2014 ISO 8601 date or datetime such as `2024-07-17` or\n  `2024-07-17T12:00:00Z`. Matches `\\d{4}-\\d{2}-\\d{2}` optionally followed by\n  a time component.\n- `HEX_STRING` \u2014 starts with `1A` (the Metrc tag prefix) **or** is composed\n  entirely of hex characters (`0-9a-fA-F`). Examples: `1A4FF0100000022000000123`,\n  `deadbeef`.\n- `INTEGER` \u2014 all digits. Examples: `12345`, `1234566`.\n- `BASIC_STRING` \u2014 fallback for anything that doesn't match a more specific\n  format. Examples: `Blue Dream`, `HARVEST0001`.\n\n\n> Note: no endpoint currently searches date fields, so a pure `DATETIME`\n> query returns an empty `data` array with every targeted endpoint reported\n> in `skippedMetrcEndpointIds`. Use a tag, label, manifest number, or name\n> to get matches.\n\n\n### Latency\n\nLatency is dominated by the slowest single downstream Metrc call. Tag, item,\nlocation, and strain searches typically return in well under a second; package,\nplant, and especially transfer searches can take several seconds. Narrow the\nquery with `endpointIds` for faster, more predictable response times.\n\n\n### Streaming responses\n\nSet `stream=true` (or send `Accept: text/event-stream`) to receive results as\nServer-Sent Events. Instead of one final JSON payload, the response is a\nstream of `event: result` messages \u2014 one per completed downstream endpoint \u2014\nfollowed by a terminal `event: done` message carrying the queried, failed,\nskipped, and detected-formats summary.\n\n\nEach `result` event payload contains `endpointId`, a `status` of `success`\nor `failed`, an `error` field (failures only), and a `results` array sorted\nby `score` descending. Clients can render or merge each event as it arrives,\nrather than waiting for the slowest endpoint.\n\n\nSee the [Search wiki page](https://wiki.trackandtrace.tools/t3-api/search/)\nfor the full endpoint catalog and worked examples.\n",
        "responses": {
          "200": {
            "description": "Ranked search results across all queried endpoints. Returned as a single\nJSON object by default, or as a stream of Server-Sent Events when\n`stream=true` (or `Accept: text/event-stream`) is requested.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              },
              "text/event-stream": {
                "schema": {
                  "$ref": "#/components/schemas/SearchEventStream"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid. Common causes:\n\n- `query` parameter missing\n- `query` parameter empty after trimming whitespace\n- `query` parameter is a pure ISO 8601 date/datetime \u2014 no endpoint\n  searches date fields, so this would silently return empty results.\n  Use a tag, label, manifest number, or name instead\n- `licenseNumber` parameter missing\n- `endpointIds` contained an unknown endpoint ID \u2014 the error message\n  names the specific unrecognized IDs\n- `pageSize` was not an integer or was outside [1, 100]\n- `minScore` was not a number or was outside [0.0, 1.0]\n"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "query",
            "in": "query",
            "required": true,
            "description": "The text to search for. Whitespace is trimmed. The string is classified\nagainst the four query formats described above; this classification gates\nwhich endpoints are queried versus skipped.\n\n\nCommon patterns:\n\n- **Tag scan** \u2014 pass the full or partial tag, e.g. `1A4FF0100000022000000123`\n  or just the tail `0000123`. Triggers `HEX_STRING` and (if all digits)\n  `INTEGER`.\n- **Manifest lookup** \u2014 pass the manifest number, e.g. `1234566`. Triggers\n  `INTEGER`.\n- **Item / strain / location / harvest name** \u2014 pass a partial name, e.g.\n  `Blue Dream`. Triggers `BASIC_STRING`.\n",
            "schema": {
              "type": "string"
            },
            "examples": {
              "tag": {
                "summary": "Tag scan (HEX_STRING + INTEGER)",
                "value": "1A4FF0100000022000000123"
              },
              "manifest": {
                "summary": "Manifest number (INTEGER)",
                "value": "1234566"
              },
              "name": {
                "summary": "Item or strain name (BASIC_STRING)",
                "value": "Blue Dream"
              }
            }
          },
          {
            "name": "endpointIds",
            "in": "query",
            "required": false,
            "description": "Comma-separated list of Metrc endpoints to query. Restricts the search to\nexactly the endpoints listed (overriding the default-enabled set). Useful\nfor narrowing latency or scope when the caller already knows what they're\nlooking for.\n\n\n**Omit this parameter** to query the 17 default-enabled endpoints.\n**Provide this parameter** to query exactly the listed endpoints \u2014 this\ncan include endpoints that are off by default (e.g. `INACTIVE_PACKAGES`,\n`VOIDED_TAGS`).\n\n\nAll listed IDs must be valid search endpoints; an unknown ID returns\n`400 Bad Request`.\n\n\nDefault-enabled endpoints (queried when `endpointIds` is omitted):\n`AVAILABLE_TAGS`, `USED_TAGS`, `ACTIVE_ITEMS`, `ACTIVE_LOCATIONS`,\n`ACTIVE_STRAINS`, `ACTIVE_HARVESTS`, `ACTIVE_PLANTBATCHES`,\n`ACTIVE_PACKAGES`, `INTRANSIT_PACKAGES`, `TRANSFERRED_PACKAGES`,\n`VEGETATIVE_PLANTS`, `FLOWERING_PLANTS`, `ACTIVE_MOTHER_PLANTS`,\n`INCOMING_ACTIVE_TRANSFERS`, `OUTGOING_ACTIVE_TRANSFERS`,\n`OUTGOING_REJECTED_TRANSFERS`, `ACTIVE_SALES`.\n\n\nOff-by-default endpoints (must be opted in via `endpointIds`):\n`VOIDED_TAGS`, `INACTIVE_HARVESTS`, `INACTIVE_PLANTBATCHES`,\n`INACTIVE_PACKAGES`, `INACTIVE_PLANTS`, `INACTIVE_MOTHER_PLANTS`,\n`INCOMING_INACTIVE_TRANSFERS`, `OUTGOING_INACTIVE_TRANSFERS`,\n`INACTIVE_SALES`.\n",
            "schema": {
              "type": "string"
            },
            "examples": {
              "plants_only": {
                "summary": "Plant endpoints only",
                "value": "VEGETATIVE_PLANTS,FLOWERING_PLANTS"
              },
              "everything_active": {
                "summary": "All active package endpoints",
                "value": "ACTIVE_PACKAGES,INTRANSIT_PACKAGES,TRANSFERRED_PACKAGES"
              },
              "include_inactive": {
                "summary": "Default packages plus inactive",
                "value": "ACTIVE_PACKAGES,INTRANSIT_PACKAGES,INACTIVE_PACKAGES"
              }
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "Maximum number of matches each downstream Metrc endpoint may return.\nDefaults to 10. Capped at 100. Larger values produce more comprehensive\nresults but proportionally larger responses and slightly slower queries.\n\n\nThe total number of items in `data` is at most\n`len(queriedMetrcEndpointIds) * pageSize`. The response's\n`endpointMetadata` array reports per-endpoint `truncated` and\n`totalAvailable` so callers can tell when raising `pageSize` would yield\nmore matches.\n",
            "schema": {
              "type": "integer",
              "default": 10,
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "minScore",
            "in": "query",
            "required": false,
            "description": "Drop results whose relevance score is below this threshold. Scores are in\n`[0, 1]`; 1.0 represents an exact full-string match. Defaults to 0.0\n(no filtering). Useful for noisy queries where the long tail of low-score\nmatches is just noise.\n\n\nThe filter is applied per-result before sorting and before SSE event\nemission. SSE `result` events still fire for endpoints that produced no\nsurviving results, so clients can tell the endpoint completed.\n",
            "schema": {
              "type": "number",
              "format": "float",
              "default": 0.0,
              "minimum": 0.0,
              "maximum": 1.0
            }
          },
          {
            "name": "stream",
            "in": "query",
            "required": false,
            "description": "When `true`, the response is streamed as Server-Sent Events\n(`Content-Type: text/event-stream`) instead of a single JSON payload. The\nsame effect can be triggered by sending `Accept: text/event-stream`.\n\n\nStreaming clients receive one `event: result` per completed downstream\nendpoint, followed by a terminal `event: done` summary event. See the\n\"Streaming responses\" section above.\n",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "tags": [
          "Search",
          "Free"
        ]
      }
    },
    "/v2/sales/active": {
      "get": {
        "summary": "List of active sales",
        "responses": {
          "200": {
            "description": "A list of active sales for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSalesReceipt"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the sales receipt sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "receiptNumber__contains:003",
            "description": "One or more sales filters."
          }
        ],
        "tags": [
          "Sales Receipts"
        ]
      }
    },
    "/v2/sales/active/super": {
      "get": {
        "summary": "List of active supersales receipts. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of active supersales receipts for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSupersalesReceipt"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SupersalesInclude"
          }
        ],
        "tags": [
          "Sales",
          "Supercollections"
        ]
      }
    },
    "/v2/sales/active/report": {
      "get": {
        "summary": "Generate a report of all active sales",
        "description": "**Note: this endpoint supports secret key authentication.**\n",
        "responses": {
          "200": {
            "description": "A list of active sales receipts for this license",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetrcSalesReceiptReportResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "receiptNumber,salesDateTime,totalPackages,totalPrice\n0001234567,01-01-2024T01:01:01,5,100.50\n0001234568,01-01-2024T01:01:01,6,23.50"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/SecretKey"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          },
          {
            "$ref": "#/components/parameters/PrependCsvMetadata"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the sales receipt sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "name__endswith:0003",
            "description": "One or more sales receipt filters."
          },
          {
            "name": "fieldnames",
            "description": "Defines which sales receipt fields should appear in the report data.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "receiptNumber,salesDateTime,totalPackages,totalPrice",
              "example": "receiptNumber,salesDateTime,totalPackages,totalPrice"
            }
          }
        ],
        "tags": [
          "Sales Receipts",
          "Reports"
        ]
      }
    },
    "/v2/sales/inactive": {
      "get": {
        "summary": "List of inactive sales",
        "responses": {
          "200": {
            "description": "A list of inactive sales for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSalesReceipt"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the sales receipt sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "receiptNumber__contains:003",
            "description": "One or more sales filters."
          }
        ],
        "tags": [
          "Sales Receipts"
        ]
      }
    },
    "/v2/sales/inactive/super": {
      "get": {
        "summary": "List of inactive supersales receipts. Additional metadata can be added using the `include` param.",
        "responses": {
          "200": {
            "description": "A list of inactive supersales receipts for this license",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcSupersalesReceipt"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/CollectionSort"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter"
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/SupersalesInclude"
          }
        ],
        "tags": [
          "Sales",
          "Supercollections"
        ]
      }
    },
    "/v2/sales/transactions": {
      "get": {
        "summary": "List of transactions for a single sales receipt",
        "responses": {
          "200": {
            "description": "A list of transactions for the specified sales receipt",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MetrcTransaction"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "salesReceiptId",
            "description": "ID of the target sales receipt",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "example": 123
            }
          },
          {
            "name": "includeHistory",
            "description": "Enables access to archived transactions in Metrc",
            "in": "query",
            "schema": {
              "type": "boolean",
              "example": true
            }
          },
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionMask"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "$ref": "#/components/parameters/StrictPagination"
          },
          {
            "$ref": "#/components/parameters/CollectionSort",
            "example": "name:asc",
            "description": "Defines the transaction sort order."
          },
          {
            "$ref": "#/components/parameters/CollectionFilterLogic"
          },
          {
            "$ref": "#/components/parameters/CollectionFilter",
            "example": "packageLabel__contains:003",
            "description": "One or more transaction filters."
          }
        ],
        "tags": [
          "Sales Receipts",
          "Single Sales Receipt"
        ]
      }
    },
    "/v2/sales/unfinalize": {
      "post": {
        "summary": "Unfinalize sales receipts",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcUnfinalizeSalesPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Sales Receipts",
          "Modify Sales Receipts"
        ]
      }
    },
    "/v2/sales/void": {
      "post": {
        "summary": "Void one sales receipt",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetrcVoidSalesReceiptPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation completed successfully.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                      "example": "Success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "An error response indicating the Metrc servers are experiencing downtime.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "ServiceUnavailable"
                        },
                        "message": {
                          "type": "string",
                          "example": "503 ServiceUnavailable"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 503
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/Submit"
          },
          {
            "$ref": "#/components/parameters/ApplyDynamicValidation"
          },
          {
            "$ref": "#/components/parameters/SkipDynamicValidationChecks"
          }
        ],
        "tags": [
          "Sales Receipts",
          "Modify Sales Receipts"
        ]
      }
    },
    "/v2/labels/label-template-layouts": {
      "get": {
        "summary": "Returns a list of label template layouts",
        "responses": {
          "200": {
            "description": "A list of label template layouts",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/T3LabelTemplateLayoutsResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Labels",
          "PDF",
          "Free"
        ]
      },
      "post": {
        "summary": "Create a label template layout",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/T3CreateLabelTemplateLayoutPayload"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created label template layout",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/T3LabelTemplateLayoutConfig"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request body"
          }
        },
        "tags": [
          "Labels",
          "PDF"
        ]
      }
    },
    "/v2/labels/label-content-layouts": {
      "get": {
        "summary": "Returns a list of label content layouts",
        "responses": {
          "200": {
            "description": "A list of label content layouts",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/T3LabelContentLayoutsResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Labels",
          "PDF",
          "Free"
        ]
      },
      "post": {
        "summary": "Create a label content layout",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/T3CreateLabelContentLayoutPayload"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created label content layout",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/T3LabelContentLayoutConfig"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request body"
          }
        },
        "tags": [
          "Labels",
          "PDF"
        ]
      }
    },
    "/v2/labels/generate": {
      "post": {
        "summary": "Generate a PDF of labels.",
        "description": "Layout IDs can be found by querying the label template layout and label content layout endpoints.\n\nT3 Free users can only generate watermarked labels. Watermarks can be removed with a T3+ subscription.\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/T3GenerateLabelsPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "PDF of the labels",
            "content": {
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "tags": [
          "Labels",
          "PDF",
          "Free"
        ]
      }
    },
    "/v2/labels/label-template-layouts/{public_id}": {
      "get": {
        "summary": "Get a single label template layout by ID",
        "responses": {
          "200": {
            "description": "The label template layout",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/T3LabelTemplateLayoutConfig"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Template layout not found"
          }
        },
        "parameters": [
          {
            "name": "public_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The label template layout public ID"
          }
        ],
        "tags": [
          "Labels",
          "PDF"
        ]
      },
      "patch": {
        "summary": "Update a label template layout",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/T3UpdateLabelTemplateLayoutPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated label template layout",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/T3LabelTemplateLayoutConfig"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "No fields to update"
          },
          "404": {
            "description": "Template layout not found"
          }
        },
        "parameters": [
          {
            "name": "public_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The label template layout public ID"
          }
        ],
        "tags": [
          "Labels",
          "PDF"
        ]
      },
      "delete": {
        "summary": "Archive a label template layout",
        "description": "Soft-deletes the template layout by setting is_archived to true.",
        "responses": {
          "200": {
            "description": "The template layout was archived",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "publicId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "isArchived": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Template layout not found"
          }
        },
        "parameters": [
          {
            "name": "public_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The label template layout public ID"
          }
        ],
        "tags": [
          "Labels",
          "PDF"
        ]
      }
    },
    "/v2/labels/label-content-layouts/{public_id}": {
      "get": {
        "summary": "Get a single label content layout by ID",
        "responses": {
          "200": {
            "description": "The label content layout",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/T3LabelContentLayoutConfig"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Content layout not found"
          }
        },
        "parameters": [
          {
            "name": "public_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The label content layout public ID"
          }
        ],
        "tags": [
          "Labels",
          "PDF"
        ]
      },
      "patch": {
        "summary": "Update a label content layout",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/T3UpdateLabelContentLayoutPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated label content layout",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/T3LabelContentLayoutConfig"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "No fields to update"
          },
          "404": {
            "description": "Content layout not found"
          }
        },
        "parameters": [
          {
            "name": "public_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The label content layout public ID"
          }
        ],
        "tags": [
          "Labels",
          "PDF"
        ]
      },
      "delete": {
        "summary": "Archive a label content layout",
        "description": "Soft-deletes the content layout by setting is_archived to true.",
        "responses": {
          "200": {
            "description": "The content layout was archived",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "publicId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "isArchived": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Content layout not found"
          }
        },
        "parameters": [
          {
            "name": "public_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The label content layout public ID"
          }
        ],
        "tags": [
          "Labels",
          "PDF"
        ]
      }
    },
    "/v2/tag-lists": {
      "get": {
        "summary": "List all tag lists",
        "description": "Returns tag lists for the specified license number. Each list includes an\n`entryCount` and `scannedCount` summary. To also load every list's full\nentries inline, pass `includeEntries=true` \u2014 this is significantly more\nexpensive for users with many or large lists.\n\nResults are ordered by creation date (newest first) and paginated.\n",
        "responses": {
          "200": {
            "description": "A paginated list of tag lists with their entries",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/TagList"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "$ref": "#/components/parameters/CollectionPage"
          },
          {
            "$ref": "#/components/parameters/CollectionPageSize"
          },
          {
            "name": "isArchived",
            "description": "Filter by archived status. Defaults to `false` (only non-archived lists).\nSet to `true` to return archived lists instead.\n",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "example": false
            }
          },
          {
            "name": "includeEntries",
            "description": "When `true`, every returned tag list includes its full `tagListEntries`\narray. When `false` (default), only `entryCount` and `scannedCount`\nsummaries are returned. Set to `true` only when you need the entries up\nfront; otherwise fetch a single list by ID to load its entries.\n",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "example": false
            }
          }
        ],
        "tags": [
          "Tag Lists",
          "Free"
        ],
        "externalDocs": {
          "description": "Tag Lists \u2014 concepts and usage",
          "url": "https://wiki.trackandtrace.tools/tag-lists/"
        }
      },
      "post": {
        "summary": "Create a new tag list",
        "description": "Creates a new tag list with optional initial entries.\n\nIf `allowDuplicateHandles` is `false` (default), any duplicate handles\nin the `entries` array are silently skipped.\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTagListPayload"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The tag list was created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "The ID of the newly created tag list.",
                          "example": 42
                        },
                        "name": {
                          "type": "string",
                          "nullable": true,
                          "description": "The name the list was created with, or null.",
                          "example": "Room A inventory"
                        },
                        "allowDuplicateHandles": {
                          "type": "boolean",
                          "example": false
                        },
                        "created": {
                          "type": "integer",
                          "description": "The number of entries that were created.",
                          "example": 3
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "tags": [
          "Tag Lists"
        ],
        "externalDocs": {
          "description": "Tag Lists \u2014 concepts and usage",
          "url": "https://wiki.trackandtrace.tools/tag-lists/"
        }
      }
    },
    "/v2/tag-lists/{tag_list_id}": {
      "get": {
        "summary": "Get a tag list by ID",
        "description": "Returns the metadata and all entries for a specific tag list.\n",
        "responses": {
          "200": {
            "description": "The tag list metadata and entries",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/TagListDetail"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Tag list not found"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/LicenseNumber"
          },
          {
            "name": "tag_list_id",
            "description": "The ID of the tag list to retrieve.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 42
            }
          }
        ],
        "tags": [
          "Tag Lists",
          "Free"
        ],
        "externalDocs": {
          "description": "Tag Lists \u2014 concepts and usage",
          "url": "https://wiki.trackandtrace.tools/tag-lists/"
        }
      },
      "patch": {
        "summary": "Update a tag list",
        "description": "Updates a tag list's mutable properties. Provide at least one of `name` or\n`isArchived`. Any field omitted from the request body is left unchanged; the\nresponse echoes back only the fields that were actually updated.\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTagListPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The tag list was updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "example": 42
                        },
                        "name": {
                          "type": "string",
                          "nullable": true,
                          "description": "Present only if `name` was in the request body.",
                          "example": "Room A inventory"
                        },
                        "isArchived": {
                          "type": "boolean",
                          "description": "Present only if `isArchived` was in the request body.",
                          "example": true
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Tag list not found"
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "tag_list_id",
            "description": "The ID of the tag list to update.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 42
            }
          }
        ],
        "tags": [
          "Tag Lists"
        ],
        "externalDocs": {
          "description": "Tag Lists \u2014 concepts and usage",
          "url": "https://wiki.trackandtrace.tools/tag-lists/"
        }
      }
    },
    "/v2/tag-lists/{tag_list_id}/entries": {
      "post": {
        "summary": "Add entries to a tag list",
        "description": "Appends one or more entries to an existing tag list.\n\nIf the tag list has `allowDuplicateHandles` set to `false`, entries with handles\nthat already exist in the list or are duplicated within this request are silently skipped.\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddTagListEntriesPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Entries were appended successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "appended": {
                          "type": "integer",
                          "description": "The number of entries that were appended.",
                          "example": 2
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Tag list not found"
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "tag_list_id",
            "description": "The ID of the tag list to add entries to.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 42
            }
          }
        ],
        "tags": [
          "Tag Lists"
        ],
        "externalDocs": {
          "description": "Tag Lists \u2014 concepts and usage",
          "url": "https://wiki.trackandtrace.tools/tag-lists/"
        }
      }
    },
    "/v2/tag-lists/{tag_list_id}/scan": {
      "post": {
        "summary": "Bulk mark entries as scanned by handle",
        "description": "Finds every entry in this tag list whose `handle` matches one of the supplied\nhandles and sets its `scannedAt` timestamp. Intended for workflows that sweep\nmany tags at once \u2014 for example, an RFID read \u2014 where issuing one PATCH per\nentry would be prohibitively slow.\n\nHandles not found in the list are silently skipped and returned in the\n`handlesNotFound` array so callers can surface unexpected tags.\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScanTagListPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Entries were marked as scanned",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "scanned": {
                          "type": "integer",
                          "description": "Number of entries whose `scannedAt` was updated.",
                          "example": 3
                        },
                        "scannedAt": {
                          "type": "string",
                          "format": "date-time",
                          "description": "The timestamp applied to matching entries.",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "handlesNotFound": {
                          "type": "array",
                          "description": "Supplied handles that did not match any entry in the list.",
                          "items": {
                            "type": "string"
                          },
                          "example": [
                            "1A9..."
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Tag list not found"
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "tag_list_id",
            "description": "The ID of the tag list to scan against.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 42
            }
          }
        ],
        "tags": [
          "Tag Lists"
        ],
        "externalDocs": {
          "description": "Tag Lists \u2014 concepts and usage",
          "url": "https://wiki.trackandtrace.tools/tag-lists/"
        }
      }
    },
    "/v2/tag-lists/{tag_list_id}/entries/{entry_id}": {
      "patch": {
        "summary": "Update a tag list entry",
        "description": "Updates a tag list entry's mutable fields. At least one updatable field\n(`scannedAt`, `metadata`, `name`) must be provided.\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTagListEntryPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The entry was updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "101"
                        },
                        "scannedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true,
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "metadata": {
                          "type": "object",
                          "example": {
                            "note": "Updated note"
                          }
                        },
                        "name": {
                          "type": "string",
                          "nullable": true,
                          "example": "Vault shelf 3"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Tag list or entry not found"
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "tag_list_id",
            "description": "The ID of the tag list containing the entry.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 42
            }
          },
          {
            "name": "entry_id",
            "description": "The ID of the entry to update.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 101
            }
          }
        ],
        "tags": [
          "Tag Lists"
        ],
        "externalDocs": {
          "description": "Tag Lists \u2014 concepts and usage",
          "url": "https://wiki.trackandtrace.tools/tag-lists/"
        }
      },
      "delete": {
        "summary": "Delete a tag list entry",
        "description": "Removes a specific entry from a tag list.\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteTagListEntryPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The entry was deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "deleted": {
                          "type": "boolean",
                          "example": true
                        },
                        "entryId": {
                          "type": "string",
                          "example": "101"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An error response indicating the request was invalid. Refer to the response body for details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "BadRequest"
                        },
                        "message": {
                          "type": "string",
                          "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 400
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Tag list or entry not found"
          },
          "500": {
            "description": "An error response indicating the server experienced an unexpected error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "InternalServerError"
                        },
                        "message": {
                          "type": "string",
                          "example": "500 InternalServerError"
                        },
                        "timestamp": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2024-08-09T12:34:56.789Z"
                        },
                        "url": {
                          "type": "string",
                          "example": "https://api.trackandtrace.tools/some-endpoint"
                        },
                        "status_code": {
                          "type": "integer",
                          "example": 500
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "tag_list_id",
            "description": "The ID of the tag list containing the entry.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 42
            }
          },
          {
            "name": "entry_id",
            "description": "The ID of the entry to delete.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 101
            }
          }
        ],
        "tags": [
          "Tag Lists"
        ],
        "externalDocs": {
          "description": "Tag Lists \u2014 concepts and usage",
          "url": "https://wiki.trackandtrace.tools/tag-lists/"
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "Standard Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\""
      },
      "SecretKeyHeader": {
        "type": "apiKey",
        "in": "header",
        "name": "X-T3-API-Key",
        "description": "T3 secret key passed in a custom HTTP header. Preferred over the query-string form because it does not leak into URLs."
      },
      "SecretKeyQuery": {
        "type": "apiKey",
        "in": "query",
        "name": "secretKey",
        "description": "T3 secret key passed as a query parameter. Supported for backwards compatibility; prefer X-T3-API-Key for new integrations."
      }
    },
    "responses": {
      "SuccessMutationResponse": {
        "description": "The operation completed successfully.\n",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Describes the nature of this successful operation\n- \"Success\" indicates the request passed validation and was successfully passed to Metrc\n- \"Dry run\" indicates the request passed validation, but the request was not sent to Metrc\n",
                  "example": "Success"
                }
              }
            }
          }
        }
      },
      "BadRequestMutationResponse": {
        "description": "An error response indicating the request was invalid. Refer to the response body for details.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "example": "BadRequest"
                    },
                    "message": {
                      "type": "string",
                      "example": "400 Bad Request: Invalid request body: 'note' is a required property"
                    },
                    "timestamp": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2024-08-09T12:34:56.789Z"
                    },
                    "url": {
                      "type": "string",
                      "example": "https://api.trackandtrace.tools/some-endpoint"
                    },
                    "status_code": {
                      "type": "integer",
                      "example": 400
                    }
                  }
                }
              }
            }
          }
        }
      },
      "InternalServerErrorMutationResponse": {
        "description": "An error response indicating the server experienced an unexpected error.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "example": "InternalServerError"
                    },
                    "message": {
                      "type": "string",
                      "example": "500 InternalServerError"
                    },
                    "timestamp": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2024-08-09T12:34:56.789Z"
                    },
                    "url": {
                      "type": "string",
                      "example": "https://api.trackandtrace.tools/some-endpoint"
                    },
                    "status_code": {
                      "type": "integer",
                      "example": 500
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ServiceUnavailableMutationResponse": {
        "description": "An error response indicating the Metrc servers are experiencing downtime.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "example": "ServiceUnavailable"
                    },
                    "message": {
                      "type": "string",
                      "example": "503 ServiceUnavailable"
                    },
                    "timestamp": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2024-08-09T12:34:56.789Z"
                    },
                    "url": {
                      "type": "string",
                      "example": "https://api.trackandtrace.tools/some-endpoint"
                    },
                    "status_code": {
                      "type": "integer",
                      "example": 503
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "schemas": {
      "AccessToken": {
        "type": "string",
        "description": "A JSON web token used to send authenticated API requests",
        "example": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjE2ODciLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuY29tIiwic3ViIjoiMTIzNDU2Nzg5MCIsIm5hbWUiOiJKYW5lIERvZSIsImF1ZCI6Imh0dHBzOi8vZXhhbXBsZS5jb20vYXBpIiwiZXhwIjoxNjA5MzYwMDAwfQ.Q8B8u5h5wvxgK3xN-zsmBbs3_HwPkjFz8wq_Fk2JYfw"
      },
      "AddTagListEntriesPayload": {
        "type": "object",
        "required": [
          "licenseNumber",
          "entries"
        ],
        "properties": {
          "licenseNumber": {
            "type": "string",
            "description": "The license number associated with this tag list.",
            "example": "LIC-00001"
          },
          "entries": {
            "type": "array",
            "description": "Entries to append to the tag list.\n\nIf the tag list has `allowDuplicateHandles` set to `false`, entries with handles\nthat already exist in the list or are duplicated within this request are silently skipped.\n",
            "items": {
              "type": "object",
              "required": [
                "handle"
              ],
              "properties": {
                "handle": {
                  "type": "string",
                  "description": "The tag handle string.",
                  "example": "TAG002"
                },
                "name": {
                  "type": "string",
                  "nullable": true,
                  "description": "Optional freeform human-readable identifier for this entry.",
                  "example": "Vault shelf 3"
                },
                "metadata": {
                  "type": "object",
                  "description": "Optional metadata to associate with this entry.",
                  "example": {
                    "color": "green"
                  }
                }
              }
            }
          }
        }
      },
      "CreateTagListPayload": {
        "type": "object",
        "required": [
          "licenseNumber"
        ],
        "properties": {
          "licenseNumber": {
            "type": "string",
            "description": "The license number to associate this tag list with.",
            "example": "LIC-00001"
          },
          "name": {
            "type": "string",
            "description": "Optional human-readable name for the tag list.",
            "example": "Room A inventory"
          },
          "allowDuplicateHandles": {
            "type": "boolean",
            "description": "Whether to allow duplicate handle values in this tag list.\n\nWhen `false`, duplicate handles in the `entries` array are silently skipped.\n",
            "default": false,
            "example": false
          },
          "entries": {
            "type": "array",
            "description": "Optional initial entries to create with the tag list.",
            "items": {
              "type": "object",
              "required": [
                "handle"
              ],
              "properties": {
                "handle": {
                  "type": "string",
                  "description": "The tag handle string.",
                  "example": "TAG001"
                },
                "name": {
                  "type": "string",
                  "nullable": true,
                  "description": "Optional freeform human-readable identifier for this entry.",
                  "example": "Vault shelf 3"
                },
                "metadata": {
                  "type": "object",
                  "description": "Optional metadata to associate with this entry.",
                  "example": {
                    "note": "Test tag"
                  }
                }
              }
            }
          }
        }
      },
      "DeleteTagListEntryPayload": {
        "type": "object",
        "required": [
          "licenseNumber"
        ],
        "properties": {
          "licenseNumber": {
            "type": "string",
            "description": "The license number associated with this tag list.",
            "example": "LIC-00001"
          }
        }
      },
      "EndpointId": {
        "type": "string",
        "description": "Uniquely identifies a Metrc endpoint used to query data.",
        "example": "ACTIVE_PACKAGES",
        "enum": [
          "ACTIVE_HARVESTS",
          "ACTIVE_ITEMS",
          "ACTIVE_PACKAGES",
          "ACTIVE_PLANTBATCHES",
          "ACTIVE_STRAINS",
          "ADD_PACKAGE_NOTES",
          "CREATE_DELIVERY_TRANSPORTERS",
          "CREATE_ITEMS",
          "CREATE_ITEMS_INPUTS",
          "CREATE_PACKAGES_FROM_PACKAGES",
          "CREATE_PACKAGES_INPUTS",
          "CREATE_PACKAGES_SOURCE_ITEMS",
          "CREATE_PACKAGES_SOURCE_PACKAGES",
          "CREATE_STRAINS",
          "CREATE_TRANSFER",
          "CREATE_TRANSFER_DESTINATIONS",
          "CREATE_TRANSFER_INPUTS",
          "DELIVERY_TRANSPORTERS",
          "DISCONTINUE_ITEMS",
          "DISCONTINUE_STRAINS",
          "FLOWERING_PLANTS",
          "INACTIVE_HARVESTS",
          "INACTIVE_PACKAGES",
          "INACTIVE_PLANTBATCHES",
          "INACTIVE_PLANTS",
          "INCOMING_ACTIVE_TRANSFERS",
          "INCOMING_INACTIVE_TRANSFERS",
          "INTRANSIT_PACKAGES",
          "ONHOLD_HARVESTS",
          "ONHOLD_PACKAGES",
          "ONHOLD_PLANTBATCHES",
          "ONHOLD_PLANTS",
          "OUTGOING_ACTIVE_TRANSFERS",
          "OUTGOING_INACTIVE_TRANSFERS",
          "OUTGOING_REJECTED_TRANSFERS",
          "PACKAGE_HISTORY",
          "PACKAGE_LABRESULTS",
          "PACKAGE_LABRESULTS_DOCUMENT",
          "PACKAGE_SOURCE_HARVESTS",
          "TRANSFER_DELIVERIES",
          "TRANSFER_HISTORY",
          "TRANSFER_MANIFEST",
          "TRANSFER_PACKAGES",
          "TRANSFER_TRANSPORTER_DETAILS",
          "TRANSFERRED_PACKAGES",
          "VEGETATIVE_PLANTS"
        ]
      },
      "ExtractedLabResult": {
        "type": "object",
        "properties": {
          "labTestResultId": {
            "type": "number",
            "format": "int"
          },
          "labTestDetailId": {
            "type": "number",
            "format": "int"
          },
          "labResultTestName": {
            "type": "string",
            "example": "Delta-9 THC"
          },
          "labResultTestValue": {
            "type": "number",
            "format": "float",
            "example": 0.123
          },
          "labResultTestUnit": {
            "type": "string",
            "example": "%"
          },
          "labResultBatchName": {
            "description": "The name of the lab result batch. This is only set if the lab results were loaded via `include=labResultBatches`\n",
            "type": "string",
            "example": "Mandatory Terpenes",
            "nullable": true
          },
          "fullLabResultTestName": {
            "type": "string",
            "example": "Delta-9 THC (%) Mandatory Terpenes"
          },
          "passed": {
            "type": "boolean",
            "example": true
          },
          "tags": {
            "type": "array",
            "description": "T3 analyzes each lab result, and creates a normalized list of tags for each lab result.\n\nExamples: \n\n- ['delta9', 'thc']\n- ['total', 'cbd']\n- ['terpene', 'limonene']\n",
            "items": {
              "type": "string",
              "example": "terpene"
            }
          }
        }
      },
      "IncomingTransferManifestReportResponse": {
        "type": "object",
        "properties": {
          "generatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-07-25T00:00:00+00:00"
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "manifestNumber__endswith:0003",
              "productName__contains:kush"
            ]
          },
          "filterLogic": {
            "type": "string",
            "description": "The filter logic specified for this report, if any",
            "example": "and",
            "nullable": true
          },
          "sort": {
            "type": "string",
            "description": "The sort order specified for this report, if any",
            "example": "label:asc",
            "nullable": true
          },
          "licenseNumber": {
            "type": "string",
            "description": "The unique identifier for the license associated with this request.",
            "example": "LIC-00001"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/T3IncomingTransferManifest"
            }
          }
        }
      },
      "ItemImageFileType": {
        "type": "string",
        "description": "Category of the image file",
        "example": "ItemProductImage",
        "enum": [
          "ItemLabelImage",
          "ItemPackagingImage",
          "ItemProductImage"
        ]
      },
      "JWTData": {
        "type": "object",
        "properties": {
          "authMode": {
            "type": "string",
            "example": "CREDENTIALS"
          },
          "credentialKey": {
            "type": "string",
            "example": "mo.metrc.com__MyMetrcUsername"
          },
          "hasT3plus": {
            "type": "boolean",
            "example": true
          },
          "t3plusSubscriptionTier": {
            "type": "string",
            "enum": [
              "manual",
              "basic",
              "team",
              "enterprise",
              "corporate"
            ],
            "example": "team",
            "nullable": true
          },
          "username": {
            "type": "string",
            "example": "MyMetrcUsername"
          },
          "hostname": {
            "type": "string",
            "example": "mo.metrc.com"
          }
        }
      },
      "LabTestingStates": {
        "type": "string",
        "example": "TestPassed",
        "enum": [
          "NotSubmitted",
          "SubmittedForTesting",
          "TestFailed",
          "TestPassed",
          "TestingInProgress",
          "AwaitingConfirmation",
          "RetestFailed",
          "RetestPassed",
          "Remediated",
          "SelectedForRandomTesting",
          "NotRequired",
          "ProcessValidated"
        ],
        "nullable": false
      },
      "MetrcAddPackageNotePayload": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "description": "The package ID",
              "example": 12345
            },
            "note": {
              "type": "string",
              "description": "The note to add to this package",
              "example": "This is a package note"
            }
          },
          "required": [
            "id",
            "note"
          ],
          "additionalProperties": false
        }
      },
      "MetrcAdjustPackagesInputsResponse": {
        "type": "object",
        "properties": {
          "actionReasons": {
            "type": "array",
            "description": "Available reasons for package adjustment.",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "example": 1
                },
                "name": {
                  "type": "string",
                  "example": "Theft"
                },
                "forPackageAdjustments": {
                  "type": "boolean",
                  "example": true
                },
                "requiresNote": {
                  "type": "boolean",
                  "example": true
                }
              }
            }
          },
          "packages": {
            "type": "array",
            "description": "The packages available for adjustment.",
            "items": {
              "$ref": "#/components/schemas/MetrcPackage"
            }
          },
          "unitsOfMeasure": {
            "type": "array",
            "description": "Available units of measure for adjustment.",
            "items": {
              "$ref": "#/components/schemas/UnitOfMeasure"
            }
          },
          "details": {
            "type": "array",
            "description": "Default adjustment values for each package.",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "example": 16131
                },
                "adjustmentQuantity": {
                  "type": "number",
                  "example": 0
                },
                "adjustmentUnitOfMeasureId": {
                  "type": "integer",
                  "example": 0
                },
                "adjustmentReasonId": {
                  "type": "integer",
                  "nullable": true
                },
                "reasonNote": {
                  "type": "string",
                  "nullable": true
                },
                "adjustmentDate": {
                  "type": "string",
                  "nullable": true
                },
                "finishPackage": {
                  "type": "boolean",
                  "example": false
                },
                "finishDate": {
                  "type": "string",
                  "nullable": true
                },
                "isFinishedGood": {
                  "type": "boolean",
                  "example": false
                }
              }
            }
          }
        }
      },
      "MetrcAdjustPackagesPayload": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "format": "int32",
              "description": "The package ID to adjust.",
              "example": 16131
            },
            "isFinishedGood": {
              "type": "boolean",
              "description": "Whether this package is a finished good.",
              "example": false
            },
            "currentQuantity": {
              "type": "number",
              "format": "float",
              "description": "The current quantity of the package before adjustment.",
              "example": 16
            },
            "currentQuantityUom": {
              "type": "string",
              "description": "The current unit of measure name.",
              "example": "Grams"
            },
            "adjustmentQuantity": {
              "type": "number",
              "format": "float",
              "description": "The quantity to adjust by (positive to increase, negative to decrease).",
              "example": 1
            },
            "adjustmentUnitOfMeasureId": {
              "type": "integer",
              "format": "int32",
              "description": "Unit of measure ID for the adjustment.\n\nTo find eligible units of measure, use the [Adjust Package Inputs](#/Package%20Adjustment/get_v2_packages_adjust_inputs)\nendpoint.\n",
              "example": 4
            },
            "newQuantity": {
              "type": "number",
              "format": "float",
              "description": "The expected new quantity after adjustment.",
              "example": 17
            },
            "newQuantityUom": {
              "type": "string",
              "description": "The new unit of measure name.",
              "example": "Grams"
            },
            "adjustmentReasonId": {
              "type": "integer",
              "format": "int32",
              "description": "The reason ID for this adjustment.\n\nTo find eligible adjustment reasons, use the [Adjust Package Inputs](#/Package%20Adjustment/get_v2_packages_adjust_inputs)\nendpoint.\n",
              "example": 1
            },
            "reasonNote": {
              "type": "string",
              "description": "Note explaining the reason for adjustment.",
              "example": "note"
            },
            "adjustmentDate": {
              "type": "string",
              "format": "date",
              "description": "The date of the adjustment.",
              "example": "2026-04-02"
            },
            "finishDate": {
              "type": "string",
              "description": "Optional finish date. Pass empty string if not finishing the package.",
              "example": ""
            }
          },
          "required": [
            "id",
            "adjustmentQuantity",
            "adjustmentUnitOfMeasureId",
            "newQuantity",
            "adjustmentReasonId",
            "reasonNote",
            "adjustmentDate"
          ],
          "additionalProperties": false
        }
      },
      "MetrcArchiveTransferTemplatePayload": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The transfer template ID",
            "example": 12345
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "MetrcCreateItemInputsResponse": {
        "type": "object",
        "properties": {
          "adding": {
            "type": "boolean",
            "description": "Indicates if items are being added.",
            "example": true
          },
          "items": {
            "type": "array",
            "description": "List of items.",
            "nullable": true,
            "items": {
              "type": "object"
            }
          },
          "itemBrands": {
            "type": "array",
            "description": "List of item brands.",
            "nullable": true,
            "items": {
              "type": "object"
            }
          },
          "itemCategories": {
            "type": "array",
            "description": "List of item categories.",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "Unique identifier of the item category.",
                  "example": 301
                },
                "name": {
                  "type": "string",
                  "description": "Name of the item category.",
                  "example": "Biomass"
                },
                "productCategoryType": {
                  "type": "string",
                  "description": "Type of the product category.",
                  "example": "ShakeTrim"
                },
                "productCategoryTypeName": {
                  "type": "string",
                  "description": "Display name of the product category type.",
                  "example": "ShakeTrim"
                },
                "itemCategoryTypeName": {
                  "type": "string",
                  "description": "Display name of the item category type.",
                  "example": "ShakeTrim"
                },
                "quantityType": {
                  "type": "string",
                  "description": "Type of quantity measurement.",
                  "example": "WeightBased"
                },
                "quantityTypeName": {
                  "type": "string",
                  "description": "Display name of the quantity type.",
                  "example": "WeightBased"
                },
                "defaultLabTestingStateName": {
                  "type": "string",
                  "description": "Default lab testing state name.",
                  "example": "NotSubmitted"
                },
                "patientPurchaseAmountMultiplier": {
                  "type": "number",
                  "description": "Multiplier for patient purchase amount.",
                  "example": 1
                },
                "requiresApproval": {
                  "type": "boolean",
                  "description": "Indicates if item requires approval.",
                  "example": false
                },
                "requiresStrain": {
                  "type": "boolean",
                  "description": "Indicates if a strain is required.",
                  "example": false
                },
                "requiresItemBrand": {
                  "type": "boolean",
                  "description": "Indicates if an item brand is required.",
                  "example": false
                },
                "requiresAdministrationMethod": {
                  "type": "boolean",
                  "description": "Indicates if an administration method is required.",
                  "example": false
                },
                "requiresUnitCbdPercent": {
                  "type": "boolean",
                  "description": "Indicates if unit CBD percent is required.",
                  "example": false
                },
                "requiresUnitCbdContent": {
                  "type": "boolean",
                  "description": "Indicates if unit CBD content is required.",
                  "example": false
                },
                "requiresUnitCbdContentDose": {
                  "type": "boolean",
                  "description": "Indicates if unit CBD content dose is required.",
                  "example": false
                },
                "requiresUnitCbdAPercent": {
                  "type": "boolean",
                  "description": "Indicates if unit CBD-A percent is required.",
                  "example": false
                },
                "requiresUnitCbdAContent": {
                  "type": "boolean",
                  "description": "Indicates if unit CBD-A content is required.",
                  "example": false
                },
                "requiresUnitCbdAContentDose": {
                  "type": "boolean",
                  "description": "Indicates if unit CBD-A content dose is required.",
                  "example": false
                },
                "requiresUnitThcPercent": {
                  "type": "boolean",
                  "description": "Indicates if unit THC percent is required.",
                  "example": false
                },
                "requiresUnitThcContent": {
                  "type": "boolean",
                  "description": "Indicates if unit THC content is required.",
                  "example": false
                },
                "optionalUnitThcContent": {
                  "type": "boolean",
                  "description": "Indicates if unit THC content is optional.",
                  "nullable": true
                },
                "requiresUnitThcContentDose": {
                  "type": "boolean",
                  "description": "Indicates if unit THC content dose is required.",
                  "example": false
                },
                "requiresUnitThcAPercent": {
                  "type": "boolean",
                  "description": "Indicates if unit THC-A percent is required.",
                  "example": false
                },
                "requiresUnitThcAContent": {
                  "type": "boolean",
                  "description": "Indicates if unit THC-A content is required.",
                  "example": false
                },
                "requiresUnitThcAContentDose": {
                  "type": "boolean",
                  "description": "Indicates if unit THC-A content dose is required.",
                  "example": false
                },
                "requiresUnitVolume": {
                  "type": "boolean",
                  "description": "Indicates if unit volume is required.",
                  "example": false
                },
                "requiresUnitWeight": {
                  "type": "boolean",
                  "description": "Indicates if unit weight is required.",
                  "example": false
                },
                "requiresServingSize": {
                  "type": "boolean",
                  "description": "Indicates if serving size is required.",
                  "example": false
                },
                "requiresSupplyDurationDays": {
                  "type": "boolean",
                  "description": "Indicates if supply duration days is required.",
                  "example": false
                },
                "requiresNumberOfDoses": {
                  "type": "boolean",
                  "description": "Indicates if number of doses is required.",
                  "example": false
                },
                "calculateUnitQuantity": {
                  "type": "boolean",
                  "description": "Indicates if unit quantity should be calculated.",
                  "example": false
                },
                "unitQuantityMultiplier": {
                  "type": "number",
                  "description": "Multiplier for unit quantity calculation.",
                  "nullable": true
                },
                "unitQuantityUnitOfMeasureAbbreviation": {
                  "type": "string",
                  "description": "Unit of measure abbreviation for unit quantity.",
                  "nullable": true
                },
                "requiresPublicIngredients": {
                  "type": "boolean",
                  "description": "Indicates if public ingredients are required.",
                  "example": false
                },
                "requiresDescription": {
                  "type": "boolean",
                  "description": "Indicates if a description is required.",
                  "example": false
                },
                "requiresAllergens": {
                  "type": "boolean",
                  "description": "Indicates if allergens are required.",
                  "example": false
                },
                "requiresProductPhotos": {
                  "type": "integer",
                  "description": "Number of product photos required.",
                  "example": 0
                },
                "requiresProductPhotoDescription": {
                  "type": "boolean",
                  "description": "Indicates if product photo description is required.",
                  "example": false
                },
                "requiresLabelPhotos": {
                  "type": "integer",
                  "description": "Number of label photos required.",
                  "example": 0
                },
                "requiresLabelPhotoDescription": {
                  "type": "boolean",
                  "description": "Indicates if label photo description is required.",
                  "example": false
                },
                "requiresPackagingPhotos": {
                  "type": "integer",
                  "description": "Number of packaging photos required.",
                  "example": 0
                },
                "requiresPackagingPhotoDescription": {
                  "type": "boolean",
                  "description": "Indicates if packaging photo description is required.",
                  "example": false
                },
                "canContainSeeds": {
                  "type": "boolean",
                  "description": "Indicates if the item can contain seeds.",
                  "example": true
                },
                "canBePreTreated": {
                  "type": "boolean",
                  "description": "Indicates if the item can be pre-treated.",
                  "example": false
                },
                "canBeRemediated": {
                  "type": "boolean",
                  "description": "Indicates if the item can be remediated.",
                  "example": true
                },
                "canBeDecontaminated": {
                  "type": "boolean",
                  "description": "Indicates if the item can be decontaminated.",
                  "example": false
                },
                "canBeDestroyed": {
                  "type": "boolean",
                  "description": "Indicates if the item can be destroyed.",
                  "example": false
                },
                "useItemWeightAsPatientFlowerPurchased": {
                  "type": "boolean",
                  "description": "Indicates if item weight is used as patient flower purchased.",
                  "example": true
                },
                "useUnitTHCContentAsPatientFlowerPurchased": {
                  "type": "boolean",
                  "description": "Indicates if unit THC content is used as patient flower purchased.",
                  "nullable": true
                },
                "useItemWeightAsPatientConcentratePurchased": {
                  "type": "boolean",
                  "description": "Indicates if item weight is used as patient concentrate purchased.",
                  "example": false
                },
                "useItemWeightAsPatientInfusedPurchased": {
                  "type": "boolean",
                  "description": "Indicates if item weight is used as patient infused purchased.",
                  "example": false
                },
                "expirationDateConfiguration": {
                  "type": "string",
                  "description": "Expiration date configuration setting.",
                  "example": "Off"
                },
                "expirationConfigurationState": {
                  "type": "string",
                  "description": "Expiration configuration state.",
                  "nullable": true
                },
                "sellByDateConfiguration": {
                  "type": "string",
                  "description": "Sell by date configuration setting.",
                  "example": "Off"
                },
                "sellByConfigurationState": {
                  "type": "string",
                  "description": "Sell by configuration state.",
                  "nullable": true
                },
                "useByDateConfiguration": {
                  "type": "string",
                  "description": "Use by date configuration setting.",
                  "example": "Off"
                },
                "useByConfigurationState": {
                  "type": "string",
                  "description": "Use by configuration state.",
                  "nullable": true
                },
                "expirationDateDaysInAdvance": {
                  "type": "integer",
                  "description": "Number of days in advance for expiration date.",
                  "nullable": true
                },
                "sellByDateDaysInAdvance": {
                  "type": "integer",
                  "description": "Number of days in advance for sell by date.",
                  "nullable": true
                },
                "useByDateDaysInAdvance": {
                  "type": "integer",
                  "description": "Number of days in advance for use by date.",
                  "nullable": true
                },
                "minConsecutiveSourcesForRTA": {
                  "type": "integer",
                  "description": "Minimum consecutive sources for RTA.",
                  "nullable": true
                },
                "minDaysForRTA": {
                  "type": "integer",
                  "description": "Minimum days for RTA.",
                  "nullable": true
                },
                "maxDaysForRecoveryAfterFailure": {
                  "type": "integer",
                  "description": "Maximum days for recovery after failure.",
                  "nullable": true
                },
                "maxDaystoReachMinSources": {
                  "type": "integer",
                  "description": "Maximum days to reach minimum sources.",
                  "nullable": true
                },
                "minNewPassesInRecoveryWindow": {
                  "type": "integer",
                  "description": "Minimum new passes in recovery window.",
                  "nullable": true
                },
                "maxDaysToMaintainRTA": {
                  "type": "integer",
                  "description": "Maximum days to maintain RTA.",
                  "nullable": true
                },
                "maxRepackageDistanceFromSource": {
                  "type": "integer",
                  "description": "Maximum repackage distance from source.",
                  "nullable": true
                },
                "maxDaysWithoutTestedSource": {
                  "type": "integer",
                  "description": "Maximum days without a tested source.",
                  "nullable": true
                },
                "facilityTypes": {
                  "type": "array",
                  "description": "List of facility types for this item category.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "productCategoryId": {
                        "type": "integer",
                        "description": "Unique identifier of the product category.",
                        "example": 301
                      },
                      "facilityTypeId": {
                        "type": "integer",
                        "description": "Unique identifier of the facility type.",
                        "example": 201
                      },
                      "facilityTypeName": {
                        "type": "string",
                        "description": "Name of the facility type.",
                        "example": "Comprehensive Cultivator"
                      },
                      "canCreateFromProductionBatch": {
                        "type": "boolean",
                        "description": "Indicates if items can be created from a production batch.",
                        "example": true
                      },
                      "canCreateFromHarvestBatch": {
                        "type": "boolean",
                        "description": "Indicates if items can be created from a harvest batch.",
                        "example": true
                      },
                      "includeInItemCatalog": {
                        "type": "boolean",
                        "description": "Indicates if the item is included in the item catalog.",
                        "example": false
                      }
                    }
                  }
                },
                "requiresProductPDFDocuments": {
                  "type": "integer",
                  "description": "Number of product PDF documents required.",
                  "example": 0
                }
              }
            }
          },
          "processingJobCategories": {
            "type": "array",
            "description": "List of processing job categories.",
            "nullable": true,
            "items": {
              "type": "object"
            }
          },
          "processingJobTypes": {
            "type": "array",
            "description": "List of processing job types.",
            "nullable": true,
            "items": {
              "type": "object"
            }
          },
          "strains": {
            "type": "array",
            "description": "List of available strains for item creation.",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "Unique identifier of the strain.",
                  "example": 12345
                },
                "name": {
                  "type": "string",
                  "description": "Name of the strain.",
                  "example": "Pineapple Express"
                },
                "testingStatus": {
                  "type": "string",
                  "description": "Testing status of the strain.",
                  "example": "ThirdParty"
                },
                "thcLevel": {
                  "type": "number",
                  "description": "THC level of the strain.",
                  "nullable": true
                },
                "cbdLevel": {
                  "type": "number",
                  "description": "CBD level of the strain.",
                  "nullable": true
                },
                "indicaPercentage": {
                  "type": "number",
                  "description": "Indica percentage of the strain.",
                  "example": 100
                },
                "sativaPercentage": {
                  "type": "number",
                  "description": "Sativa percentage of the strain.",
                  "example": 0
                },
                "isUsed": {
                  "type": "boolean",
                  "description": "Indicates if the strain is in use.",
                  "example": true
                },
                "isArchived": {
                  "type": "boolean",
                  "description": "Indicates if the strain is archived.",
                  "example": false
                }
              }
            }
          },
          "unitsOfMeasure": {
            "type": "array",
            "description": "List of available units of measure for item creation.",
            "items": {
              "$ref": "#/components/schemas/UnitOfMeasure"
            }
          },
          "productBrands": {
            "type": "array",
            "description": "List of available product brands.",
            "items": {
              "type": "object"
            }
          },
          "details": {
            "type": "array",
            "description": "List of item details.",
            "nullable": true,
            "items": {
              "type": "object"
            }
          }
        }
      },
      "MetrcCreateItemsPayload": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of the item",
              "example": "Blue Dream Flower"
            },
            "productCategoryId": {
              "type": "integer",
              "description": "The product category ID",
              "example": 1
            },
            "strainId": {
              "type": "integer",
              "description": "The strain ID",
              "example": 737
            },
            "unitOfMeasureId": {
              "type": "integer",
              "description": "The unit of measure ID",
              "example": 2
            },
            "administrationMethod": {
              "type": "string",
              "description": "The administration method",
              "example": ""
            },
            "allergens": {
              "type": "string",
              "description": "Allergens information",
              "example": ""
            },
            "description": {
              "type": "string",
              "description": "The item description",
              "example": ""
            },
            "itemBrandId": {
              "type": "integer",
              "description": "The item brand ID",
              "example": null
            },
            "numberOfDoses": {
              "type": "integer",
              "description": "The number of doses",
              "example": null
            },
            "publicIngredients": {
              "type": "string",
              "description": "Public ingredients information",
              "example": ""
            },
            "servingSize": {
              "type": "string",
              "description": "The serving size",
              "example": ""
            },
            "supplyDurationDays": {
              "type": "integer",
              "description": "The supply duration in days",
              "example": null
            },
            "unitCbdAContentDoseUoMId": {
              "type": "integer",
              "description": "The unit CBD-A content dose unit of measure ID",
              "example": null
            },
            "unitCbdAContentUoMId": {
              "type": "integer",
              "description": "The unit CBD-A content unit of measure ID",
              "example": null
            },
            "unitCbdContentDoseUoMId": {
              "type": "integer",
              "description": "The unit CBD content dose unit of measure ID",
              "example": null
            },
            "unitCbdContentUoMId": {
              "type": "integer",
              "description": "The unit CBD content unit of measure ID",
              "example": null
            },
            "unitThcAContentDoseUoMId": {
              "type": "integer",
              "description": "The unit THC-A content dose unit of measure ID",
              "example": null
            },
            "unitThcAContentUoMId": {
              "type": "integer",
              "description": "The unit THC-A content unit of measure ID",
              "example": null
            },
            "unitThcContent": {
              "type": "number",
              "description": "The unit THC content",
              "example": null
            },
            "unitThcContentDoseUoMId": {
              "type": "integer",
              "description": "The unit THC content dose unit of measure ID",
              "example": null
            },
            "unitThcContentUoMId": {
              "type": "integer",
              "description": "The unit THC content unit of measure ID",
              "example": null
            },
            "unitVolume": {
              "type": "number",
              "description": "The unit volume",
              "example": null
            },
            "unitVolumeUoMId": {
              "type": "integer",
              "description": "The unit volume unit of measure ID",
              "example": null
            },
            "unitWeight": {
              "type": "number",
              "description": "The unit weight",
              "example": null
            },
            "unitWeightUoMId": {
              "type": "integer",
              "description": "The unit weight unit of measure ID",
              "example": null
            },
            "productPhotoDescription": {
              "type": "string",
              "description": "Description for the product photo",
              "example": ""
            },
            "productPhotos": {
              "type": "array",
              "description": "Product photos to attach to the item",
              "items": {
                "$ref": "#/components/schemas/MetrcItemImageReference"
              }
            },
            "labelPhotoDescription": {
              "type": "string",
              "description": "Description for the label photo",
              "example": ""
            },
            "labelPhotos": {
              "type": "array",
              "description": "Label photos to attach to the item",
              "items": {
                "$ref": "#/components/schemas/MetrcItemImageReference"
              }
            },
            "packagingPhotoDescription": {
              "type": "string",
              "description": "Description for the packaging photo",
              "example": ""
            },
            "packagingPhotos": {
              "type": "array",
              "description": "Packaging photos to attach to the item",
              "items": {
                "$ref": "#/components/schemas/MetrcItemImageReference"
              }
            },
            "itemIngredients": {
              "type": "array",
              "description": "Ingredients for the item",
              "items": {
                "$ref": "#/components/schemas/MetrcItemIngredientEntry"
              }
            }
          },
          "required": [
            "name",
            "productCategoryId",
            "unitOfMeasureId"
          ],
          "additionalProperties": false
        }
      },
      "MetrcCreatePackageInputsResponse": {
        "type": "object",
        "properties": {
          "allowedProductionLabTestingStates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LabTestingStates"
            }
          },
          "allowedProductionProductCategoryIds": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "example": [
              1,
              2,
              3
            ]
          },
          "details": {
            "type": "string",
            "nullable": true
          },
          "harvestBatches": {
            "type": "string",
            "nullable": true
          },
          "growthPhase": {
            "type": "integer",
            "format": "int32",
            "example": 0
          },
          "isProductDestruction": {
            "type": "boolean",
            "example": false
          },
          "itemCategoryIds": {
            "type": "string",
            "nullable": true
          },
          "items": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": []
          },
          "labTestBatches": {
            "type": "string",
            "nullable": true
          },
          "locations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetrcLocation"
            }
          },
          "sublocations": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "packages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": []
          },
          "patientAffiliations": {
            "type": "string",
            "nullable": true
          },
          "plantBatches": {
            "type": "string",
            "nullable": true
          },
          "plants": {
            "type": "string",
            "nullable": true
          },
          "remediationMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetrcRemediationMethod"
            }
          },
          "submitForTesting": {
            "type": "boolean",
            "example": false
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetrcTag"
            }
          },
          "unitsOfMeasure": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnitOfMeasure"
            }
          }
        }
      },
      "MetrcCreatePackagesFromPackagesPayload": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "actualDate": {
              "type": "string",
              "format": "date",
              "description": "The date of the package creation.",
              "example": "2024-08-08"
            },
            "ingredients": {
              "type": "array",
              "description": "List of package ingredients used to create this new package.",
              "items": {
                "type": "object",
                "properties": {
                  "finishDate": {
                    "type": "string",
                    "format": "date",
                    "description": "If you are using the rest of an ingredient package and wish to finish it, pass a finish date.\n",
                    "example": "2024-08-08"
                  },
                  "packageId": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Package ID of the source ingredient package\nTo find source ingredient packages, use the [Source Packages](#/Create%20Package/get_v2_packages_create_source_packages) endpoint.\n",
                    "example": 5077333
                  },
                  "quantity": {
                    "type": "number",
                    "format": "float",
                    "description": "Quantity used from the ingredient package.",
                    "example": 56.3
                  },
                  "unitOfMeasureId": {
                    "type": "integer",
                    "description": "Unit of measure for the quantity",
                    "example": 4
                  }
                },
                "required": [
                  "packageId",
                  "quantity",
                  "unitOfMeasureId"
                ],
                "additionalProperties": false
              }
            },
            "itemId": {
              "type": "integer",
              "description": "Item ID of the item for the new package\n\nTo find eligible items, use the [Source Items](#/Create%20Package/get_v2_packages_create_source_items)\nendpoint.\n\nAlternately, if `useSameItem` is true, the `itemId` must be copied from the source package.\n",
              "example": 1160223
            },
            "useSameItem": {
              "type": "boolean",
              "description": "Indicates if the source package's item should be used for the new package.\n\nUsed when this license does not own the item, but needs to create new sublot packages. \n\n**Note:** you must still pass the `itemId` field with the item ID from the source package.\n"
            },
            "locationId": {
              "type": "integer",
              "description": "Location ID of the location for the new package\nTo find eligible source locations, use the [Create Package Inputs](#/Create%20Package/get_v2_packages_create_inputs) endpoint.\n**Note**: This is not required in some states. ",
              "example": 50901
            },
            "sublocationId": {
              "type": "integer",
              "description": "Sublocation ID of the sublocation for the new package\n\nTo find eligible source sublocations, use the [Create Package Inputs](#/Create%20Package/get_v2_packages_create_inputs)\nendpoint.\n\n**Note**: This is not used in some states, and not required in some states.\n",
              "example": 30123
            },
            "note": {
              "type": "string",
              "description": "Notes about the package creation, if needed.\n",
              "example": "This is a package note"
            },
            "productionBatchNumber": {
              "type": "string",
              "description": "The production batch number of the new package, if needed.",
              "example": "BATCH 1234"
            },
            "quantity": {
              "type": "number",
              "format": "float",
              "description": "Quantity of the new package.",
              "example": 123.45
            },
            "tagId": {
              "type": "integer",
              "description": "Tag ID of the tag used for the new package\nTo find eligible source tags, use the [Create Package Inputs](#/Create%20Package/get_v2_packages_create_inputs) endpoint.\n",
              "example": 1527333
            },
            "unitOfMeasureId": {
              "type": "integer",
              "description": "Unit of measure identifier for the package.",
              "example": 1
            },
            "expirationDate": {
              "type": "string",
              "format": "date",
              "description": "The expiration date of the package, if needed. \n*Only applicable in some Metrc states*\n",
              "example": ""
            },
            "useByDate": {
              "type": "string",
              "format": "date",
              "description": "The use by date of the package, if needed.\n*Only applicable in some Metrc states*\n",
              "example": ""
            },
            "isDonation": {
              "type": "boolean",
              "description": "Indicates if the package is a donation.\n\n*Only applicable in some Metrc states.* Do not set this value if not needed.\n",
              "example": true
            },
            "isTradeSample": {
              "type": "boolean",
              "description": "Indicates if the package is a trade sample.\n\n*Only applicable in some Metrc states.* Do not set this value if not needed.\n",
              "example": true
            },
            "sellByDate": {
              "type": "string",
              "format": "date",
              "description": "The sell by date of the package, if needed.\n*Only applicable in some Metrc states*\n",
              "example": "2024-08-08"
            }
          },
          "required": [
            "actualDate",
            "ingredients",
            "quantity",
            "tagId",
            "unitOfMeasureId",
            "itemId"
          ],
          "additionalProperties": false
        }
      },
      "MetrcCreatePlantHarvestPayload": {
        "type": "array",
        "description": "Batch of plants to harvest. Each plant is removed from the Flowering state\nand rolled up into the harvest record identified by `harvestName`. Plants\nin the same batch \u2014 or in subsequent requests within the state-specific\nreuse window (typically 24 hours) \u2014 that share a `harvestName` are joined\ninto a single harvest on the Metrc side.\n",
        "items": {
          "type": "object",
          "properties": {
            "actualDate": {
              "type": "string",
              "format": "date",
              "description": "The date the harvest occurred.",
              "example": "2026-05-14"
            },
            "harvestName": {
              "type": "string",
              "description": "Name of the harvest batch. Use the same `harvestName` across rows (or\nacross requests, within the reuse window) to combine plants into a\nsingle harvest record.\n",
              "example": "MyHarvest-2026-05-14"
            },
            "id": {
              "type": "integer",
              "description": "Plant ID of a plant currently in the Flowering state.\n\nTo find eligible plants, use the [Flowering Plants](#/Plants/get_v2_plants_flowering)\nendpoint.\n",
              "example": 987654
            },
            "weight": {
              "type": "number",
              "format": "float",
              "minimum": 0,
              "exclusiveMinimum": true,
              "description": "Wet weight harvested from this plant.",
              "example": 1234.5
            },
            "dryingLocationId": {
              "type": "integer",
              "description": "Location ID of the drying-room location.\n\nTo find eligible locations, use the [Active Locations](#/Locations/get_v2_locations_active)\nendpoint.\n",
              "example": 12345
            },
            "unitOfWeightId": {
              "type": "integer",
              "description": "Numeric ID of the weight unit (grams, kilograms, ounces, pounds).",
              "example": 1
            }
          },
          "required": [
            "actualDate",
            "harvestName",
            "id",
            "weight",
            "dryingLocationId",
            "unitOfWeightId"
          ],
          "additionalProperties": false
        }
      },
      "MetrcCreatePlantManicurePayload": {
        "type": "array",
        "description": "Batch of plants to manicure (partial harvest). Each plant remains alive in\nthe Flowering state and can be harvested or manicured again later. The\nmanicured material is rolled up into the harvest record identified by\n`harvestName`. Plants in the same batch \u2014 or in subsequent requests within\nthe state-specific reuse window (typically 24 hours) \u2014 that share a\n`harvestName` are joined into a single harvest on the Metrc side.\n",
        "items": {
          "type": "object",
          "properties": {
            "actualDate": {
              "type": "string",
              "format": "date",
              "description": "The date the manicure occurred.",
              "example": "2026-05-14"
            },
            "harvestName": {
              "type": "string",
              "description": "Name of the harvest batch the manicured material rolls up under. Use\nthe same `harvestName` across rows (or across requests, within the\nreuse window) to combine plants into a single harvest record.\n",
              "example": "MyManicure-2026-05-14"
            },
            "id": {
              "type": "integer",
              "description": "Plant ID of a plant currently in the Flowering state. The plant\nremains in Flowering after the manicure.\n\nTo find eligible plants, use the [Flowering Plants](#/Plants/get_v2_plants_flowering)\nendpoint.\n",
              "example": 987654
            },
            "weight": {
              "type": "number",
              "format": "float",
              "minimum": 0,
              "exclusiveMinimum": true,
              "description": "Wet weight of the material manicured from this plant.",
              "example": 120.0
            },
            "dryingLocationId": {
              "type": "integer",
              "description": "Location ID of the drying-room location.\n\nTo find eligible locations, use the [Active Locations](#/Locations/get_v2_locations_active)\nendpoint.\n",
              "example": 12345
            },
            "unitOfWeightId": {
              "type": "integer",
              "description": "Numeric ID of the weight unit (grams, kilograms, ounces, pounds).",
              "example": 1
            }
          },
          "required": [
            "actualDate",
            "harvestName",
            "id",
            "weight",
            "dryingLocationId",
            "unitOfWeightId"
          ],
          "additionalProperties": false
        }
      },
      "MetrcCreateStrainsPayload": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of the strain",
              "example": "Blue Dream"
            },
            "cbdLevel": {
              "type": "number",
              "format": "int8",
              "description": "The strain's CBD Level",
              "example": 5
            },
            "thcLevel": {
              "type": "number",
              "format": "int8",
              "description": "The strain's THC Level",
              "example": 5
            },
            "indicaPercentage": {
              "type": "number",
              "format": "float",
              "description": "The percentage of indica in the strain",
              "example": 60.0
            },
            "sativaPercentage": {
              "type": "number",
              "format": "float",
              "description": "The percentage of sativa in the strain",
              "example": 40.0
            },
            "testingStatus": {
              "type": "string",
              "enum": [
                "None",
                "InHouse",
                "ThirdParty"
              ],
              "description": "The current testing status of the strain",
              "example": "None"
            }
          },
          "required": [
            "name",
            "cbdLevel",
            "thcLevel",
            "indicaPercentage",
            "sativaPercentage",
            "testingStatus"
          ],
          "additionalProperties": false
        }
      },
      "MetrcCreateTestingPackagesPayload": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "actualDate": {
              "type": "string",
              "format": "date",
              "description": "The date of the package creation.",
              "example": "2026-03-12"
            },
            "ingredients": {
              "type": "array",
              "description": "List of package ingredients used to create this new testing package.",
              "items": {
                "type": "object",
                "properties": {
                  "finishDate": {
                    "type": "string",
                    "format": "date",
                    "description": "If you are using the rest of an ingredient package and wish\nto finish it, pass a finish date.\n",
                    "example": "2026-03-12"
                  },
                  "packageId": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Package ID of the source ingredient package.\n\nTo find source ingredient packages, use the [Source Packages](#/Package%20Testing/get_v2_packages_create_testing_source_packages)\nendpoint.\n",
                    "example": 27301
                  },
                  "quantity": {
                    "type": "number",
                    "format": "float",
                    "description": "Quantity used from the ingredient package.",
                    "example": 1
                  },
                  "unitOfMeasureId": {
                    "type": "integer",
                    "description": "Unit of measure for the quantity.",
                    "example": 4
                  }
                },
                "required": [
                  "packageId",
                  "quantity",
                  "unitOfMeasureId"
                ],
                "additionalProperties": false
              }
            },
            "itemId": {
              "type": "integer",
              "description": "Item ID of the item for the new testing package.\n\nTo find eligible items, use the [Source Items](#/Package%20Testing/get_v2_packages_create_testing_source_items)\nendpoint.\n\nAlternately, if `useSameItem` is true, the `itemId` must be copied from the source package.\n",
              "example": 6645
            },
            "useSameItem": {
              "type": "boolean",
              "description": "Indicates if the source package's item should be used for the new package.\n\nUsed when this license does not own the item, but needs to create new sublot packages.\n\n**Note:** you must still pass the `itemId` field with the item ID from the source package.\n"
            },
            "locationId": {
              "type": "integer",
              "description": "Location ID of the location for the new testing package.\n\nTo find eligible source locations, use the [Create Testing Package Inputs](#/Package%20Testing/get_v2_packages_create_testing_inputs)\nendpoint.\n",
              "example": 505
            },
            "note": {
              "type": "string",
              "description": "Notes about the package creation, if needed.",
              "example": ""
            },
            "quantity": {
              "type": "number",
              "format": "float",
              "description": "Quantity of the new testing package.",
              "example": 1
            },
            "tagId": {
              "type": "integer",
              "description": "Tag ID of the tag used for the new testing package.\n\nTo find eligible source tags, use the [Source Tags](#/Package%20Testing/get_v2_packages_create_testing_source_tags)\nendpoint.\n",
              "example": 513154
            },
            "unitOfMeasureId": {
              "type": "integer",
              "description": "Unit of measure identifier for the package.",
              "example": 4
            },
            "expirationDate": {
              "type": "string",
              "format": "date",
              "description": "The expiration date of the package, if needed.",
              "example": "2026-09-22"
            },
            "sellByDate": {
              "type": "string",
              "format": "date",
              "description": "The sell by date of the package, if needed.",
              "example": "2026-09-22"
            },
            "useByDate": {
              "type": "string",
              "format": "date",
              "description": "The use by date of the package, if needed.",
              "example": "2026-09-22"
            },
            "requiredLabTestBatches": {
              "type": "array",
              "description": "List of lab test batch IDs required for this testing package.\n\nTo find eligible lab test batches, use the [Lab Batches](#/Package%20Testing/get_v2_packages_create_testing_lab_batches)\nendpoint.\n",
              "items": {
                "type": "integer"
              },
              "example": [
                1
              ]
            }
          },
          "required": [
            "actualDate",
            "ingredients",
            "quantity",
            "tagId",
            "unitOfMeasureId",
            "itemId",
            "requiredLabTestBatches"
          ],
          "additionalProperties": false
        }
      },
      "MetrcCreateTransferInputsResponse": {
        "type": "object",
        "properties": {
          "adding": {
            "type": "boolean",
            "description": "Indicates if the entity is being added.",
            "example": true
          },
          "daysWholesalePriceCanEdit": {
            "type": "integer",
            "description": "Number of days the wholesale price can be edited.",
            "example": 0
          },
          "defaultPhoneNumberForQuestions": {
            "type": "string",
            "description": "Default phone number for questions.",
            "example": "5555551234"
          },
          "destinationFacilities": {
            "type": "array",
            "description": "List of destination facilities.",
            "items": {
              "type": "object"
            }
          },
          "details": {
            "type": "object",
            "description": "Additional details.",
            "nullable": true
          },
          "drivers": {
            "type": "array",
            "description": "List of drivers associated with the entity.",
            "items": {
              "$ref": "#/components/schemas/MetrcDriver"
            }
          },
          "editDeliveryDetailsOnly": {
            "type": "boolean",
            "description": "Indicates if only delivery details can be edited.",
            "example": false
          },
          "editWholesalePriceOnly": {
            "type": "boolean",
            "description": "Indicates if only the wholesale price can be edited.",
            "example": false
          },
          "facilities": {
            "type": "object",
            "description": "Details of the facilities."
          },
          "isOutgoingInactive": {
            "type": "boolean",
            "description": "Indicates if the outgoing status is inactive.",
            "example": false
          },
          "items": {
            "type": "object",
            "description": "List of items.",
            "nullable": true
          },
          "packages": {
            "type": "array",
            "description": "List of packages.",
            "items": {
              "type": "object"
            }
          },
          "selectedDeliveryIds": {
            "type": "array",
            "description": "List of selected delivery IDs.",
            "items": {
              "type": "integer"
            }
          },
          "selectedTransferIds": {
            "type": "array",
            "description": "List of selected transfer IDs.",
            "items": {
              "type": "integer"
            }
          },
          "selectedTransferTemplateIds": {
            "type": "object",
            "description": "List of selected transfer template IDs.",
            "nullable": true
          },
          "transferTypes": {
            "type": "array",
            "description": "List of transfer types.",
            "items": {
              "type": "object",
              "properties": {
                "facilityTypes": {
                  "type": "array",
                  "description": "List of facility types.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "facilityTypeId": {
                        "type": "integer",
                        "description": "Unique identifier of the facility type.",
                        "example": 1
                      },
                      "facilityTypeName": {
                        "type": "string",
                        "description": "Name of the facility type.",
                        "example": "Medical Cultivation"
                      }
                    }
                  }
                },
                "forExternalIncomingShipments": {
                  "type": "boolean",
                  "description": "Indicates if the transfer type is for external incoming shipments.",
                  "example": false
                },
                "forExternalOutgoingShipments": {
                  "type": "boolean",
                  "description": "Indicates if the transfer type is for external outgoing shipments.",
                  "example": false
                },
                "forLicensedShipments": {
                  "type": "boolean",
                  "description": "Indicates if the transfer type is for licensed shipments.",
                  "example": true
                },
                "id": {
                  "type": "integer",
                  "description": "Unique identifier of the transfer type.",
                  "example": 1
                },
                "maxDiscrepancyPercentage": {
                  "type": "number",
                  "description": "Maximum allowable discrepancy percentage.",
                  "nullable": true
                },
                "maximumWholesalePrice": {
                  "type": "number",
                  "description": "Maximum wholesale price allowed.",
                  "nullable": true
                },
                "minimumWholesalePrice": {
                  "type": "number",
                  "description": "Minimum wholesale price allowed.",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "description": "Name of the transfer type.",
                  "example": "Affiliated Transfer"
                },
                "recipientAddressFieldsEnabled": {
                  "type": "boolean",
                  "description": "Indicates if recipient address fields are enabled.",
                  "example": true
                },
                "recipientLicenseNameFieldEnabled": {
                  "type": "boolean",
                  "description": "Indicates if the recipient license name field is enabled.",
                  "example": true
                },
                "recipientLicenseNumberFieldEnabled": {
                  "type": "boolean",
                  "description": "Indicates if the recipient license number field is enabled.",
                  "example": true
                },
                "recipientLicenseNumberFieldLabel": {
                  "type": "string",
                  "description": "Label for the recipient license number field.",
                  "example": "License No."
                },
                "requiresDestinationGrossWeight": {
                  "type": "boolean",
                  "description": "Indicates if the destination gross weight is required.",
                  "example": false
                },
                "requiresPackagesGrossWeight": {
                  "type": "boolean",
                  "description": "Indicates if the package gross weight is required.",
                  "example": true
                },
                "shipperAddressFieldsEnabled": {
                  "type": "boolean",
                  "description": "Indicates if the shipper address fields are enabled.",
                  "example": true
                },
                "shipperLicenseNameFieldEnabled": {
                  "type": "boolean",
                  "description": "Indicates if the shipper license name field is enabled.",
                  "example": true
                },
                "shipperLicenseNumberFieldEnabled": {
                  "type": "boolean",
                  "description": "Indicates if the shipper license number field is enabled.",
                  "example": true
                },
                "shipperLicenseNumberFieldLabel": {
                  "type": "string",
                  "description": "Label for the shipper license number field.",
                  "example": "License No."
                },
                "transactionType": {
                  "type": "string",
                  "description": "Type of transaction.",
                  "example": "Standard"
                },
                "transactionTypeName": {
                  "type": "string",
                  "description": "Name of the transaction type.",
                  "example": "Standard"
                },
                "transporterFieldsEnabled": {
                  "type": "boolean",
                  "description": "Indicates if transporter fields are enabled.",
                  "example": true
                }
              }
            }
          },
          "transporterFacilities": {
            "type": "array",
            "description": "List of transporter facilities.",
            "items": {
              "type": "object"
            },
            "example": []
          },
          "unitsOfMeasure": {
            "type": "array",
            "description": "List of units of measure.",
            "items": {
              "$ref": "#/components/schemas/UnitOfMeasure"
            }
          },
          "vehicles": {
            "type": "array",
            "description": "List of vehicles associated with the facility.",
            "items": {
              "$ref": "#/components/schemas/MetrcVehicle"
            }
          }
        }
      },
      "MetrcCreateTransferLikeData": {
        "type": "object",
        "description": "A schema representing a shipment with details about destinations, transporters, and packages.",
        "required": [
          "destinations"
        ],
        "additionalProperties": false,
        "properties": {
          "destinations": {
            "type": "array",
            "description": "List of destinations for the shipment.",
            "items": {
              "type": "object",
              "required": [
                "estimatedArrivalDateTime",
                "estimatedDepartureDateTime",
                "plannedRoute",
                "recipientId",
                "transferTypeId"
              ],
              "additionalProperties": false,
              "properties": {
                "recipientId": {
                  "type": "number",
                  "format": "int32",
                  "description": "Facility ID of the destination facility.\n\nTo find eligible destination facilities, use the [Destinations](#/Create%20Transfer/get_v2_packages_create_transfer_destination_list)\nendpoint.\n",
                  "example": 123456
                },
                "plannedRoute": {
                  "type": "string",
                  "description": "Planned route for the shipment.",
                  "example": "Keep going, you can't miss it"
                },
                "transferTypeId": {
                  "type": "number",
                  "format": "int32",
                  "description": "Identifier for the type of transfer.",
                  "example": 8
                },
                "invoiceNumber": {
                  "type": "string",
                  "description": "Invoice number for this delivery. *Not all transfer types require this value.*\n\nThis value is only required if the `transferType` has `requiresInvoiceNumber=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                  "example": "123456-ABC"
                },
                "estimatedDepartureDateTime": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Estimated departure date and time.",
                  "example": "2023-05-23T21:22:35"
                },
                "estimatedArrivalDateTime": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Estimated arrival date and time.",
                  "example": "2023-05-23T21:22:35"
                },
                "grossWeight": {
                  "type": "number",
                  "format": "float",
                  "description": "Gross weight of the transfer. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `requiresDestinationGrossWeight=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                  "example": 123.45
                },
                "grossUnitOfWeightId": {
                  "type": "number",
                  "format": "int32",
                  "description": "Identifier for the unit of weight. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `requiresDestinationGrossWeight=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                  "example": 4
                },
                "transporters": {
                  "type": "array",
                  "description": "List of transporters for the transfer.",
                  "items": {
                    "type": "object",
                    "required": [
                      "transporterId",
                      "phoneNumberForQuestions",
                      "transporterDetails"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "transporterId": {
                        "type": "number",
                        "format": "int32",
                        "description": "Facility ID of the transporter facility. \n\nTo find eligible transporter facilities, use the [Transporters](#/Create%20Transfer/get_v2_packages_create_transfer_transporter_list) endpoint.\n",
                        "example": 12345
                      },
                      "phoneNumberForQuestions": {
                        "type": "string",
                        "description": "Phone number for inquiries.",
                        "example": "5555551234"
                      },
                      "transporterDetails": {
                        "type": "array",
                        "description": "Details of the transporter.",
                        "items": {
                          "type": "object",
                          "required": [
                            "driverName",
                            "driverOccupationalLicenseNumber",
                            "driverLicenseNumber",
                            "vehicleMake",
                            "vehicleModel",
                            "vehicleLicensePlateNumber"
                          ],
                          "additionalProperties": false,
                          "properties": {
                            "driverName": {
                              "type": "string",
                              "description": "Name of the driver.",
                              "example": "Jane Doe"
                            },
                            "driverOccupationalLicenseNumber": {
                              "type": "string",
                              "description": "Occupational license number of the driver.",
                              "example": "LIC12345"
                            },
                            "driverLicenseNumber": {
                              "type": "string",
                              "description": "Driver's license number.",
                              "example": "D1234567"
                            },
                            "driverLayoverLeg": {
                              "type": "string",
                              "description": "Layover leg details (if any).",
                              "example": "",
                              "nullable": true
                            },
                            "vehicleMake": {
                              "type": "string",
                              "description": "Make of the vehicle.",
                              "example": "Ford"
                            },
                            "vehicleModel": {
                              "type": "string",
                              "description": "Model of the vehicle.",
                              "example": "GT"
                            },
                            "vehicleLicensePlateNumber": {
                              "type": "string",
                              "description": "License plate number of the vehicle.",
                              "example": "ABC1234"
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "packages": {
                  "type": "array",
                  "description": "List of packages in the transfer.",
                  "items": {
                    "type": "object",
                    "required": [
                      "id"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "type": "number",
                        "format": "int32",
                        "description": "Identifier of the package.",
                        "example": 123456
                      },
                      "wholesalePrice": {
                        "type": "number",
                        "format": "float",
                        "description": "Wholesale price of the package. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `transactionType=\"Wholesale\"`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                        "example": 200.0
                      },
                      "grossWeight": {
                        "type": "number",
                        "format": "float",
                        "description": "Gross weight of the package. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `requiresPackagesGrossWeight=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                        "example": 123.45
                      },
                      "grossUnitOfWeightId": {
                        "type": "number",
                        "format": "int32",
                        "description": "Unit of weight identifier for the package. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `requiresPackagesGrossWeight=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                        "example": 5
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "MetrcCreateTransferTemplatesPayload": {
        "type": "array",
        "items": {
          "type": "object",
          "description": "A schema representing a shipment with details about destinations, transporters, and packages.",
          "required": [
            "name",
            "destinations"
          ],
          "additionalProperties": false,
          "properties": {
            "name": {
              "type": "string",
              "example": "My template"
            },
            "destinations": {
              "type": "array",
              "description": "List of destinations for the shipment.",
              "items": {
                "type": "object",
                "required": [
                  "estimatedArrivalDateTime",
                  "estimatedDepartureDateTime",
                  "plannedRoute",
                  "recipientId",
                  "transferTypeId"
                ],
                "additionalProperties": false,
                "properties": {
                  "recipientId": {
                    "type": "number",
                    "format": "int32",
                    "description": "Facility ID of the destination facility.\n\nTo find eligible destination facilities, use the [Destinations](#/Create%20Transfer/get_v2_packages_create_transfer_destination_list)\nendpoint.\n",
                    "example": 123456
                  },
                  "plannedRoute": {
                    "type": "string",
                    "description": "Planned route for the shipment.",
                    "example": "Keep going, you can't miss it"
                  },
                  "transferTypeId": {
                    "type": "number",
                    "format": "int32",
                    "description": "Identifier for the type of transfer.",
                    "example": 8
                  },
                  "invoiceNumber": {
                    "type": "string",
                    "description": "Invoice number for this delivery. *Not all transfer types require this value.*\n\nThis value is only required if the `transferType` has `requiresInvoiceNumber=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                    "example": "123456-ABC"
                  },
                  "estimatedDepartureDateTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Estimated departure date and time.",
                    "example": "2023-05-23T21:22:35"
                  },
                  "estimatedArrivalDateTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Estimated arrival date and time.",
                    "example": "2023-05-23T21:22:35"
                  },
                  "grossWeight": {
                    "type": "number",
                    "format": "float",
                    "description": "Gross weight of the transfer. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `requiresDestinationGrossWeight=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                    "example": 123.45
                  },
                  "grossUnitOfWeightId": {
                    "type": "number",
                    "format": "int32",
                    "description": "Identifier for the unit of weight. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `requiresDestinationGrossWeight=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                    "example": 4
                  },
                  "transporters": {
                    "type": "array",
                    "description": "List of transporters for the transfer.",
                    "items": {
                      "type": "object",
                      "required": [
                        "transporterId",
                        "phoneNumberForQuestions",
                        "transporterDetails"
                      ],
                      "additionalProperties": false,
                      "properties": {
                        "transporterId": {
                          "type": "number",
                          "format": "int32",
                          "description": "Facility ID of the transporter facility. \n\nTo find eligible transporter facilities, use the [Transporters](#/Create%20Transfer/get_v2_packages_create_transfer_transporter_list) endpoint.\n",
                          "example": 12345
                        },
                        "phoneNumberForQuestions": {
                          "type": "string",
                          "description": "Phone number for inquiries.",
                          "example": "5555551234"
                        },
                        "transporterDetails": {
                          "type": "array",
                          "description": "Details of the transporter.",
                          "items": {
                            "type": "object",
                            "required": [
                              "driverName",
                              "driverOccupationalLicenseNumber",
                              "driverLicenseNumber",
                              "vehicleMake",
                              "vehicleModel",
                              "vehicleLicensePlateNumber"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "driverName": {
                                "type": "string",
                                "description": "Name of the driver.",
                                "example": "Jane Doe"
                              },
                              "driverOccupationalLicenseNumber": {
                                "type": "string",
                                "description": "Occupational license number of the driver.",
                                "example": "LIC12345"
                              },
                              "driverLicenseNumber": {
                                "type": "string",
                                "description": "Driver's license number.",
                                "example": "D1234567"
                              },
                              "driverLayoverLeg": {
                                "type": "string",
                                "description": "Layover leg details (if any).",
                                "example": "",
                                "nullable": true
                              },
                              "vehicleMake": {
                                "type": "string",
                                "description": "Make of the vehicle.",
                                "example": "Ford"
                              },
                              "vehicleModel": {
                                "type": "string",
                                "description": "Model of the vehicle.",
                                "example": "GT"
                              },
                              "vehicleLicensePlateNumber": {
                                "type": "string",
                                "description": "License plate number of the vehicle.",
                                "example": "ABC1234"
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  "packages": {
                    "type": "array",
                    "description": "List of packages in the transfer.",
                    "items": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "additionalProperties": false,
                      "properties": {
                        "id": {
                          "type": "number",
                          "format": "int32",
                          "description": "Identifier of the package.",
                          "example": 123456
                        },
                        "wholesalePrice": {
                          "type": "number",
                          "format": "float",
                          "description": "Wholesale price of the package. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `transactionType=\"Wholesale\"`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                          "example": 200.0
                        },
                        "grossWeight": {
                          "type": "number",
                          "format": "float",
                          "description": "Gross weight of the package. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `requiresPackagesGrossWeight=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                          "example": 123.45
                        },
                        "grossUnitOfWeightId": {
                          "type": "number",
                          "format": "int32",
                          "description": "Unit of weight identifier for the package. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `requiresPackagesGrossWeight=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                          "example": 5
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "MetrcCreateTransfersPayload": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/MetrcCreateTransferLikeData"
        }
      },
      "MetrcCredentialAuthPayload": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "description": "Your Metrc username",
            "example": "user123"
          },
          "password": {
            "type": "string",
            "description": "Your Metrc password",
            "example": "secretpassword"
          },
          "hostname": {
            "$ref": "#/components/schemas/MetrcHostname"
          },
          "email": {
            "type": "string",
            "format": "email",
            "nullable": true,
            "description": "(Colorado only) Your Metrc login email",
            "example": "user@example.com"
          },
          "otp": {
            "type": "string",
            "pattern": "^[0-9]{6}$",
            "nullable": true,
            "description": "(Michigan only) a valid one-time password. 6 digit number.",
            "example": 123456
          }
        },
        "required": [
          "username",
          "password",
          "hostname"
        ],
        "additionalProperties": false
      },
      "MetrcDeliveryPackage": {
        "type": "object",
        "properties": {
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model\n\nNote: This cannot be used to sort or filter.\n",
            "example": "MetrcPackage"
          },
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc\n\nNote: This cannot be used to sort or filter.\n"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object\n\nNote: This cannot be used to sort or filter.\n"
          },
          "index": {
            "type": "string",
            "description": "Describes the current state of this object at the time it was returned from the API. \n\nNote: This cannot be used to sort or filter.\n",
            "example": "TRANSFERRED_PACKAGE",
            "enum": [
              "TRANSFERRED_PACKAGE"
            ]
          },
          "containsRemediatedProduct": {
            "type": "boolean",
            "example": false
          },
          "donationFacilityLicenseNumber": {
            "type": "string",
            "nullable": true
          },
          "donationFacilityName": {
            "type": "string",
            "nullable": true
          },
          "grossUnitOfWeightAbbreviation": {
            "type": "string",
            "example": "g"
          },
          "grossWeight": {
            "type": "number",
            "nullable": true
          },
          "isDonation": {
            "type": "boolean",
            "example": false
          },
          "isTestingSample": {
            "type": "boolean",
            "example": false
          },
          "isTradeSample": {
            "type": "boolean",
            "example": false
          },
          "isTradeSamplePersistent": {
            "type": "boolean",
            "example": false
          },
          "itemBrandName": {
            "type": "string",
            "nullable": true
          },
          "itemServingSize": {
            "type": "string",
            "example": ""
          },
          "itemStrainName": {
            "type": "string",
            "nullable": true
          },
          "itemSupplyDurationDays": {
            "type": "number",
            "nullable": true
          },
          "itemUnitCbdContent": {
            "type": "number",
            "nullable": true
          },
          "itemUnitCbdContentDose": {
            "type": "number",
            "nullable": true
          },
          "itemUnitCbdContentDoseUnitOfMeasureAbbreviation": {
            "type": "string",
            "nullable": true
          },
          "itemUnitCbdContentUnitOfMeasureAbbreviation": {
            "type": "string",
            "nullable": true
          },
          "itemUnitCbdPercent": {
            "type": "number",
            "nullable": true
          },
          "itemUnitQuantity": {
            "type": "number",
            "nullable": true
          },
          "itemUnitQuantityUnitOfMeasureAbbreviation": {
            "type": "string",
            "nullable": true
          },
          "itemUnitThcContent": {
            "type": "number",
            "nullable": true
          },
          "itemUnitThcContentDose": {
            "type": "number",
            "nullable": true
          },
          "itemUnitThcContentDoseUnitOfMeasureAbbreviation": {
            "type": "string",
            "nullable": true
          },
          "itemUnitThcContentUnitOfMeasureAbbreviation": {
            "type": "string",
            "nullable": true
          },
          "itemUnitThcPercent": {
            "type": "number",
            "nullable": true
          },
          "itemUnitVolume": {
            "type": "number",
            "nullable": true
          },
          "itemUnitVolumeUnitOfMeasureAbbreviation": {
            "type": "string",
            "nullable": true
          },
          "itemUnitWeight": {
            "type": "number",
            "nullable": true
          },
          "itemUnitWeightUnitOfMeasureAbbreviation": {
            "type": "string",
            "example": "g"
          },
          "labTestingStateName": {
            "type": "string",
            "example": "TestPassed"
          },
          "multiHarvest": {
            "type": "boolean",
            "example": true
          },
          "multiPackage": {
            "type": "boolean",
            "example": false
          },
          "packageId": {
            "type": "number",
            "example": 123456
          },
          "packageLabel": {
            "type": "string",
            "example": "1A4000000000000000000001"
          },
          "packageType": {
            "type": "string",
            "example": "Product"
          },
          "packagedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "productCategoryName": {
            "type": "string",
            "example": "Infused-Edible"
          },
          "productName": {
            "type": "string",
            "example": "Edible Gummy 20mg (Sativa)"
          },
          "productRequiresRemediation": {
            "type": "boolean",
            "example": false
          },
          "productionBatchNumber": {
            "type": "string",
            "nullable": true
          },
          "receivedQuantity": {
            "type": "number",
            "example": 100
          },
          "receivedUnitOfMeasureAbbreviation": {
            "type": "string",
            "example": "g"
          },
          "receiverWholesalePrice": {
            "type": "number",
            "nullable": true
          },
          "remediationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "shipmentPackageState": {
            "type": "string",
            "example": "Accepted"
          },
          "shippedQuantity": {
            "type": "number",
            "example": 50
          },
          "shippedUnitOfMeasureAbbreviation": {
            "type": "string",
            "example": "g"
          },
          "shipperWholesalePrice": {
            "type": "number",
            "nullable": true
          },
          "sourceHarvestNames": {
            "type": "string",
            "example": "HARVEST 1, HARVEST 2"
          },
          "sourcePackageIsDonation": {
            "type": "boolean",
            "example": false
          },
          "sourcePackageIsTradeSample": {
            "type": "boolean",
            "example": false
          },
          "sourcePackageLabels": {
            "type": "string",
            "example": "1A4000000000000000000528, 1A4000000000000000000529"
          },
          "tradeSampleFacilityLicenseNumber": {
            "type": "string",
            "nullable": true
          },
          "tradeSampleFacilityName": {
            "type": "string",
            "nullable": true
          },
          "sellByDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "processingJobTypeId": {
            "type": "number",
            "nullable": true
          },
          "inTransitStatus": {
            "type": "string",
            "example": "InTransit"
          },
          "isInTransit": {
            "type": "boolean",
            "example": true
          },
          "expirationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "retailIdQrCount": {
            "type": "number",
            "nullable": true
          },
          "labTestStageId": {
            "type": "number",
            "nullable": true
          },
          "useByDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "productLabel": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "number",
            "nullable": true
          },
          "itemUnitThcAContentDoseUnitOfMeasureAbbreviation": {
            "type": "string",
            "nullable": true
          },
          "itemUnitCbdAContent": {
            "type": "number",
            "nullable": true
          },
          "itemUnitCbdAContentUnitOfMeasureAbbreviation": {
            "type": "string",
            "nullable": true
          },
          "itemUnitThcAContent": {
            "type": "number",
            "nullable": true
          },
          "itemUnitCbdAContentDose": {
            "type": "number",
            "nullable": true
          },
          "itemUnitCbdAContentDoseUnitOfMeasureAbbreviation": {
            "type": "string",
            "nullable": true
          },
          "itemUnitThcAContentUnitOfMeasureAbbreviation": {
            "type": "string",
            "nullable": true
          },
          "itemUnitThcAPercent": {
            "type": "number",
            "nullable": true
          },
          "itemUnitThcAContentDose": {
            "type": "number",
            "nullable": true
          },
          "itemUnitCbdAPercent": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "MetrcDiscontinueItemPayload": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The item ID",
            "example": 12345
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "MetrcDiscontinueStrainPayload": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The strain ID",
            "example": 12345
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "MetrcDriver": {
        "type": "object",
        "properties": {
          "driversLicenseNumber": {
            "type": "string",
            "description": "Driver's license number.",
            "example": "DL-12345"
          },
          "employeeId": {
            "type": "string",
            "description": "Employee identifier.",
            "example": "EMP00001"
          },
          "facilityId": {
            "type": "integer",
            "description": "Facility identifier.",
            "example": 12345
          },
          "id": {
            "type": "integer",
            "description": "Unique identifier for the driver.",
            "example": 12345
          },
          "isArchived": {
            "type": "boolean",
            "description": "Indicates if the driver is archived.",
            "example": false
          },
          "lastModified": {
            "type": "string",
            "description": "Date and time the driver information was last modified.",
            "format": "date-time",
            "example": "2023-02-07T15:27:12+00:00"
          },
          "name": {
            "type": "string",
            "description": "Name of the driver.",
            "example": "Jane Doe"
          }
        }
      },
      "MetrcFacility": {
        "type": "object",
        "description": "A schema representing a facility with various details including license, address, and contact information.",
        "properties": {
          "licenseNumber": {
            "type": "string",
            "description": "License number of the facility.",
            "example": "LIC00001"
          },
          "facilityName": {
            "type": "string",
            "description": "Name of the facility.",
            "example": "Example Facility LLC"
          },
          "id": {
            "type": "integer",
            "description": "Unique identifier of the facility.",
            "example": 1234,
            "format": "int32"
          },
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "index": {
            "type": "string",
            "description": "The current state of this object.",
            "enum": [
              "TRANSPORTER",
              "DESTINATION"
            ]
          },
          "facilityTypeName": {
            "type": "string",
            "description": "Type of the facility.",
            "example": "Example Cultivator"
          },
          "facilityType": {
            "type": "string",
            "description": "Type code of the facility.",
            "nullable": true
          },
          "physicalAddress": {
            "type": "object",
            "description": "Physical address of the facility.",
            "properties": {
              "id": {
                "type": "integer",
                "description": "Unique identifier of the address.",
                "example": 12345,
                "format": "int32"
              },
              "licenseId": {
                "type": "integer",
                "description": "License identifier associated with the address.",
                "example": 0,
                "format": "int32"
              },
              "addressType": {
                "type": "string",
                "description": "Type of the address (e.g., Physical).",
                "example": "Physical"
              },
              "recipient": {
                "type": "string",
                "description": "Name of the recipient at the address.",
                "example": ""
              },
              "contactPhoneNumber": {
                "type": "string",
                "description": "Contact phone number for the address.",
                "nullable": true
              },
              "street1": {
                "type": "string",
                "description": "First line of the street address.",
                "example": "1 EXAMPLE DR"
              },
              "street2": {
                "type": "string",
                "description": "Second line of the street address (optional).",
                "example": ""
              },
              "street3": {
                "type": "string",
                "description": "Third line of the street address (optional).",
                "example": ""
              },
              "street4": {
                "type": "string",
                "description": "Fourth line of the street address (optional).",
                "example": ""
              },
              "city": {
                "type": "string",
                "description": "City of the address.",
                "example": "DETROIT"
              },
              "county": {
                "type": "string",
                "description": "County of the address.",
                "example": "Detroit"
              },
              "state": {
                "type": "string",
                "description": "State of the address.",
                "example": "MI"
              },
              "postalCode": {
                "type": "string",
                "description": "Postal code of the address.",
                "example": "12345"
              },
              "country": {
                "type": "string",
                "description": "Country of the address (optional).",
                "example": ""
              },
              "assessorParcelNumber": {
                "type": "string",
                "description": "Assessor parcel number for the address (optional).",
                "example": ""
              },
              "isDefaultShippingAddress": {
                "type": "boolean",
                "description": "Indicates whether the address is the default shipping address.",
                "example": false
              },
              "isValidated": {
                "type": "boolean",
                "description": "Indicates whether the address has been validated.",
                "example": false
              },
              "isArchived": {
                "type": "boolean",
                "description": "Indicates whether the address is archived.",
                "example": false
              }
            }
          },
          "mainPhoneNumber": {
            "type": "string",
            "description": "Main phone number of the facility.",
            "example": "5555551234"
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "Mobile phone number of the facility.",
            "nullable": true
          }
        }
      },
      "MetrcHarvest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier for the harvest",
            "example": 1234567,
            "nullable": false
          },
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "index": {
            "type": "string",
            "description": "Describes the current state of this object at the time it was returned from the API. This cannot be used to sort or filter.",
            "example": "ACTIVE_HARVEST",
            "enum": [
              "ACTIVE_HARVEST",
              "ONHOLD_HARVEST",
              "INACTIVE_HARVEST"
            ]
          },
          "facilityLicenseNumber": {
            "type": "string",
            "description": "License number of the facility",
            "example": "LIC-00001",
            "nullable": true
          },
          "facilityName": {
            "type": "string",
            "description": "Name of the facility",
            "example": "Example Farms",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Name of the harvest",
            "example": "PNXPRESS010124",
            "nullable": false
          },
          "harvestType": {
            "type": "string",
            "description": "Type of the harvest",
            "example": "WholePlant",
            "nullable": false,
            "enum": [
              "WholePlant",
              "PartialPlant",
              "Other"
            ]
          },
          "harvestTypeName": {
            "type": "string",
            "description": "Name of the harvest type",
            "example": "Harvest Batch",
            "nullable": false
          },
          "sourceStrainCount": {
            "type": "integer",
            "description": "Number of source strains",
            "example": 1,
            "nullable": false
          },
          "sourceStrainNames": {
            "type": "string",
            "description": "Names of source strains",
            "example": "Northern Lights",
            "nullable": false
          },
          "multiStrain": {
            "type": "boolean",
            "description": "Indicates if the harvest includes multiple strains",
            "example": false,
            "nullable": false
          },
          "dryingLocationName": {
            "type": "string",
            "description": "Name of the drying location",
            "example": "Drying Room 001",
            "nullable": false
          },
          "dryingSublocationName": {
            "type": "string"
          },
          "dryingLocationTypeName": {
            "type": "string",
            "description": "Type of the drying location",
            "example": "Default Location Type",
            "nullable": false
          },
          "patientLicenseNumber": {
            "type": "string",
            "description": "License number of the patient, if applicable",
            "example": "",
            "nullable": true
          },
          "currentWeight": {
            "type": "number",
            "format": "float",
            "description": "Current weight of the harvest",
            "example": 1915.0,
            "nullable": false
          },
          "totalWasteWeight": {
            "type": "number",
            "format": "float",
            "description": "Total waste weight",
            "example": 740.0,
            "nullable": false
          },
          "plantCount": {
            "type": "integer",
            "description": "Number of plants in the harvest",
            "example": 60,
            "nullable": false
          },
          "totalWetWeight": {
            "type": "number",
            "format": "float",
            "description": "Total wet weight of the harvest",
            "example": 81123.0,
            "nullable": false
          },
          "totalRestoredWeight": {
            "type": "number",
            "format": "float",
            "description": "Total restored weight",
            "example": 0.0,
            "nullable": false
          },
          "packageCount": {
            "type": "integer",
            "description": "Number of packages in the harvest",
            "example": 0,
            "nullable": false
          },
          "totalPackagedWeight": {
            "type": "number",
            "format": "float",
            "description": "Total packaged weight",
            "example": 0.0,
            "nullable": false
          },
          "unitOfWeightId": {
            "type": "integer",
            "description": "Identifier for the unit of weight",
            "example": 4,
            "nullable": false
          },
          "unitOfWeightAbbreviation": {
            "type": "string",
            "description": "Abbreviation of the unit of weight",
            "example": "g",
            "nullable": false
          },
          "labTestingStateName": {
            "type": "string",
            "description": "Lab testing state of the harvest",
            "example": "NotSubmitted",
            "nullable": false,
            "enum": [
              "NotSubmitted",
              "Submitted",
              "InTesting",
              "Passed",
              "Failed"
            ]
          },
          "labTestingStateDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date of the lab testing state",
            "example": "2024-07-26T20:00:00+00:00",
            "nullable": true
          },
          "isOnHold": {
            "type": "boolean",
            "description": "Indicates if the harvest is on hold",
            "example": false,
            "nullable": false
          },
          "isOnInvestigation": {
            "type": "boolean",
            "description": "Indicates if the harvest is under investigation.",
            "example": false,
            "nullable": false
          },
          "isOnInvestigationHold": {
            "type": "boolean",
            "description": "Indicates if the harvest is on hold due to investigation.",
            "example": false,
            "nullable": false
          },
          "isOnInvestigationRecall": {
            "type": "boolean",
            "description": "Indicates if the harvest is under investigation for recall.",
            "example": false,
            "nullable": false
          },
          "isOnHoldCombined": {
            "type": "boolean",
            "description": "Combined hold status indicator.",
            "example": false,
            "nullable": false
          },
          "harvestStartDate": {
            "type": "string",
            "format": "date",
            "description": "Start date of the harvest",
            "example": "2024-07-18",
            "nullable": false
          },
          "isFinished": {
            "type": "boolean",
            "description": "Indicates if the harvest is finished",
            "example": false,
            "nullable": false
          },
          "finishedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date when the harvest was finished",
            "nullable": true
          },
          "isArchived": {
            "type": "boolean",
            "description": "Indicates if the harvest is archived",
            "example": false,
            "nullable": false
          },
          "archivedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date when the harvest was archived",
            "nullable": true
          },
          "lastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Last modified date of the harvest",
            "example": "2024-07-26T20:00:00+00:00",
            "nullable": false
          }
        }
      },
      "MetrcHarvestPackage": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "packageId": {
            "type": "integer",
            "description": "Unique identifier for the package.",
            "example": 123456
          },
          "label": {
            "type": "string",
            "description": "Unique label identifier for the package.",
            "example": "1A4000000000000000000001"
          },
          "packageType": {
            "type": "string",
            "description": "Type of the package.",
            "example": "Product"
          },
          "productName": {
            "type": "string",
            "description": "Name of the product associated with the package.",
            "example": "Blue Dream Flower | Blue Dream"
          },
          "productCategoryName": {
            "type": "string",
            "description": "Category of the product.",
            "example": "Bud/Flower"
          },
          "quantity": {
            "type": "number",
            "format": "float",
            "description": "Quantity of the package contents.",
            "example": 13040.0
          },
          "unitOfMeasureName": {
            "type": "string",
            "description": "Full name of the unit of measure.",
            "example": "Grams"
          },
          "unitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Abbreviation for the unit of measure.",
            "example": "g"
          },
          "isProductionBatch": {
            "type": "boolean",
            "description": "Indicates whether the package is part of a production batch.",
            "example": true
          },
          "productionBatchNumber": {
            "type": "string",
            "description": "Identifier for the production batch.",
            "example": "Blue Dream Flower | Blue Dream"
          },
          "actualDate": {
            "type": "string",
            "format": "date",
            "description": "Date the package was created or became active.",
            "example": "2025-04-15"
          },
          "expirationDate": {
            "type": "string",
            "format": "date",
            "description": "Expiration date of the package, if applicable.",
            "nullable": true
          },
          "sellByDate": {
            "type": "string",
            "format": "date",
            "description": "Sell-by date of the package, if applicable.",
            "nullable": true
          },
          "useByDate": {
            "type": "string",
            "format": "date",
            "description": "Use-by date of the package, if applicable.",
            "nullable": true
          },
          "isArchived": {
            "type": "boolean",
            "description": "Indicates whether the package is archived.",
            "example": false
          },
          "isFinished": {
            "type": "boolean",
            "description": "Indicates whether the package is finished.",
            "example": false
          }
        }
      },
      "MetrcHarvestPlant": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "harvestId": {
            "type": "integer",
            "description": "Unique identifier for the harvest.",
            "example": 123456
          },
          "plantId": {
            "type": "integer",
            "description": "Unique identifier for the plant.",
            "example": 234567
          },
          "harvestCount": {
            "type": "integer",
            "description": "Number of times this plant has been harvested.",
            "example": 1
          },
          "label": {
            "type": "string",
            "description": "Unique label identifier for the package.",
            "example": "1A4000000000000000000001"
          },
          "locationName": {
            "type": "string",
            "description": "Name of the location where the plant was located during harvest.",
            "example": "Row 01"
          },
          "sublocationName": {
            "type": "string",
            "nullable": true
          },
          "locationTypeName": {
            "type": "string",
            "description": "Type of the location.",
            "example": "Default Location Type",
            "enum": [
              "Default Location Type",
              "Greenhouse",
              "Outdoor"
            ]
          },
          "patientLicenseNumber": {
            "type": "string",
            "description": "License number of the patient, if applicable.",
            "nullable": true,
            "example": ""
          },
          "plantBatchName": {
            "type": "string",
            "description": "Name of the plant batch.",
            "example": "01012025BLUEDREAM"
          },
          "plantBatchTypeName": {
            "type": "string",
            "description": "Type of the plant batch.",
            "example": "Clone",
            "enum": [
              "Clone",
              "Seed"
            ]
          },
          "harvestSpecificPlantCount": {
            "type": "integer",
            "description": "Number of plants specifically in this harvest package.",
            "example": 1
          },
          "totalPlantCount": {
            "type": "integer",
            "description": "Total number of plants associated with the package.",
            "example": 1
          },
          "strainName": {
            "type": "string",
            "description": "Name of the plant strain.",
            "example": "Blue Dream"
          },
          "isOnHold": {
            "type": "boolean",
            "description": "Indicates if the plant is on hold.",
            "example": false
          },
          "isOnInvestigation": {
            "type": "boolean",
            "description": "Indicates if the plant is under investigation.",
            "example": false
          },
          "isOnInvestigationHold": {
            "type": "boolean",
            "description": "Indicates if the plant is on hold due to investigation.",
            "example": false
          },
          "isOnInvestigationRecall": {
            "type": "boolean",
            "description": "Indicates if the plant is under investigation for recall.",
            "example": false
          },
          "plantedDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the plant was planted.",
            "example": "2024-11-21"
          },
          "vegetativeDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the plant entered the vegetative stage.",
            "example": "2024-12-11"
          },
          "floweringDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the plant entered the flowering stage.",
            "example": "2025-01-24"
          },
          "destroyedDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the plant was destroyed, if applicable.",
            "nullable": true
          },
          "lastModified": {
            "type": "string",
            "format": "date-time",
            "description": "The last time the record was modified.",
            "example": "2025-03-28T17:42:00+00:00"
          }
        }
      },
      "MetrcHarvestPlantsInputsResponse": {
        "type": "object",
        "properties": {
          "locations": {
            "type": "array",
            "description": "Locations eligible to act as the drying location for the harvest.",
            "items": {
              "$ref": "#/components/schemas/MetrcLocation"
            }
          },
          "unitsOfMeasure": {
            "type": "array",
            "description": "Units of measure available when entering the harvest weight.",
            "items": {
              "$ref": "#/components/schemas/UnitOfMeasure"
            }
          },
          "plants": {
            "type": "array",
            "description": "Pre-selected plants, when the modal is opened from a plant selection.\nEmpty in the modal-only fetch used by this endpoint.\n",
            "nullable": true,
            "items": {
              "type": "object"
            }
          },
          "sublocations": {
            "type": "array",
            "description": "Sublocations, where the state supports them.",
            "nullable": true,
            "items": {
              "type": "object"
            }
          },
          "patientAffiliations": {
            "type": "string",
            "description": "Patient affiliations, where the state supports them.",
            "nullable": true
          },
          "details": {
            "type": "string",
            "description": "Additional state-specific detail rows. Unused in most states.",
            "nullable": true
          }
        }
      },
      "MetrcHarvestReportResponse": {
        "type": "object",
        "properties": {
          "generatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-07-25T00:00:00+00:00"
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "name__endswith:0003",
              "name__contains:kush"
            ]
          },
          "filterLogic": {
            "type": "string",
            "description": "The filter logic specified for this report, if any",
            "example": "and",
            "nullable": true
          },
          "sort": {
            "type": "string",
            "description": "The sort order specified for this report, if any",
            "example": "label:asc",
            "nullable": true
          },
          "licenseNumber": {
            "type": "string",
            "description": "The unique identifier for the license associated with this request.",
            "example": "LIC-00001"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetrcHarvest"
            }
          }
        }
      },
      "MetrcHistory": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "descriptions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "Packaged 4,800 Grams of Blue Dream Flower from 1 Harvest",
              "- Took 4,800 Grams from Harvest \"BLUEDREAM0101\"",
              "- Package Type: Product",
              "- Location: Drying Room",
              "- Location Type: Default Location Type",
              "- Production Batch No: BD0001"
            ]
          },
          "userName": {
            "type": "string",
            "example": "Jane Doe (JDoe001)"
          },
          "actualDate": {
            "type": "string",
            "format": "date",
            "example": "2024-01-01"
          },
          "recordedDateTime": {
            "type": "string",
            "format": "date-time",
            "example": "2024-01-01T13:07:00.719384Z"
          },
          "inputSourcesNames": {
            "type": "string",
            "description": "Name of the user responsible for this event",
            "example": "User"
          },
          "externalSourceName": {
            "type": "string",
            "description": "Name of the third party software source, if applicable",
            "nullable": true
          }
        }
      },
      "MetrcHostname": {
        "type": "string",
        "description": "The Metrc hostname you use to login. For example, a California user would use ca.metrc.com.",
        "pattern": "^([a-zA-Z0-9-]+\\.)*metrc\\.com$",
        "example": "ca.metrc.com"
      },
      "MetrcIncomingSuperTransfer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MetrcIncomingTransfer"
          },
          {
            "type": "object",
            "properties": {
              "packages": {
                "type": "array",
                "description": "A list of this transfer delivery's packages",
                "items": {
                  "$ref": "#/components/schemas/MetrcTransferredPackage"
                }
              },
              "transporters": {
                "type": "array",
                "description": "A list of this transfer delivery's transporters",
                "items": {
                  "$ref": "#/components/schemas/MetrcTransferTransporter"
                }
              },
              "metadata": {
                "$ref": "#/components/schemas/SupercollectionMetadata"
              }
            }
          }
        ]
      },
      "MetrcIncomingTransfer": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "index": {
            "type": "string",
            "description": "Describes the current state of this object at the time it was returned from the API. This cannot be used to sort or filter.",
            "example": "ACTIVE_INCOMING_TRANSFER",
            "enum": [
              "ACTIVE_INCOMING_TRANSFER",
              "INACTIVE_INCOMING_TRANSFER"
            ]
          },
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for the transfer",
            "example": 1234567
          },
          "manifestNumber": {
            "type": "string",
            "description": "Unique manifest number associated with the transfer",
            "example": "0001234567"
          },
          "shipmentLicenseTypeName": {
            "type": "string",
            "description": "Type of license for the shipment",
            "example": "Licensed"
          },
          "shipperFacilityLicenseNumber": {
            "type": "string",
            "description": "License number of the shipper's facility",
            "example": "LIC-00002"
          },
          "shipperFacilityName": {
            "type": "string",
            "description": "Name of the shipper's facility",
            "example": "Sample Manufacturing, Inc."
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Name of the transfer"
          },
          "transporterFacilityLicenseNumber": {
            "type": "string",
            "description": "License number of the transporter facility",
            "example": ""
          },
          "transporterFacilityName": {
            "type": "string",
            "description": "Name of the transporter facility",
            "example": ""
          },
          "driverName": {
            "type": "string",
            "description": "Name of the driver",
            "example": ""
          },
          "driverOccupationalLicenseNumber": {
            "type": "string",
            "description": "Occupational license number of the driver",
            "example": ""
          },
          "driverVehicleLicenseNumber": {
            "type": "string",
            "description": "License number of the vehicle used by the driver",
            "example": ""
          },
          "vehicleMake": {
            "type": "string",
            "description": "Make of the vehicle used for transport",
            "example": ""
          },
          "vehicleModel": {
            "type": "string",
            "description": "Model of the vehicle used for transport",
            "example": ""
          },
          "vehicleLicensePlateNumber": {
            "type": "string",
            "description": "License plate number of the vehicle",
            "example": ""
          },
          "deliveryFacilities": {
            "type": "string",
            "description": "Details of the delivery facilities",
            "example": "LIC-00001 (Example Dispensary LLC)"
          },
          "deliveryCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of deliveries in the transfer",
            "example": 1
          },
          "receivedDeliveryCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of deliveries received",
            "example": 0
          },
          "packageCount": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of packages in the transfer",
            "example": 8
          },
          "receivedPackageCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of packages received",
            "example": 0
          },
          "containsPlantPackage": {
            "type": "boolean",
            "description": "Indicates if the transfer contains plant packages",
            "example": false
          },
          "containsProductPackage": {
            "type": "boolean",
            "description": "Indicates if the transfer contains product packages",
            "example": true
          },
          "containsTradeSample": {
            "type": "boolean",
            "description": "Indicates if the transfer contains trade samples",
            "example": false
          },
          "containsDonation": {
            "type": "boolean",
            "description": "Indicates if the transfer contains donations",
            "example": false
          },
          "containsTestingSample": {
            "type": "boolean",
            "description": "Indicates if the transfer contains testing samples",
            "example": false
          },
          "containsProductRequiresRemediation": {
            "type": "boolean",
            "description": "Indicates if the transfer contains products that require remediation",
            "example": false
          },
          "containsRemediatedProductPackage": {
            "type": "boolean",
            "description": "Indicates if the transfer contains remediated product packages",
            "example": false
          },
          "editCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of times the transfer record has been edited",
            "example": 1
          },
          "canEdit": {
            "type": "boolean",
            "description": "Indicates if the transfer record can be edited",
            "example": true
          },
          "canEditOutgoingInactive": {
            "type": "boolean",
            "description": "Indicates if the transfer record can be edited when outgoing and inactive",
            "example": false
          },
          "isVoided": {
            "type": "boolean",
            "description": "Indicates if the transfer has been voided",
            "example": false
          },
          "createdDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the transfer was created",
            "example": "2024-07-25T13:00:00+00:00"
          },
          "createdByUserName": {
            "type": "string",
            "description": "Username of the person who created the transfer record",
            "example": "Jane Doe"
          },
          "lastModified": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the transfer was last modified",
            "example": "2024-07-25T00:00:00+00:00"
          },
          "deliveryId": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for the delivery associated with the transfer",
            "example": 1234566
          },
          "recipientFacilityId": {
            "type": "integer",
            "format": "int32",
            "description": "The ID of the recipient facility.",
            "example": 456
          },
          "recipientFacilityLicenseNumber": {
            "type": "string",
            "description": "License number of the recipient facility",
            "example": "LIC-00001"
          },
          "recipientFacilityName": {
            "type": "string",
            "description": "Name of the recipient facility",
            "example": "Example Dispensary LLC"
          },
          "recipientFacilityInfo": {
            "type": "string",
            "example": ""
          },
          "shipmentTypeName": {
            "type": "string",
            "description": "Type of shipment",
            "example": "Unaffiliated Transfer"
          },
          "shipmentTransactionTypeName": {
            "type": "string",
            "description": "Type of shipment transaction",
            "example": "Wholesale"
          },
          "estimatedDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "Estimated date and time of departure",
            "example": "2024-07-26T06:00:00.000"
          },
          "actualDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Actual date and time of departure"
          },
          "estimatedArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "Estimated date and time of arrival",
            "example": "2024-07-26T17:00:00.000"
          },
          "actualArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Actual date and time of arrival"
          },
          "deliveryPackageCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of packages in the delivery",
            "example": 8
          },
          "deliveryReceivedPackageCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of packages received in the delivery",
            "example": 0
          },
          "receivedByName": {
            "type": "string",
            "nullable": true,
            "description": "Name of the person who received the delivery"
          },
          "receivedDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date and time when the delivery was received"
          },
          "estimatedReturnDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Estimated date and time of return departure"
          },
          "actualReturnDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Actual date and time of return departure"
          },
          "estimatedReturnArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Estimated date and time of return arrival"
          },
          "actualReturnArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Actual date and time of return arrival"
          },
          "rejectedPackagesReturned": {
            "type": "boolean",
            "description": "Indicates if rejected packages were returned",
            "example": false
          },
          "transporterAllApprovalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time when all transporters were approved",
            "example": "2024-07-25T13:00:00+00:00"
          },
          "destinationsAllApprovalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time when all destinations were approved",
            "example": "2024-07-25T13:00:00+00:00"
          },
          "transportersAutomaticallyApproved": {
            "type": "boolean",
            "description": "Indicates if transporters were automatically approved",
            "example": true
          },
          "destinationsAutomaticallyApproved": {
            "type": "boolean",
            "description": "Indicates if destinations were automatically approved",
            "example": true
          },
          "approvalRejectDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date and time when the approval was rejected"
          },
          "approvalRejectedByUser": {
            "type": "string",
            "description": "Username of the person who rejected the approval",
            "example": "Jane Doe"
          },
          "approvalRejectedFacilityLicenseNumber": {
            "type": "string",
            "nullable": true,
            "description": "License number of the facility where approval was rejected"
          },
          "approvalRejectReasonId": {
            "type": "string",
            "nullable": true,
            "description": "Reason ID for the approval rejection"
          },
          "PDFDocumentFileSystemId": {
            "type": "number",
            "example": 0
          },
          "invoiceNumber": {
            "type": "string",
            "example": ""
          },
          "lineNumber": {
            "type": "integer",
            "format": "int32",
            "example": ""
          }
        }
      },
      "MetrcItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "The item ID",
            "example": 12345
          },
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "index": {
            "type": "string",
            "description": "Describes the current state of this object at the time it was returned from the API. This cannot be used to sort or filter.",
            "example": "ACTIVE_ITEM",
            "enum": [
              "ACTIVE_ITEM"
            ]
          },
          "facilityLicenseNumber": {
            "type": "string",
            "description": "The facility license number",
            "example": "LIC-00001",
            "nullable": true
          },
          "facilityName": {
            "type": "string",
            "description": "The facility name",
            "example": "Example Growers",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The item name",
            "example": "Pineapple Express Flower"
          },
          "productCategoryId": {
            "type": "number",
            "description": "The product category ID",
            "example": 401
          },
          "productCategoryName": {
            "type": "string",
            "description": "The product category name",
            "example": "Bud/Flower (Final Packaging)"
          },
          "productCategoryTypeName": {
            "type": "string",
            "description": "The product category type name",
            "example": "Cannabis"
          },
          "expirationDateConfiguration": {
            "type": "string",
            "enum": [
              "Off",
              "Optional"
            ],
            "description": "The expiration date configuration",
            "example": "Off"
          },
          "expirationConfigurationState": {
            "type": "string",
            "enum": [
              "Off"
            ],
            "description": "The expiration configuration state",
            "example": "Off"
          },
          "expirationDateDaysInAdvance": {
            "type": "number",
            "description": "The number of days in advance for the expiration date",
            "nullable": true
          },
          "sellByDateConfiguration": {
            "type": "string",
            "enum": [
              "Off",
              "Optional"
            ],
            "description": "The sell by date configuration",
            "example": "Off"
          },
          "sellByConfigurationState": {
            "type": "string",
            "enum": [
              "Off"
            ],
            "description": "The sell by configuration state",
            "example": "Off"
          },
          "sellByDateDaysInAdvance": {
            "type": "number",
            "description": "The number of days in advance for the sell by date",
            "nullable": true
          },
          "useByDateConfiguration": {
            "type": "string",
            "enum": [
              "Off",
              "Optional"
            ],
            "description": "The use by date configuration",
            "example": "Off"
          },
          "useByConfigurationState": {
            "type": "string",
            "enum": [
              "Off"
            ],
            "description": "The use by configuration state",
            "example": "Off"
          },
          "useByDateDaysInAdvance": {
            "type": "number",
            "description": "The number of days in advance for the use by date",
            "nullable": true
          },
          "quantityTypeName": {
            "type": "string",
            "enum": [
              "WeightBased",
              "CountBased",
              "VolumeBased"
            ],
            "description": "The quantity type name",
            "example": "WeightBased"
          },
          "defaultLabTestingStateName": {
            "type": "string",
            "enum": [
              "NotRequired",
              "NotSubmitted"
            ],
            "description": "The default lab testing state name",
            "example": "NotSubmitted"
          },
          "unitOfMeasureId": {
            "type": "number",
            "description": "The unit of measure ID",
            "example": 4
          },
          "unitOfMeasureName": {
            "type": "string",
            "description": "The unit of measure name",
            "example": "Grams"
          },
          "approvalStatusName": {
            "type": "string",
            "enum": [
              "Approved",
              "Revoked"
            ],
            "description": "The approval status name",
            "example": "Approved"
          },
          "approvalStatusDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time of approval status",
            "example": "2023-08-17T22:20:30+00:00"
          },
          "strainName": {
            "type": "string",
            "description": "The strain name",
            "example": "Pineapple Express",
            "nullable": true
          },
          "itemBrandId": {
            "type": "number",
            "description": "The item brand ID",
            "example": 0
          },
          "itemBrandName": {
            "type": "string",
            "description": "The item brand name",
            "example": "BrandName",
            "nullable": true
          },
          "administrationMethod": {
            "type": "string",
            "description": "The method of administration",
            "example": "N/A"
          },
          "unitCbdPercent": {
            "type": "number",
            "description": "The unit CBD percentage",
            "nullable": true
          },
          "unitCbdContentDose": {
            "type": "number",
            "description": "The unit CBD content dose",
            "nullable": true
          },
          "unitCbdContentDoseUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "The unit CBD content dose unit of measure abbreviation",
            "nullable": true
          },
          "unitThcPercent": {
            "type": "number",
            "description": "The unit THC percentage",
            "nullable": true
          },
          "unitThcContentUnitOfMeasureId": {
            "type": "number",
            "description": "The unit THC content unit of measure ID",
            "nullable": true
          },
          "unitThcContentDoseUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "The unit THC content dose unit of measure abbreviation",
            "nullable": true
          },
          "unitWeight": {
            "type": "number",
            "description": "The unit weight",
            "nullable": true
          },
          "servingSize": {
            "type": "string",
            "description": "The serving size",
            "example": "1g"
          },
          "numberOfDoses": {
            "type": "number",
            "description": "The number of doses",
            "example": 28,
            "nullable": true
          },
          "unitQuantity": {
            "type": "number",
            "description": "The unit quantity",
            "nullable": true
          },
          "unitQuantityUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "The unit quantity unit of measure abbreviation",
            "nullable": true
          },
          "publicIngredients": {
            "type": "string",
            "description": "The public ingredients",
            "example": "Cannabis Flower"
          },
          "description": {
            "type": "string",
            "description": "The item description",
            "example": ""
          },
          "allergens": {
            "type": "string",
            "description": "The allergens present in the item",
            "example": ""
          },
          "productImages": {
            "type": "array",
            "description": "A list of product image references",
            "items": {
              "type": "object",
              "properties": {
                "productImageFileId": {
                  "type": "integer",
                  "description": "Unique ID for this product image file"
                },
                "fileType": {
                  "type": "string",
                  "enum": [
                    "ItemProductImage"
                  ]
                },
                "productId": {
                  "type": "integer",
                  "description": "ID of the associated product"
                },
                "fileName": {
                  "type": "string",
                  "nullable": true,
                  "description": "Path or name of the file"
                },
                "encodedImageBase64": {
                  "type": "string",
                  "nullable": true,
                  "description": "Base64-encoded image data"
                },
                "fileSystemId": {
                  "type": "integer",
                  "description": "File system ID"
                }
              }
            }
          },
          "productPhotoDescription": {
            "type": "string",
            "description": "Description of the product photo",
            "example": ""
          },
          "labelImages": {
            "type": "array",
            "description": "A list of label image references",
            "items": {
              "type": "object",
              "properties": {
                "labelImageFileId": {
                  "type": "integer",
                  "description": "Unique ID for this label image file"
                },
                "fileType": {
                  "type": "string",
                  "enum": [
                    "ItemLabelImage"
                  ]
                },
                "productId": {
                  "type": "integer",
                  "description": "ID of the associated product"
                },
                "fileName": {
                  "type": "string",
                  "nullable": true,
                  "description": "Path or name of the file"
                },
                "encodedImageBase64": {
                  "type": "string",
                  "nullable": true,
                  "description": "Base64-encoded image data"
                },
                "fileSystemId": {
                  "type": "integer",
                  "description": "File system ID"
                }
              }
            }
          },
          "labelPhotoDescription": {
            "type": "string",
            "description": "Description of the label photo",
            "example": ""
          },
          "packagingImages": {
            "type": "array",
            "description": "A list of packaging image references",
            "items": {
              "type": "object",
              "properties": {
                "packagingImageFileId": {
                  "type": "integer",
                  "description": "Unique ID for this packaging image file"
                },
                "fileType": {
                  "type": "string",
                  "enum": [
                    "ItemPackagingImage"
                  ]
                },
                "productId": {
                  "type": "integer",
                  "description": "ID of the associated product"
                },
                "fileName": {
                  "type": "string",
                  "nullable": true,
                  "description": "Path or name of the file"
                },
                "encodedImageBase64": {
                  "type": "string",
                  "nullable": true,
                  "description": "Base64-encoded image data"
                },
                "fileSystemId": {
                  "type": "integer",
                  "description": "File system ID"
                }
              }
            }
          },
          "packagingPhotoDescription": {
            "type": "string",
            "description": "Description of the packaging photo",
            "example": ""
          },
          "productPDFDocuments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of product PDF documents"
          },
          "isUsed": {
            "type": "boolean",
            "description": "Indicates if the item is used",
            "example": false
          },
          "isArchived": {
            "type": "boolean",
            "description": "Indicates if the item is archived",
            "example": false
          },
          "lastModified": {
            "type": "string",
            "format": "date-time",
            "description": "The last modified date and time",
            "nullable": true
          },
          "processingJobCategoryId": {
            "type": "number",
            "description": "The processing job category ID",
            "nullable": true
          },
          "processingJobCategoryName": {
            "type": "string",
            "description": "The processing job category name",
            "nullable": true
          },
          "supplyDurationDays": {
            "type": "number",
            "description": "The supply duration in days",
            "nullable": true
          },
          "unitCbdPercentOverride": {
            "type": "number",
            "description": "Override value for the unit CBD percentage",
            "nullable": true
          },
          "unitCbdContent": {
            "type": "number",
            "description": "The unit CBD content",
            "nullable": true
          },
          "unitCbdContentOverride": {
            "type": "number",
            "description": "Override value for the unit CBD content",
            "nullable": true
          },
          "unitCbdContentDoseUoMId": {
            "type": "number",
            "description": "The unit CBD content dose UoM ID",
            "nullable": true
          },
          "unitCbdContentUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "The unit CBD content unit of measure abbreviation",
            "nullable": true
          },
          "unitCbdContentUnitOfMeasureId": {
            "type": "number",
            "description": "The unit CBD content unit of measure ID",
            "nullable": true
          },
          "unitCbdContentUoMId": {
            "type": "number",
            "description": "The unit CBD content UoM ID",
            "nullable": true
          },
          "unitThcContent": {
            "type": "number",
            "description": "The unit THC content",
            "nullable": true
          },
          "unitThcContentOverride": {
            "type": "number",
            "description": "Override value for the unit THC content",
            "nullable": true
          },
          "unitThcContentDose": {
            "type": "number",
            "description": "The unit THC content dose",
            "nullable": true
          },
          "unitThcContentDoseUnitOfMeasureId": {
            "type": "number",
            "description": "The unit THC content dose unit of measure ID",
            "nullable": true
          },
          "unitThcContentDoseUoMId": {
            "type": "number",
            "description": "The unit THC content dose UoM ID",
            "nullable": true
          },
          "unitThcContentUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "The unit THC content unit of measure abbreviation",
            "nullable": true
          },
          "unitThcContentUoMId": {
            "type": "number",
            "description": "The unit THC content UoM ID",
            "nullable": true
          },
          "unitWeightUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "The unit weight unit of measure abbreviation",
            "nullable": true
          },
          "unitWeightUnitOfMeasureId": {
            "type": "number",
            "description": "The unit weight unit of measure ID",
            "nullable": true
          },
          "unitWeightUoMId": {
            "type": "number",
            "description": "The unit weight UoM ID",
            "nullable": true
          },
          "unitVolume": {
            "type": "number",
            "description": "The unit volume",
            "nullable": true
          },
          "unitVolumeUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "The unit volume unit of measure abbreviation",
            "nullable": true
          },
          "unitVolumeUnitOfMeasureId": {
            "type": "number",
            "description": "The unit volume unit of measure ID",
            "nullable": true
          },
          "unitVolumeUoMId": {
            "type": "number",
            "description": "The unit volume UoM ID",
            "nullable": true
          },
          "publicIngredientsOverride": {
            "type": "string",
            "description": "Override value for the public ingredients",
            "nullable": true
          },
          "allergensOverride": {
            "type": "string",
            "description": "Override value for the allergens present in the item",
            "nullable": true
          },
          "descriptionOverride": {
            "type": "string",
            "description": "Override value for the item description",
            "nullable": true
          },
          "globalProductName": {
            "type": "string",
            "description": "The global product name",
            "nullable": true
          },
          "globalProductNumber": {
            "type": "number",
            "nullable": true
          },
          "productBrandName": {
            "type": "string",
            "description": "The product brand name",
            "nullable": true
          },
          "administrationMethodOverride": {
            "type": "string",
            "description": "Override value for the method of administration",
            "nullable": true
          },
          "unitCbdContentDoseUnitOfMeasureId": {
            "type": "number",
            "description": "The unit CBD content dose unit of measure ID",
            "nullable": true
          },
          "strainId": {
            "type": "number",
            "description": "The strain ID",
            "example": 1234567
          },
          "productCategoryRequiresApproval": {
            "type": "boolean",
            "description": "Indicates if the item's product category requires approval",
            "example": false
          },
          "packagingPhotoDescriptionOverride": {
            "type": "string",
            "nullable": true
          },
          "packagingPhotoOverride": {
            "type": "string",
            "nullable": true
          },
          "labelPhotoDescriptionOverride": {
            "type": "string",
            "nullable": true
          },
          "productPhotoDescriptionOverride": {
            "type": "string",
            "nullable": true
          },
          "brandName": {
            "type": "string",
            "nullable": true
          },
          "productPhotoOverride": {
            "type": "string",
            "nullable": true
          },
          "globalProductId": {
            "type": "number",
            "nullable": true
          },
          "labelPhotoOverride": {
            "type": "string",
            "nullable": true
          },
          "processingJobTypeId": {
            "type": "string",
            "nullable": true
          },
          "processingJobTypeName": {
            "type": "string",
            "nullable": true
          },
          "unitThcPercentOverride": {
            "type": "number",
            "nullable": true
          },
          "unitThcAContentUoMId": {
            "type": "number",
            "nullable": true
          },
          "unitThcAContent": {
            "type": "number",
            "nullable": true
          },
          "unitThcAContentDose": {
            "type": "number",
            "nullable": true
          },
          "unitCbdAContentUnitOfMeasureAbbreviation": {
            "type": "string",
            "nullable": true
          },
          "unitThcAContentUnitOfMeasureAbbreviation": {
            "type": "string",
            "nullable": true
          },
          "unitCbdAPercentOverride": {
            "type": "number",
            "nullable": true
          },
          "unitCbdAContent": {
            "type": "number",
            "nullable": true
          },
          "unitCbdAContentDoseUnitOfMeasureId": {
            "type": "number",
            "nullable": true
          },
          "unitCbdAPercent": {
            "type": "number",
            "nullable": true
          },
          "unitCbdAContentDoseUnitOfMeasureAbbreviation": {
            "type": "string",
            "nullable": true
          },
          "unitThcAPercentOverride": {
            "type": "number",
            "nullable": true
          },
          "unitThcAContentDoseUnitOfMeasureId": {
            "type": "number",
            "nullable": true
          },
          "unitThcAPercent": {
            "type": "number",
            "nullable": true
          },
          "unitCbdAContentOverride": {
            "type": "number",
            "nullable": true
          },
          "unitCbdAContentDose": {
            "type": "number",
            "nullable": true
          },
          "unitThcAContentDoseUnitOfMeasureAbbreviation": {
            "type": "string",
            "nullable": true
          },
          "unitThcAContentDoseUoMId": {
            "type": "number",
            "nullable": true
          },
          "unitThcAContentUnitOfMeasureId": {
            "type": "number",
            "nullable": true
          },
          "unitCbdAContentDoseUoMId": {
            "type": "number",
            "nullable": true
          },
          "unitCbdAContentUnitOfMeasureId": {
            "type": "number",
            "nullable": true
          },
          "unitCbdAContentUoMId": {
            "type": "number",
            "nullable": true
          },
          "unitThcAContentOverride": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "MetrcItemImage": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcItemImage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "fileName": {
            "type": "string",
            "description": "Path or name of the file",
            "example": "Photos/Product photo-Cannabis Flower.png"
          },
          "productId": {
            "type": "integer",
            "description": "ID of the associated product",
            "example": 234567
          },
          "imageFileId": {
            "type": "integer",
            "description": "Unique ID for this image file",
            "example": 123456
          },
          "fileType": {
            "$ref": "#/components/schemas/ItemImageFileType"
          }
        }
      },
      "MetrcItemImageReference": {
        "type": "object",
        "description": "A reference to an uploaded item image",
        "properties": {
          "imageFileId": {
            "type": "integer",
            "description": "The ID of the uploaded image file",
            "example": 202
          },
          "fileType": {
            "$ref": "#/components/schemas/ItemImageFileType"
          }
        },
        "required": [
          "imageFileId",
          "fileType"
        ],
        "additionalProperties": false
      },
      "MetrcItemIngredient": {
        "type": "object",
        "properties": {
          "ingredient": {
            "type": "string",
            "description": "The ingredient name or description",
            "example": "Cannabis Flower"
          }
        }
      },
      "MetrcItemIngredientEntry": {
        "type": "object",
        "description": "An ingredient entry for an item",
        "properties": {
          "ingredient": {
            "type": "string",
            "description": "The ingredient name or description",
            "example": "example ingredient"
          }
        },
        "required": [
          "ingredient"
        ],
        "additionalProperties": false
      },
      "MetrcItemNote": {
        "type": "object",
        "properties": {
          "note": {
            "type": "string",
            "description": "A note associated with the item",
            "example": "This item requires special handling"
          }
        }
      },
      "MetrcItemReportResponse": {
        "type": "object",
        "properties": {
          "generatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-07-25T00:00:00+00:00"
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "name__contains:kush"
            ]
          },
          "filterLogic": {
            "type": "string",
            "description": "The filter logic specified for this report, if any",
            "example": "and",
            "nullable": true
          },
          "sort": {
            "type": "string",
            "description": "The sort order specified for this report, if any",
            "example": "name:asc",
            "nullable": true
          },
          "licenseNumber": {
            "type": "string",
            "description": "The unique identifier for the license associated with this request.",
            "example": "LIC-00001"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetrcItem"
            }
          }
        }
      },
      "MetrcLabBatch": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The lab batch ID.",
            "example": 1
          },
          "name": {
            "type": "string",
            "description": "The name of the lab batch.",
            "example": "Additional - Mandatory Cannabinoid % and Totals"
          },
          "labTestTypeCount": {
            "type": "integer",
            "description": "The number of lab test types in this batch.",
            "example": 12
          },
          "labTestTypes": {
            "type": "array",
            "description": "List of lab test types in this batch.",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The lab test type ID.",
                  "example": 153
                },
                "name": {
                  "type": "string",
                  "description": "The name of the lab test type.",
                  "example": "CBD (%) Mandatory Cannabinoid % and Totals"
                },
                "requiresTestResult": {
                  "type": "boolean",
                  "description": "Whether this test type requires a result.",
                  "example": true
                },
                "informationalOnly": {
                  "type": "boolean",
                  "description": "Whether this test type is informational only.",
                  "example": false
                },
                "researchAndDevelopment": {
                  "type": "boolean",
                  "description": "Whether this test type is for research and development.",
                  "example": false
                },
                "alwaysPasses": {
                  "type": "boolean",
                  "description": "Whether this test type always passes.",
                  "example": false
                },
                "maxAllowedFailureCount": {
                  "type": "integer",
                  "description": "Maximum allowed failure count.",
                  "example": 0
                },
                "passingCountAfterFail": {
                  "type": "integer",
                  "description": "Number of passing results needed after a failure.",
                  "example": 2
                },
                "passingCountAfterRemediation": {
                  "type": "integer",
                  "description": "Number of passing results needed after remediation.",
                  "example": 1
                },
                "passingCountAfterDecontamination": {
                  "type": "integer",
                  "description": "Number of passing results needed after decontamination.",
                  "example": 0
                },
                "labTestResultMode": {
                  "type": "string",
                  "description": "The lab test result mode.",
                  "example": "None"
                },
                "labTestResultModeName": {
                  "type": "string",
                  "description": "The display name of the lab test result mode.",
                  "example": "None"
                },
                "labTestResultMinimum": {
                  "type": "number",
                  "nullable": true,
                  "description": "The minimum lab test result value, if applicable."
                },
                "labTestResultMaximum": {
                  "type": "number",
                  "nullable": true,
                  "description": "The maximum lab test result value, if applicable."
                },
                "labTestResultExpirationDays": {
                  "type": "integer",
                  "nullable": true,
                  "description": "Number of days until the lab test result expires, if applicable."
                },
                "dependencyMode": {
                  "type": "string",
                  "description": "The dependency mode for this test type.",
                  "example": "RequiresAll"
                },
                "dependencyModeName": {
                  "type": "string",
                  "description": "The display name of the dependency mode.",
                  "example": "RequiresAll"
                }
              }
            }
          }
        }
      },
      "MetrcLicense": {
        "type": "object",
        "properties": {
          "licenseName": {
            "type": "string",
            "description": "The facility name for this license",
            "example": "Stinky Farms"
          },
          "licenseNumber": {
            "type": "string",
            "description": "The license number",
            "example": "LIC-00001"
          }
        }
      },
      "MetrcLocation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier for the location record.",
            "example": 123456
          },
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "index": {
            "type": "string",
            "description": "Describes the current state of this object at the time it was returned from the API. This cannot be used to sort or filter.",
            "example": "ACTIVE_LOCATION",
            "enum": [
              "ACTIVE_LOCATION"
            ]
          },
          "forHarvests": {
            "type": "boolean",
            "example": true
          },
          "forPackages": {
            "type": "boolean",
            "example": true
          },
          "forPlantBatches": {
            "type": "boolean",
            "example": true
          },
          "forPlants": {
            "type": "boolean",
            "example": true
          },
          "isArchived": {
            "type": "boolean",
            "example": false
          },
          "locationTypeId": {
            "type": "integer",
            "example": 1
          },
          "locationTypeName": {
            "type": "string",
            "example": "Default Location Type"
          },
          "name": {
            "type": "string",
            "example": "Row 01"
          }
        }
      },
      "MetrcMotherPlant": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier for the plant record.",
            "example": 123456
          },
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "index": {
            "type": "string",
            "description": "Describes the current state of this object at the time it was returned from the API. This cannot be used to sort or filter.",
            "example": "VEGETATIVE_PLANT",
            "enum": [
              "ACTIVE_MOTHER_PLANT",
              "ONHOLD_MOTHER_PLANT",
              "INACTIVE_MOTHER_PLANT"
            ]
          },
          "label": {
            "type": "string",
            "description": "Unique label identifier for the plant.",
            "example": "1A4000000000000000000001"
          },
          "stateName": {
            "type": "string",
            "description": "The current state of the plant.",
            "example": "Tracked",
            "enum": [
              "Tracked",
              "Untracked",
              "Destroyed"
            ]
          },
          "growthPhaseName": {
            "type": "string",
            "description": "The growth phase of the plant.",
            "example": "Flowering",
            "enum": [
              "Germination",
              "Vegetative",
              "Flowering",
              "Harvest"
            ]
          },
          "plantCount": {
            "type": "integer",
            "description": "Number of plants in this record.",
            "example": 1
          },
          "groupTagTypeMax": {
            "type": "integer",
            "description": "Maximum type of group tag.",
            "example": 0
          },
          "tagTypeMax": {
            "type": "integer",
            "description": "Maximum type of tag.",
            "example": 1
          },
          "plantBatchName": {
            "type": "string",
            "description": "Name of the plant batch.",
            "example": "PNXPRESS010124"
          },
          "plantBatchTypeName": {
            "type": "string",
            "description": "Type of the plant batch.",
            "example": "Clone",
            "enum": [
              "Clone",
              "Seed"
            ]
          },
          "strainId": {
            "type": "integer",
            "example": 12345
          },
          "strainName": {
            "type": "string",
            "description": "Name of the plant strain.",
            "example": "Northern Lights"
          },
          "locationName": {
            "type": "string",
            "description": "Name of the location where the plant is situated.",
            "example": "Row 05"
          },
          "sublocationName": {
            "type": "string",
            "nullable": true
          },
          "locationTypeName": {
            "type": "string",
            "description": "Type of the location.",
            "example": "Default Location Type",
            "enum": [
              "Default Location Type",
              "Greenhouse",
              "Outdoor"
            ]
          },
          "patientLicenseNumber": {
            "type": "string",
            "description": "License number of the patient, if applicable.",
            "example": "",
            "nullable": true
          },
          "harvestCount": {
            "type": "integer",
            "description": "Number of times the plant has been harvested.",
            "example": 0
          },
          "isOnHold": {
            "type": "boolean",
            "description": "Indicates if the plant is on hold.",
            "example": false
          },
          "plantedDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the plant was planted.",
            "example": "2024-04-09"
          },
          "vegetativeDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the plant entered the vegetative stage.",
            "example": "2024-04-30"
          },
          "floweringDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the plant entered the flowering stage.",
            "example": "2024-06-14"
          },
          "destroyedDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the plant was destroyed, if applicable.",
            "nullable": true
          },
          "destroyedNote": {
            "type": "string",
            "description": "Note about the destruction of the plant, if applicable.",
            "nullable": true
          },
          "destroyedByUserName": {
            "type": "string",
            "description": "Username of the person who destroyed the plant, if applicable.",
            "nullable": true
          },
          "lastModified": {
            "type": "string",
            "format": "date-time",
            "description": "The last time the plant record was modified.",
            "example": "2024-07-26T13:00:00+00:00"
          },
          "survivedCount": {
            "type": "integer",
            "description": "Number of plants that survived from this record.",
            "example": 1
          },
          "motherPlantD ate": {
            "type": "string",
            "format": "date",
            "description": "Date when the plant was designated as a mother plant.",
            "example": "2024-05-01"
          },
          "descendedCount": {
            "type": "integer",
            "description": "Number of descendant plants from this plant.",
            "example": 3
          },
          "clonedCount": {
            "type": "integer",
            "description": "Number of clones taken from this plant.",
            "example": 2
          }
        }
      },
      "MetrcOutgoingSuperTransfer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MetrcOutgoingTransfer"
          },
          {
            "type": "object",
            "properties": {
              "deliveries": {
                "type": "array",
                "description": "A list of this transfer's deliveries, each with optional packages and transporters",
                "items": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/MetrcTransferDelivery"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "packages": {
                          "type": "array",
                          "description": "A list of this delivery's packages",
                          "items": {
                            "$ref": "#/components/schemas/MetrcTransferredPackage"
                          }
                        },
                        "transporters": {
                          "type": "array",
                          "description": "A list of this delivery's transporters",
                          "items": {
                            "$ref": "#/components/schemas/MetrcTransferTransporter"
                          }
                        }
                      }
                    }
                  ]
                }
              },
              "metadata": {
                "$ref": "#/components/schemas/SupercollectionMetadata"
              }
            }
          }
        ]
      },
      "MetrcOutgoingTransfer": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "index": {
            "type": "string",
            "description": "Describes the current state of this object at the time it was returned from the API. This cannot be used to sort or filter.",
            "example": "ACTIVE_OUTGOING_TRANSFER",
            "enum": [
              "ACTIVE_OUTGOING_TRANSFER",
              "INACTIVE_OUTGOING_TRANSFER",
              "REJECTED_TRANSFER"
            ]
          },
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for the transfer",
            "example": 1234567
          },
          "manifestNumber": {
            "type": "string",
            "description": "Unique manifest number associated with the transfer",
            "example": "0001234567"
          },
          "shipmentLicenseTypeName": {
            "type": "string",
            "description": "Type of license for the shipment",
            "example": "Licensed"
          },
          "shipperFacilityLicenseNumber": {
            "type": "string",
            "description": "License number of the shipper's facility",
            "example": "LIC-00002"
          },
          "shipperFacilityName": {
            "type": "string",
            "description": "Name of the shipper's facility",
            "example": "Sample Manufacturing, Inc."
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Name of the transfer"
          },
          "transporterFacilityLicenseNumber": {
            "type": "string",
            "description": "License number of the transporter facility",
            "example": ""
          },
          "transporterFacilityName": {
            "type": "string",
            "description": "Name of the transporter facility",
            "example": ""
          },
          "driverName": {
            "type": "string",
            "description": "Name of the driver",
            "example": ""
          },
          "driverOccupationalLicenseNumber": {
            "type": "string",
            "description": "Occupational license number of the driver",
            "example": ""
          },
          "driverVehicleLicenseNumber": {
            "type": "string",
            "description": "License number of the vehicle used by the driver",
            "example": ""
          },
          "vehicleMake": {
            "type": "string",
            "description": "Make of the vehicle used for transport",
            "example": ""
          },
          "vehicleModel": {
            "type": "string",
            "description": "Model of the vehicle used for transport",
            "example": ""
          },
          "vehicleLicensePlateNumber": {
            "type": "string",
            "description": "License plate number of the vehicle",
            "example": ""
          },
          "deliveryFacilities": {
            "type": "string",
            "description": "Details of the delivery facilities",
            "example": "LIC-00001 (Example Dispensary LLC)"
          },
          "deliveryCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of deliveries in the transfer",
            "example": 1
          },
          "receivedDeliveryCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of deliveries received",
            "example": 0
          },
          "packageCount": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of packages in the transfer",
            "example": 8
          },
          "receivedPackageCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of packages received",
            "example": 0
          },
          "containsPlantPackage": {
            "type": "boolean",
            "description": "Indicates if the transfer contains plant packages",
            "example": false
          },
          "containsProductPackage": {
            "type": "boolean",
            "description": "Indicates if the transfer contains product packages",
            "example": true
          },
          "containsTradeSample": {
            "type": "boolean",
            "description": "Indicates if the transfer contains trade samples",
            "example": false
          },
          "containsDonation": {
            "type": "boolean",
            "description": "Indicates if the transfer contains donations",
            "example": false
          },
          "containsTestingSample": {
            "type": "boolean",
            "description": "Indicates if the transfer contains testing samples",
            "example": false
          },
          "containsProductRequiresRemediation": {
            "type": "boolean",
            "description": "Indicates if the transfer contains products that require remediation",
            "example": false
          },
          "containsRemediatedProductPackage": {
            "type": "boolean",
            "description": "Indicates if the transfer contains remediated product packages",
            "example": false
          },
          "editCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of times the transfer record has been edited",
            "example": 1
          },
          "canEdit": {
            "type": "boolean",
            "description": "Indicates if the transfer record can be edited",
            "example": true
          },
          "canEditOutgoingInactive": {
            "type": "boolean",
            "description": "Indicates if the transfer record can be edited when outgoing and inactive",
            "example": false
          },
          "isVoided": {
            "type": "boolean",
            "description": "Indicates if the transfer has been voided",
            "example": false
          },
          "createdDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the transfer was created",
            "example": "2024-07-25T13:00:00+00:00"
          },
          "createdByUserName": {
            "type": "string",
            "description": "Username of the person who created the transfer record",
            "example": "Jane Doe"
          },
          "lastModified": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the transfer was last modified",
            "example": "2024-07-25T00:00:00+00:00"
          },
          "deliveryId": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for the delivery associated with the transfer",
            "example": 1234566
          },
          "recipientFacilityId": {
            "type": "integer",
            "format": "int32",
            "description": "The ID of the recipient facility.",
            "example": 456
          },
          "recipientFacilityLicenseNumber": {
            "type": "string",
            "description": "License number of the recipient facility",
            "example": "LIC-00001"
          },
          "recipientFacilityName": {
            "type": "string",
            "description": "Name of the recipient facility",
            "example": "Example Dispensary LLC"
          },
          "recipientFacilityInfo": {
            "type": "string",
            "example": ""
          },
          "shipmentTypeName": {
            "type": "string",
            "description": "Type of shipment",
            "example": "Unaffiliated Transfer"
          },
          "shipmentTransactionTypeName": {
            "type": "string",
            "description": "Type of shipment transaction",
            "example": "Wholesale"
          },
          "estimatedDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "Estimated date and time of departure",
            "example": "2024-07-26T06:00:00.000"
          },
          "actualDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Actual date and time of departure"
          },
          "estimatedArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "Estimated date and time of arrival",
            "example": "2024-07-26T17:00:00.000"
          },
          "actualArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Actual date and time of arrival"
          },
          "deliveryPackageCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of packages in the delivery",
            "example": 8
          },
          "deliveryReceivedPackageCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of packages received in the delivery",
            "example": 0
          },
          "receivedByName": {
            "type": "string",
            "nullable": true,
            "description": "Name of the person who received the delivery"
          },
          "receivedDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date and time when the delivery was received"
          },
          "estimatedReturnDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Estimated date and time of return departure"
          },
          "actualReturnDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Actual date and time of return departure"
          },
          "estimatedReturnArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Estimated date and time of return arrival"
          },
          "actualReturnArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Actual date and time of return arrival"
          },
          "rejectedPackagesReturned": {
            "type": "boolean",
            "description": "Indicates if rejected packages were returned",
            "example": false
          },
          "transporterAllApprovalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time when all transporters were approved",
            "example": "2024-07-25T13:00:00+00:00"
          },
          "destinationsAllApprovalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time when all destinations were approved",
            "example": "2024-07-25T13:00:00+00:00"
          },
          "transportersAutomaticallyApproved": {
            "type": "boolean",
            "description": "Indicates if transporters were automatically approved",
            "example": true
          },
          "destinationsAutomaticallyApproved": {
            "type": "boolean",
            "description": "Indicates if destinations were automatically approved",
            "example": true
          },
          "approvalRejectDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date and time when the approval was rejected"
          },
          "approvalRejectedByUser": {
            "type": "string",
            "description": "Username of the person who rejected the approval",
            "example": "Jane Doe"
          },
          "approvalRejectedFacilityLicenseNumber": {
            "type": "string",
            "nullable": true,
            "description": "License number of the facility where approval was rejected"
          },
          "approvalRejectReasonId": {
            "type": "string",
            "nullable": true,
            "description": "Reason ID for the approval rejection"
          },
          "PDFDocumentFileSystemId": {
            "type": "number",
            "example": 0
          },
          "invoiceNumber": {
            "type": "string",
            "example": ""
          },
          "lineNumber": {
            "type": "integer",
            "format": "int32",
            "example": ""
          }
        }
      },
      "MetrcPackage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier for the package.",
            "example": 1234567
          },
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "index": {
            "type": "string",
            "description": "The current state of the package, such as ACTIVE, ONHOLD, INACTIVE, or INTRANSIT.",
            "enum": [
              "ACTIVE_PACKAGE",
              "ONHOLD_PACKAGE",
              "INACTIVE_PACKAGE",
              "INTRANSIT_PACKAGE"
            ],
            "example": "ACTIVE_PACKAGE"
          },
          "archivedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date and time when the package was archived, if applicable."
          },
          "containsRemediatedProduct": {
            "type": "boolean",
            "description": "Indicates if the package contains remediated product.",
            "example": false
          },
          "donationFacilityLicenseNumber": {
            "type": "string",
            "nullable": true,
            "description": "The license number of the facility where the donation occurred, if applicable."
          },
          "donationFacilityName": {
            "type": "string",
            "nullable": true,
            "description": "The name of the facility where the donation occurred, if applicable."
          },
          "facilityLicenseNumber": {
            "type": "string",
            "nullable": true,
            "description": "The license number of the facility associated with the package."
          },
          "facilityName": {
            "type": "string",
            "nullable": true,
            "description": "The name of the facility associated with the package."
          },
          "finishedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date and time when the package was finished, if applicable."
          },
          "initialLabTestingState": {
            "description": "The initial state of lab testing for the package, such as NotRequired, TestPassed, or NotSubmitted.",
            "$ref": "#/components/schemas/LabTestingStates"
          },
          "isArchived": {
            "type": "boolean",
            "description": "Indicates if the package is archived.",
            "example": false
          },
          "isDonation": {
            "type": "boolean",
            "description": "Indicates if the package was a donation.",
            "example": false
          },
          "isDonationPersistent": {
            "type": "boolean",
            "description": "Indicates if the donation status of the package is persistent.",
            "example": false
          },
          "isFinished": {
            "type": "boolean",
            "description": "Indicates if the package is marked as finished.",
            "example": false
          },
          "isInTransit": {
            "type": "boolean",
            "description": "Indicates if the package is currently in transit.",
            "example": false
          },
          "isOnHold": {
            "type": "boolean",
            "description": "Indicates if the package is on hold.",
            "example": false
          },
          "isOnInvestigation": {
            "type": "boolean",
            "description": "Indicates if the package is under investigation.",
            "example": false
          },
          "isOnInvestigationHold": {
            "type": "boolean",
            "description": "Indicates if the package is on hold due to investigation.",
            "example": false
          },
          "isOnInvestigationRecall": {
            "type": "boolean",
            "description": "Indicates if the package is under investigation for recall.",
            "example": false
          },
          "investigation": {
            "type": "string",
            "nullable": true,
            "description": "Investigation details or status, if applicable."
          },
          "isOnHoldCombined": {
            "type": "boolean",
            "description": "Combined hold status indicator.",
            "example": false
          },
          "isOnRecallCombined": {
            "type": "boolean",
            "description": "Combined recall status indicator.",
            "example": false
          },
          "isProcessValidationTestingSample": {
            "type": "boolean",
            "description": "Indicates if the package is a sample for process validation testing.",
            "example": false
          },
          "isProductionBatch": {
            "type": "boolean",
            "description": "Indicates if the package is part of a production batch.",
            "example": false
          },
          "isTestingSample": {
            "type": "boolean",
            "description": "Indicates if the package is a testing sample.",
            "example": false
          },
          "isTradeSample": {
            "type": "boolean",
            "description": "Indicates if the package is a trade sample.",
            "example": false
          },
          "isTradeSamplePersistent": {
            "type": "boolean",
            "description": "Indicates if the trade sample status of the package is persistent.",
            "example": false
          },
          "item": {
            "$ref": "#/components/schemas/MetrcItem",
            "description": "Details of the item associated with the package."
          },
          "itemFromFacilityLicenseNumber": {
            "type": "string",
            "description": "The license number of the facility from which the item originated.",
            "example": "LIC-00001"
          },
          "itemFromFacilityName": {
            "type": "string",
            "description": "The name of the facility from which the item originated.",
            "example": "Example Dispensary LLC"
          },
          "labTestingStateDate": {
            "type": "string",
            "format": "date-time",
            "description": "The date when the lab testing state was last updated.",
            "example": "2024-07-24"
          },
          "labTestingStateName": {
            "type": "string",
            "description": "The current state of lab testing for the package.",
            "example": "TestPassed"
          },
          "labTestingRecordedDate": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the lab testing results were recorded.",
            "example": "2024-07-24T19:00:00+00:00"
          },
          "labTestingPerformedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date and time when the lab testing was performed."
          },
          "labTestStageId": {
            "type": "integer",
            "nullable": true,
            "description": "The identifier for the stage of the lab test, if applicable."
          },
          "labTestResultExpirationDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The expiration date and time of the lab test result, if applicable."
          },
          "label": {
            "type": "string",
            "description": "The label identifier for the package.",
            "example": "1A4000000000000000000001"
          },
          "lastModified": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the package details were last modified.",
            "example": "2024-07-24T19:00:00+00:00"
          },
          "locationName": {
            "type": "string",
            "nullable": true,
            "description": "The name of the location where the package is stored.",
            "example": "Packaging Room"
          },
          "sublocationName": {
            "type": "string",
            "nullable": true
          },
          "locationTypeName": {
            "type": "string",
            "nullable": true,
            "description": "The type of location where the package is stored.",
            "example": "Default Location Type"
          },
          "multiHarvest": {
            "type": "boolean",
            "description": "Indicates if the package contains material from multiple harvests.",
            "example": false
          },
          "multiPackage": {
            "type": "boolean",
            "description": "Indicates if the package is part of multiple packages.",
            "example": false
          },
          "multiProductionBatch": {
            "type": "boolean",
            "description": "Indicates if the package is part of multiple production batches.",
            "example": false
          },
          "note": {
            "type": "string",
            "description": "Additional notes or comments about the package.",
            "example": ""
          },
          "packageType": {
            "type": "string",
            "description": "The type of package, such as ImmaturePlant or Product.",
            "enum": [
              "ImmaturePlant",
              "Product"
            ],
            "example": "Product"
          },
          "packagedByFacilityLicenseNumber": {
            "type": "string",
            "description": "The license number of the facility where the package was created.",
            "example": "LIC-00001"
          },
          "packagedByFacilityName": {
            "type": "string",
            "description": "The name of the facility where the package was created.",
            "example": "Example Dispensary LLC"
          },
          "packagedDate": {
            "type": "string",
            "format": "date-time",
            "description": "The date when the package was created.",
            "example": "2024-07-24"
          },
          "patientLicenseNumber": {
            "type": "string",
            "description": "The license number of the patient, if applicable.",
            "example": ""
          },
          "productRequiresRemediation": {
            "type": "boolean",
            "description": "Indicates if the product in the package requires remediation.",
            "example": false
          },
          "productionBatchNumber": {
            "type": "string",
            "description": "The number of the production batch associated with the package.",
            "example": "PB00001"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the product in the package.",
            "example": 1130.7
          },
          "receivedDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date and time when the package was received, if applicable."
          },
          "receivedFromFacilityLicenseNumber": {
            "type": "string",
            "nullable": true,
            "description": "The license number of the facility from which the package was received, if applicable."
          },
          "receivedFromFacilityName": {
            "type": "string",
            "nullable": true,
            "description": "The name of the facility from which the package was received, if applicable."
          },
          "receivedFromManifestNumber": {
            "type": "string",
            "nullable": true,
            "description": "The manifest number associated with the received package, if applicable."
          },
          "remediationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date when the product in the package was remediated, if applicable."
          },
          "sourceHarvestNames": {
            "type": "string",
            "description": "The names of the harvests from which the package was created.",
            "example": "HARVEST0001"
          },
          "sourcePackageIsDonation": {
            "type": "boolean",
            "description": "Indicates if the source package was a donation.",
            "example": false
          },
          "sourcePackageIsTradeSample": {
            "type": "boolean",
            "description": "Indicates if the source package was a trade sample.",
            "example": false
          },
          "sourcePackageLabels": {
            "type": "string",
            "description": "The labels of the source packages used to create the current package.",
            "example": "1A4000000000000000000002"
          },
          "sourceProductionBatchNumbers": {
            "type": "string",
            "description": "The numbers of the production batches from which the package was created.",
            "example": "HARVEST0003"
          },
          "tradeSampleFacilityName": {
            "type": "string",
            "nullable": true,
            "description": "The name of the facility where the trade sample was created, if applicable."
          },
          "tradeSampleFacilityLicenseNumber": {
            "type": "string",
            "nullable": true,
            "description": "The license number of the facility where the trade sample was created, if applicable."
          },
          "transferManifestNumber": {
            "type": "string",
            "description": "The manifest number associated with the transfer of the package.",
            "example": ""
          },
          "unitOfMeasureAbbreviation": {
            "$ref": "#/components/schemas/UnitOfMeasureAbbreviation",
            "description": "The abbreviation for the unit of measure used for the package quantity.",
            "example": "g"
          },
          "unitOfMeasureId": {
            "type": "number",
            "description": "The ID of the unit of measure used for the package quantity.",
            "example": 4
          },
          "unitOfMeasureQuantityType": {
            "type": "string",
            "description": "The type of quantity measurement used, such as WeightBased, CountBased, or VolumeBased.",
            "enum": [
              "WeightBased",
              "CountBased",
              "VolumeBased"
            ],
            "example": "WeightBased"
          },
          "sourceHarvestCount": {
            "type": "number",
            "description": "The number of harvests from which the package was created.",
            "example": 1
          },
          "sourcePackageCount": {
            "type": "number",
            "description": "The number of source packages used to create the current package.",
            "example": 1
          },
          "sourceProcessingJobCount": {
            "type": "number",
            "description": "The number of processing jobs involved in creating the package.",
            "example": 0
          },
          "sourceProcessingJobNumbers": {
            "type": "string",
            "description": "The numbers of the processing jobs involved in creating the package.",
            "example": ""
          },
          "sourceProcessingJobNames": {
            "type": "string",
            "description": "The names of the processing jobs involved in creating the package.",
            "example": ""
          },
          "multiProcessingJob": {
            "type": "boolean",
            "description": "Indicates if multiple processing jobs were involved in creating the package.",
            "example": false
          },
          "expirationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The expiration date of the product in the package, if applicable."
          },
          "sellByDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The sell-by date of the product in the package, if applicable."
          },
          "useByDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The use-by date of the product in the package, if applicable."
          },
          "labTestResultDocumentFileId": {
            "type": "number",
            "nullable": true,
            "description": "The file ID of the lab test result document, if available."
          },
          "isOnRetailerDelivery": {
            "type": "boolean",
            "description": "Indicates if the package is on a retailer delivery.",
            "example": false
          },
          "packageForProductDestruction": {
            "type": "boolean",
            "nullable": true,
            "description": "Indicates if the package is intended for product destruction."
          },
          "hasPartial": {
            "type": "boolean",
            "description": "Indicates if the package has partial status.",
            "example": false
          },
          "isPartial": {
            "type": "boolean",
            "description": "Indicates if the package is a partial package.",
            "example": false
          },
          "inTransitStatus": {
            "type": "string",
            "description": "The current transit status of the package.",
            "example": "None"
          },
          "processingJobTypeId": {
            "type": "integer",
            "nullable": true,
            "description": "The identifier for the type of processing job, if applicable."
          },
          "isOnRecall": {
            "type": "boolean",
            "example": false
          },
          "decontaminationDate": {
            "type": "string",
            "nullable": true
          },
          "containsDecontaminatedProduct": {
            "type": "boolean",
            "example": false
          },
          "productRequiresDecontamination": {
            "type": "boolean",
            "example": false
          },
          "productLabel": {
            "type": "string",
            "nullable": true
          },
          "labTestStage": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "number",
            "nullable": true
          },
          "labelsLastGeneratedDateTime": {
            "type": "string",
            "nullable": true
          },
          "hasBeenSampled": {
            "type": "boolean",
            "example": false
          }
        }
      },
      "MetrcPackageLabResult": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "packageId": {
            "type": "integer",
            "description": "Unique identifier for the package.",
            "example": 123456
          },
          "labTestResultId": {
            "type": "integer",
            "description": "Unique identifier for the lab test result.",
            "example": 654321
          },
          "labFacilityLicenseNumber": {
            "type": "string",
            "description": "License number of the lab facility.",
            "example": "TES000011"
          },
          "labFacilityName": {
            "type": "string",
            "description": "Name of the lab facility.",
            "example": "Green Precision Analytics Inc."
          },
          "sourcePackageLabel": {
            "type": "string",
            "description": "Label of the source package.",
            "example": "1A4000000000000000000001"
          },
          "productName": {
            "type": "string",
            "description": "Name of the product.",
            "example": "Blue Dream Flower"
          },
          "productCategoryName": {
            "type": "string",
            "description": "Category name of the product.",
            "example": "Bud/Flower"
          },
          "testPerformedDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the test was performed.",
            "example": "2024-01-01"
          },
          "overallPassed": {
            "type": "boolean",
            "description": "Indicates if the overall test was passed.",
            "example": true
          },
          "isRevoked": {
            "type": "boolean",
            "description": "Indicates if the test result has been revoked.",
            "example": false
          },
          "revokedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date when the test result was revoked, if applicable."
          },
          "labTestResultDocumentFileId": {
            "type": "integer",
            "description": "Identifier for the document file of the lab test result.",
            "example": 123456
          },
          "resultReleased": {
            "type": "boolean",
            "description": "Indicates if the test result has been released.",
            "example": true
          },
          "resultReleaseDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time when the test result was released.",
            "example": "2024-01-01T18:00:00+00:00"
          },
          "expirationDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Expiration date and time for the test result, if applicable."
          },
          "labTestDetailId": {
            "type": "integer",
            "description": "Identifier for the detailed lab test result.",
            "example": 4321234
          },
          "testTypeName": {
            "type": "string",
            "description": "Name of the test type.",
            "example": "Alpha-Bisabolol (%) Mandatory Terpenes"
          },
          "testPassed": {
            "type": "boolean",
            "description": "Indicates if the specific test was passed.",
            "example": true
          },
          "testResultLevel": {
            "type": "number",
            "format": "float",
            "description": "Level of the test result.",
            "example": 0.0234
          },
          "testComment": {
            "type": "string",
            "description": "Comments on the test result.",
            "example": "No significant findings."
          },
          "testInformationalOnly": {
            "type": "boolean",
            "description": "Indicates if the test result is for informational purposes only.",
            "example": false
          },
          "labTestDetailIsRevoked": {
            "type": "boolean",
            "description": "Indicates if the detailed lab test result has been revoked.",
            "example": false
          },
          "labTestDetailRevokedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date when the detailed lab test result was revoked, if applicable."
          },
          "labTestResultLastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time when the lab test result was last modified.",
            "example": "2024-01-01T18:01:00+00:00"
          }
        }
      },
      "MetrcPackageLabResultBatch": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from.",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "The name of the object's data model.",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The timestamp of when this object was pulled from Metrc."
          },
          "licenseNumber": {
            "type": "string",
            "description": "The license number used to access this object."
          },
          "id": {
            "type": "integer",
            "description": "The unique identifier of the test result.",
            "example": 1234567
          },
          "name": {
            "type": "string",
            "description": "The name of the test panel or category.",
            "example": "Additional - Mandatory Terpenes"
          },
          "testTypesRequired": {
            "type": "integer",
            "description": "The number of test types required for this item.",
            "example": 29
          },
          "testTypesPerformed": {
            "type": "integer",
            "description": "The number of test types actually performed.",
            "example": 29
          },
          "testsPassed": {
            "type": "integer",
            "description": "The number of tests that passed.",
            "example": 58
          },
          "testsFailed": {
            "type": "integer",
            "description": "The number of tests that failed.",
            "example": 0
          },
          "isFullyRevoked": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the item is fully revoked; may be null."
          },
          "tests": {
            "type": "array",
            "description": "A list of individual test result entries.",
            "items": {
              "$ref": "#/components/schemas/MetrcPackageLabResult"
            }
          }
        }
      },
      "MetrcPackageReportResponse": {
        "type": "object",
        "properties": {
          "generatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-07-25T00:00:00+00:00"
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "label__endswith:0003",
              "item.name__contains:kush"
            ]
          },
          "filterLogic": {
            "type": "string",
            "description": "The filter logic specified for this report, if any",
            "example": "and",
            "nullable": true
          },
          "sort": {
            "type": "string",
            "description": "The sort order specified for this report, if any",
            "example": "label:asc",
            "nullable": true
          },
          "licenseNumber": {
            "type": "string",
            "description": "The unique identifier for the license associated with this request.",
            "example": "LIC-00001"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetrcPackage"
            }
          }
        }
      },
      "MetrcPackageRequiredLabtestBatch": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackageRequiredLabtestBatch"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "packageId": {
            "type": "integer",
            "description": "Unique identifier for the package.",
            "example": 123456
          },
          "labTestBatchId": {
            "type": "integer",
            "description": "Unique identifier for the lab test batch.",
            "example": 123456
          },
          "labTestBatchName": {
            "type": "integer",
            "description": "Lab test batch name.",
            "example": "Raw Plant Material"
          }
        }
      },
      "MetrcPackageSourceHarvest": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "harvestedByFacilityLicenseNumber": {
            "type": "string",
            "example": "EX000001"
          },
          "harvestedByFacilityName": {
            "type": "string",
            "example": "Example Facility LLC"
          },
          "name": {
            "type": "string",
            "example": "01012025 - Northern Lights"
          },
          "harvestTypeName": {
            "type": "string",
            "example": "Harvest Batch"
          },
          "labTestingStateName": {
            "type": "string",
            "example": "Not Submitted"
          },
          "labTestingStateDate": {
            "type": "string",
            "nullable": true
          },
          "isOnHold": {
            "type": "boolean"
          },
          "isOnInvestigation": {
            "type": "boolean",
            "description": "Indicates if the harvest is under investigation.",
            "example": false
          },
          "isOnInvestigationHold": {
            "type": "boolean",
            "description": "Indicates if the harvest is on hold due to investigation.",
            "example": false
          },
          "isOnInvestigationRecall": {
            "type": "boolean",
            "description": "Indicates if the harvest is under investigation for recall.",
            "example": false
          },
          "isOnHoldCombined": {
            "type": "boolean",
            "description": "Combined hold status indicator.",
            "example": false
          },
          "harvestStartDate": {
            "type": "string",
            "format": "date",
            "example": "2025-01-01"
          }
        }
      },
      "MetrcPlant": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier for the plant record.",
            "example": 123456
          },
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "index": {
            "type": "string",
            "description": "Describes the current state of this object at the time it was returned from the API. This cannot be used to sort or filter.",
            "example": "VEGETATIVE_PLANT",
            "enum": [
              "VEGETATIVE_PLANT",
              "FLOWERING_PLANT",
              "ONHOLD_PLANT",
              "INACTIVE_PLANT",
              "ACTIVE_MOTHER_PLANT",
              "ONHOLD_MOTHER_PLANT",
              "INACTIVE_MOTHER_PLANT"
            ]
          },
          "label": {
            "type": "string",
            "description": "Unique label identifier for the plant.",
            "example": "1A4000000000000000000001"
          },
          "stateName": {
            "type": "string",
            "description": "The current state of the plant.",
            "example": "Tracked",
            "enum": [
              "Tracked",
              "Untracked",
              "Destroyed"
            ]
          },
          "growthPhaseName": {
            "type": "string",
            "description": "The growth phase of the plant.",
            "example": "Flowering",
            "enum": [
              "Germination",
              "Vegetative",
              "Flowering",
              "Harvest"
            ]
          },
          "plantCount": {
            "type": "integer",
            "description": "Number of plants in this record.",
            "example": 1
          },
          "groupTagTypeMax": {
            "type": "integer",
            "description": "Maximum type of group tag.",
            "example": 0
          },
          "tagTypeMax": {
            "type": "integer",
            "description": "Maximum type of tag.",
            "example": 1
          },
          "plantBatchName": {
            "type": "string",
            "description": "Name of the plant batch.",
            "example": "PNXPRESS010124"
          },
          "plantBatchTypeName": {
            "type": "string",
            "description": "Type of the plant batch.",
            "example": "Clone",
            "enum": [
              "Clone",
              "Seed"
            ]
          },
          "strainId": {
            "type": "integer",
            "example": 12345
          },
          "strainName": {
            "type": "string",
            "description": "Name of the plant strain.",
            "example": "Northern Lights"
          },
          "locationName": {
            "type": "string",
            "description": "Name of the location where the plant is situated.",
            "example": "Row 05"
          },
          "sublocationName": {
            "type": "string",
            "nullable": true
          },
          "locationTypeName": {
            "type": "string",
            "description": "Type of the location.",
            "example": "Default Location Type",
            "enum": [
              "Default Location Type",
              "Greenhouse",
              "Outdoor"
            ]
          },
          "patientLicenseNumber": {
            "type": "string",
            "description": "License number of the patient, if applicable.",
            "example": "",
            "nullable": true
          },
          "harvestCount": {
            "type": "integer",
            "description": "Number of times the plant has been harvested.",
            "example": 0
          },
          "isOnHold": {
            "type": "boolean",
            "description": "Indicates if the plant is on hold.",
            "example": false
          },
          "isOnInvestigation": {
            "type": "boolean",
            "description": "Indicates if the plant is under investigation.",
            "example": false
          },
          "isOnInvestigationHold": {
            "type": "boolean",
            "description": "Indicates if the plant is on hold due to investigation.",
            "example": false
          },
          "isOnInvestigationRecall": {
            "type": "boolean",
            "description": "Indicates if the plant is under investigation for recall.",
            "example": false
          },
          "plantedDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the plant was planted.",
            "example": "2024-04-09"
          },
          "vegetativeDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the plant entered the vegetative stage.",
            "example": "2024-04-30"
          },
          "floweringDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the plant entered the flowering stage.",
            "example": "2024-06-14"
          },
          "destroyedDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the plant was destroyed, if applicable.",
            "nullable": true
          },
          "destroyedNote": {
            "type": "string",
            "description": "Note about the destruction of the plant, if applicable.",
            "nullable": true
          },
          "destroyedByUserName": {
            "type": "string",
            "description": "Username of the person who destroyed the plant, if applicable.",
            "nullable": true
          },
          "lastModified": {
            "type": "string",
            "format": "date-time",
            "description": "The last time the plant record was modified.",
            "example": "2024-07-26T13:00:00+00:00"
          },
          "survivedCount": {
            "type": "integer",
            "description": "Number of plants that survived from this record.",
            "example": 1
          },
          "motherPlantDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the plant was designated as a mother plant.",
            "example": "2024-05-01"
          },
          "descendedCount": {
            "type": "integer",
            "description": "Number of descendant plants from this plant.",
            "example": 3
          },
          "clonedCount": {
            "type": "integer",
            "description": "Number of clones taken from this plant.",
            "example": 2
          }
        }
      },
      "MetrcPlantBatch": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier for the plant batch.",
            "example": 123456,
            "nullable": false
          },
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "index": {
            "type": "string",
            "description": "Describes the current state of this object at the time it was returned from the API. This cannot be used to sort or filter.",
            "example": "ACTIVE_PLANTBATCH",
            "enum": [
              "ACTIVE_PLANTBATCH",
              "ONHOLD_PLANTBATCH",
              "INACTIVE_PLANTBATCH"
            ]
          },
          "name": {
            "type": "string",
            "description": "The name of the plant batch. In CA, this is a plant tag label.",
            "example": "BATCH001_01.01.25",
            "nullable": false
          },
          "plantBatchTypeName": {
            "type": "string",
            "description": "The type of the plant batch, typically a category or classification.",
            "example": "Clone",
            "nullable": false
          },
          "locationName": {
            "type": "string",
            "description": "The name of the location where the plant batch is stored or processed.",
            "example": "Row 01",
            "nullable": false
          },
          "sublocationName": {
            "type": "string",
            "nullable": true
          },
          "locationTypeName": {
            "type": "string",
            "description": "The type of location.",
            "example": "Default Location Type",
            "nullable": false
          },
          "strainId": {
            "type": "integer",
            "example": 12345
          },
          "strainName": {
            "type": "string",
            "description": "The name of the strain of the plants.",
            "example": "Pineapple Express",
            "nullable": false
          },
          "patientLicenseNumber": {
            "type": "string",
            "description": "License number of the patient, if applicable.",
            "example": "",
            "nullable": true
          },
          "untrackedCount": {
            "type": "integer",
            "description": "Count of untracked plants in the batch.",
            "example": 6,
            "nullable": false
          },
          "trackedCount": {
            "type": "integer",
            "description": "Count of tracked plants in the batch.",
            "example": 0,
            "nullable": false
          },
          "packagedCount": {
            "type": "integer",
            "description": "Count of packaged plants in the batch.",
            "example": 0,
            "nullable": false
          },
          "destroyedCount": {
            "type": "integer",
            "description": "Count of destroyed plants in the batch.",
            "example": 0,
            "nullable": false
          },
          "sourcePackageLabel": {
            "type": "string",
            "description": "Label of the source package, if available.",
            "nullable": true
          },
          "sourcePlantLabel": {
            "type": "string",
            "description": "Label of the source plant.",
            "example": "1A4000000000000000000001",
            "nullable": true
          },
          "sourcePlantBatchNames": {
            "type": "string",
            "description": "Names of the source plant batches, if any.",
            "example": "",
            "nullable": true
          },
          "multiPlantBatch": {
            "type": "boolean",
            "description": "Indicates if the batch contains multiple plants.",
            "example": false,
            "nullable": false
          },
          "plantedDate": {
            "type": "string",
            "format": "date",
            "description": "The date the plants were planted.",
            "example": "2024-07-19",
            "nullable": false
          },
          "lastModified": {
            "type": "string",
            "format": "date-time",
            "description": "The last modified timestamp for the plant batch data.",
            "example": "2024-07-26T13:00:00+00:00",
            "nullable": false
          },
          "isOnHold": {
            "type": "boolean",
            "description": "Indicates if the batch is currently on hold.",
            "example": false,
            "nullable": false
          },
          "isOnInvestigation": {
            "type": "boolean",
            "description": "Indicates if the batch is under investigation.",
            "example": false,
            "nullable": false
          },
          "isOnInvestigationHold": {
            "type": "boolean",
            "description": "Indicates if the batch is on hold due to investigation.",
            "example": false,
            "nullable": false
          },
          "isOnInvestigationRecall": {
            "type": "boolean",
            "description": "Indicates if the batch is under investigation for recall.",
            "example": false,
            "nullable": false
          }
        }
      },
      "MetrcPlantBatchReportResponse": {
        "type": "object",
        "properties": {
          "generatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-07-25T00:00:00+00:00"
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "name__endswith:0003",
              "strainName__contains:kush"
            ]
          },
          "filterLogic": {
            "type": "string",
            "description": "The filter logic specified for this report, if any",
            "example": "and",
            "nullable": true
          },
          "sort": {
            "type": "string",
            "description": "The sort order specified for this report, if any",
            "example": "label:asc",
            "nullable": true
          },
          "licenseNumber": {
            "type": "string",
            "description": "The unique identifier for the license associated with this request.",
            "example": "LIC-00001"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetrcPlantBatch"
            }
          }
        }
      },
      "MetrcPlantReportResponse": {
        "type": "object",
        "properties": {
          "generatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-07-25T00:00:00+00:00"
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "label__endswith:0003",
              "item.name__contains:kush"
            ]
          },
          "filterLogic": {
            "type": "string",
            "description": "The filter logic specified for this report, if any",
            "example": "and",
            "nullable": true
          },
          "sort": {
            "type": "string",
            "description": "The sort order specified for this report, if any",
            "example": "label:asc",
            "nullable": true
          },
          "licenseNumber": {
            "type": "string",
            "description": "The unique identifier for the license associated with this request.",
            "example": "LIC-00001"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetrcPlant"
            }
          }
        }
      },
      "MetrcRemediationMethod": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "format": "int32",
            "description": "The unique identifier for the remediation method.",
            "example": 3
          },
          "name": {
            "type": "string",
            "description": "The name of the remediation method.",
            "example": "Repacking"
          }
        }
      },
      "MetrcSalesReceipt": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier for the sale",
            "example": 1234567,
            "nullable": false
          },
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "index": {
            "type": "string",
            "description": "Describes the current state of this object at the time it was returned from the API. This cannot be used to sort or filter.",
            "example": "ACTIVE_SALES_RECEIPT",
            "enum": [
              "ACTIVE_SALES_RECEIPT",
              "INACTIVE_SALES_RECEIPT"
            ]
          },
          "receiptNumber": {
            "type": "string",
            "description": "The receipt number associated with the sale",
            "example": "001234567"
          },
          "salesDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time when the sale occurred",
            "example": "2024-09-05T16:35:00.123"
          },
          "salesCustomerType": {
            "type": "string",
            "description": "Type of customer for the sale",
            "example": "Consumer"
          },
          "salesCustomerTypeName": {
            "type": "string",
            "description": "Name of the customer type",
            "example": "Consumer"
          },
          "patientLicenseNumber": {
            "type": "string",
            "description": "License number of the patient (if applicable)",
            "example": "",
            "nullable": true
          },
          "caregiverLicenseNumber": {
            "type": "string",
            "description": "License number of the caregiver (if applicable)",
            "example": "",
            "nullable": true
          },
          "identificationMethod": {
            "type": "string",
            "description": "Method of identification for the customer",
            "example": "",
            "nullable": true
          },
          "patientRegistrationLocationId": {
            "type": "integer",
            "description": "Location ID for the patient registration",
            "nullable": true
          },
          "totalPackages": {
            "type": "integer",
            "description": "Total number of packages sold",
            "example": 4
          },
          "totalPrice": {
            "type": "number",
            "format": "float",
            "description": "Total price of the sale",
            "example": 113.0
          },
          "transactions": {
            "type": "array",
            "description": "List of transactions included in the sale",
            "items": {
              "type": "object"
            },
            "example": []
          },
          "isFinal": {
            "type": "boolean",
            "description": "Whether the sale is finalized",
            "example": false
          },
          "isArchived": {
            "type": "boolean",
            "description": "Whether the sale is archived",
            "example": false
          },
          "archivedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date when the sale was archived, if applicable",
            "nullable": true
          },
          "recordedDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time when the sale was recorded",
            "example": "2024-09-05T21:00:00+00:00"
          },
          "recordedByUserName": {
            "type": "string",
            "description": "The username of the person who recorded the sale",
            "example": "Jane Doe"
          },
          "lastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time when the sale record was last modified",
            "example": "2024-09-05T21:00:00+00:00"
          }
        }
      },
      "MetrcSalesReceiptReportResponse": {
        "type": "object",
        "properties": {
          "generatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-07-25T00:00:00+00:00"
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "receiptNumber__endswith:0003"
            ]
          },
          "filterLogic": {
            "type": "string",
            "description": "The filter logic specified for this report, if any",
            "example": "and",
            "nullable": true
          },
          "sort": {
            "type": "string",
            "description": "The sort order specified for this report, if any",
            "example": "receiptNumber:asc",
            "nullable": true
          },
          "licenseNumber": {
            "type": "string",
            "description": "The unique identifier for the license associated with this request.",
            "example": "LIC-00001"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetrcSalesReceipt"
            }
          }
        }
      },
      "MetrcSessionAuthPayload": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "description": "Your Metrc username",
            "example": "user123"
          },
          "hostname": {
            "$ref": "#/components/schemas/MetrcHostname"
          },
          "cookies": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Session cookies for authentication",
            "example": {
              "metrc_session": "abc123xyz"
            }
          },
          "facilities": {
            "type": "array",
            "description": "List of facilities associated with the session",
            "items": {
              "type": "object",
              "properties": {
                "facility_license_number": {
                  "type": "string",
                  "description": "The license number of the facility",
                  "example": "LIC-00001"
                },
                "facility_name": {
                  "type": "string",
                  "description": "The name of the facility",
                  "example": "Example Dispensary"
                }
              }
            }
          },
          "apiVerificationToken": {
            "type": "string",
            "description": "Verification token used for API authentication",
            "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
          }
        },
        "required": [
          "username",
          "hostname",
          "cookies",
          "facilities",
          "apiVerificationToken"
        ]
      },
      "MetrcState": {
        "type": "object",
        "properties": {
          "abbreviation": {
            "type": "string",
            "description": "The state abbreviation",
            "example": "CA"
          },
          "name": {
            "type": "string",
            "description": "The state name",
            "example": "California"
          },
          "hostname": {
            "type": "string",
            "description": "The Metrc hostname for this state",
            "example": "ca.metrc.com"
          }
        }
      },
      "MetrcStrain": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "The item ID",
            "example": 12345
          },
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "index": {
            "type": "string",
            "description": "Describes the current state of this object at the time it was returned from the API. This cannot be used to sort or filter.",
            "example": "ACTIVE_STRAIN",
            "enum": [
              "ACTIVE_STRAIN"
            ]
          },
          "name": {
            "type": "string",
            "description": "The strain name",
            "example": "Pineapple Express"
          },
          "sativaPercentage": {
            "type": "number",
            "example": 25
          },
          "indicaPercentage": {
            "type": "number",
            "example": 25
          },
          "cbdLevel": {
            "type": "number",
            "example": 25
          },
          "thcLevel": {
            "type": "number",
            "example": 25
          },
          "testingStatus": {
            "type": "string",
            "example": 25,
            "nullable": true
          },
          "isUsed": {
            "type": "boolean"
          },
          "isArchived": {
            "type": "boolean"
          }
        }
      },
      "MetrcStrainReportResponse": {
        "type": "object",
        "properties": {
          "generatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-07-25T00:00:00+00:00"
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "name__contains:kush"
            ]
          },
          "filterLogic": {
            "type": "string",
            "description": "The filter logic specified for this report, if any",
            "example": "and",
            "nullable": true
          },
          "sort": {
            "type": "string",
            "description": "The sort order specified for this report, if any",
            "example": "name:asc",
            "nullable": true
          },
          "licenseNumber": {
            "type": "string",
            "description": "The unique identifier for the license associated with this request.",
            "example": "LIC-00001"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetrcStrain"
            }
          }
        }
      },
      "MetrcSuperharvest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MetrcHarvest"
          },
          {
            "type": "object",
            "properties": {
              "history": {
                "type": "array",
                "description": "A list of this harvest's history records (populated via include=history).",
                "items": {
                  "$ref": "#/components/schemas/MetrcHistory"
                }
              },
              "plants": {
                "type": "array",
                "description": "A list of this harvest's source plants (populated via include=plants).",
                "items": {
                  "$ref": "#/components/schemas/MetrcHarvestPlant"
                }
              },
              "packages": {
                "type": "array",
                "description": "A list of packages created from this harvest (populated via include=packages).",
                "items": {
                  "$ref": "#/components/schemas/MetrcHarvestPackage"
                }
              },
              "metadata": {
                "$ref": "#/components/schemas/SupercollectionMetadata"
              }
            }
          }
        ]
      },
      "MetrcSuperitem": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MetrcItem"
          },
          {
            "type": "object",
            "properties": {
              "images": {
                "type": "array",
                "description": "A list of this item's images",
                "items": {
                  "$ref": "#/components/schemas/MetrcItemImage"
                }
              },
              "ingredients": {
                "type": "array",
                "description": "A list of this item's ingredients\n",
                "items": {
                  "$ref": "#/components/schemas/MetrcItemIngredient"
                }
              },
              "notes": {
                "type": "array",
                "description": "A list of this item's notes\n",
                "items": {
                  "$ref": "#/components/schemas/MetrcItemNote"
                }
              },
              "history": {
                "type": "array",
                "description": "A list of this item's history",
                "items": {
                  "$ref": "#/components/schemas/MetrcHistory"
                }
              },
              "metadata": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SupercollectionMetadata"
                  },
                  {
                    "type": "object",
                    "description": "`approvalNumber` and `itemImages` are populated when available. The\n`include=images` parameter can load additional image data.\n",
                    "properties": {
                      "approvalNumber": {
                        "type": "string",
                        "description": "The approval number for this item, if applicable.\n",
                        "example": "M000303083393"
                      },
                      "itemImages": {
                        "type": "array",
                        "description": "A list of image metadata for this item\n",
                        "items": {
                          "type": "object",
                          "properties": {
                            "fileName": {
                              "type": "string",
                              "description": "Path or name of the file",
                              "example": "Product photo-Cannabis Flower.png"
                            },
                            "fileType": {
                              "$ref": "#/components/schemas/ItemImageFileType"
                            },
                            "imageFileId": {
                              "type": "integer",
                              "description": "Unique ID for this image file",
                              "example": 123456
                            },
                            "imageUrl": {
                              "type": "string",
                              "description": "URL to access the image",
                              "example": "https://example.com/images/123456.png"
                            }
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        ]
      },
      "MetrcSuperlocation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MetrcLocation"
          },
          {
            "type": "object",
            "properties": {
              "metadata": {
                "$ref": "#/components/schemas/SupercollectionMetadata"
              }
            }
          }
        ]
      },
      "MetrcSuperpackage": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MetrcPackage"
          },
          {
            "type": "object",
            "properties": {
              "sourceHarvests": {
                "type": "array",
                "description": "A list of this package's source harvests",
                "items": {
                  "$ref": "#/components/schemas/MetrcPackageSourceHarvest"
                }
              },
              "labResults": {
                "type": "array",
                "description": "A list of this package's lab results\n\nNote: these are the raw values passed back from Metrc. For extracted lab results,\nrefer to the metadata property.\n",
                "items": {
                  "$ref": "#/components/schemas/MetrcPackageLabResult"
                }
              },
              "labResultBatches": {
                "type": "array",
                "description": "A list of this package's lab result batches\n\nNote: these are the raw values passed back from Metrc. For extracted lab results,\nrefer to the metadata property.\n",
                "items": {
                  "$ref": "#/components/schemas/MetrcPackageLabResultBatch"
                }
              },
              "history": {
                "type": "array",
                "description": "A list of this package's history",
                "items": {
                  "$ref": "#/components/schemas/MetrcHistory"
                }
              },
              "metadata": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SupercollectionMetadata"
                  },
                  {
                    "type": "object",
                    "description": "The fields below are conditionally populated based on the `includes` param\nsent with the request.\n",
                    "properties": {
                      "harvestDates": {
                        "description": "All source harvest dates for this package, duplicates removed.\n",
                        "example": [
                          "01-01-2024",
                          "01-03-2024"
                        ],
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "initialQuantity": {
                        "type": "number",
                        "format": "float",
                        "description": "The quantity this package was initially created with, extracted from history\n"
                      },
                      "initialQuantityUnitOfMeasure": {
                        "type": "string",
                        "description": "The unit of measure this package was initially created with, extracted from history\n"
                      },
                      "manifestNumber": {
                        "type": "string",
                        "description": "The manifest number for this package's most recent transfer, extracted from history.\nOnly present for intransit packages.\n"
                      },
                      "destinationFacilityLicenseNumber": {
                        "type": "string",
                        "description": "The destination facility license number for this package's most recent transfer, extracted from history.\nOnly present for intransit packages.\n"
                      },
                      "destinationFacilityName": {
                        "type": "string",
                        "description": "The destination facility name for this package's most recent transfer, extracted from history.\nOnly present for intransit packages.\n"
                      },
                      "transferType": {
                        "type": "string",
                        "description": "The transfer type for this package's most recent transfer, extracted from history.\nOnly present for intransit packages.\n"
                      },
                      "netWeightOrVolume": {
                        "type": "number",
                        "format": "float",
                        "description": "The net weight/volume for this package.\n\n- If package unit is already weight/volume, returns the package quantity\n- If package unit is \"each\", returns `quantity * unit weight/volume`\n- If package has no measureable weight, returns quantitiy. (Only occurs in rare cases, such as with seeds)\n"
                      },
                      "netWeightOrVolumeUnitOfMeasure": {
                        "type": "string",
                        "description": "The unit of measure for this package's net weight/volume, specified in netWeightOrVolume\n"
                      },
                      "testSamplePackageLabels": {
                        "type": "array",
                        "description": "A list of all test sample package labels associated with this package, duplicates removed.\n\nThis list is typically length 1.\n",
                        "items": {
                          "type": "string",
                          "example": "1A4400001234000000005678"
                        }
                      },
                      "extractedLabResults": {
                        "type": "array",
                        "description": "An array of lab results, with values and tags extracted.\n\nThis array is populated via the labResults, labResultBatches, or coaFiles mixin. Duplicates will be removed.\n",
                        "items": {
                          "$ref": "#/components/schemas/ExtractedLabResult"
                        }
                      },
                      "labResultPdfs": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "format": "uri"
                        },
                        "description": "A list of T3 API URLs to this package's lab result PDF files.\n\nThese files can be accessed by sending an authenticated GET request.\n"
                      },
                      "indexedLabResults": {
                        "type": "object",
                        "description": "A simplified dictionary of lab results intended for use in label templates.\n\nExample use:\n\n```\n{{ package.metadata.indexedLabResults.totalThc.name }}:\n{{ package.metadata.indexedLabResults.totalThc.value }}\n{{ package.metadata.indexedLabResults.totalThc.unit }}\n```\n\nor\n\n```\n{{ package.metadata.indexedLabResults.totalThc.full }}\n```\n\nThis would show something like:\n`Total THC: 12.5 %`\n\nAlso indexed are topTerpene1,topTerpene2,...\n",
                        "example": {
                          "totalThc": {
                            "full": "Total THC: 12.5 %",
                            "name": "Total THC",
                            "value": 12.5,
                            "unit": "%"
                          },
                          "totalCbd": {
                            "full": "Total CBD: 0.7 %",
                            "name": "Total CBD",
                            "value": 0.7,
                            "unit": "%"
                          }
                        },
                        "additionalProperties": {
                          "type": "object",
                          "description": "One entry per lab result.",
                          "additionalProperties": false,
                          "required": [
                            "full",
                            "name",
                            "value",
                            "unit"
                          ],
                          "properties": {
                            "full": {
                              "type": "string",
                              "description": "Name, value, and unit all combined into one value"
                            },
                            "name": {
                              "type": "string",
                              "description": "Human-readable test name (e.g., \"Total THC\")."
                            },
                            "value": {
                              "oneOf": [
                                {
                                  "type": "number"
                                },
                                {
                                  "type": "string"
                                }
                              ],
                              "description": "Parsed numeric value when available; may be a string for non-detects or qualifiers\n(e.g., \"ND\", \"<LOQ\").\n"
                            },
                            "unit": {
                              "type": "string",
                              "description": "Measurement unit (e.g., \"%\", \"mg/g\", \"ppm\")."
                            }
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        ]
      },
      "MetrcSuperplant": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MetrcPlant"
          },
          {
            "type": "object",
            "properties": {
              "history": {
                "type": "array",
                "description": "A list of this plant's history records (populated via include=history).",
                "items": {
                  "$ref": "#/components/schemas/MetrcHistory"
                }
              },
              "metadata": {
                "$ref": "#/components/schemas/SupercollectionMetadata"
              }
            }
          }
        ]
      },
      "MetrcSuperplantbatch": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MetrcPlantBatch"
          },
          {
            "type": "object",
            "properties": {
              "history": {
                "type": "array",
                "description": "A list of this plant batch's history records (populated via include=history).",
                "items": {
                  "$ref": "#/components/schemas/MetrcHistory"
                }
              },
              "metadata": {
                "$ref": "#/components/schemas/SupercollectionMetadata"
              }
            }
          }
        ]
      },
      "MetrcSupersalesReceipt": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MetrcSalesReceipt"
          },
          {
            "type": "object",
            "properties": {
              "transactions": {
                "type": "array",
                "description": "A list of this receipt's transactions (populated via include=transactions).",
                "items": {
                  "$ref": "#/components/schemas/MetrcTransaction"
                }
              },
              "metadata": {
                "$ref": "#/components/schemas/SupercollectionMetadata"
              }
            }
          }
        ]
      },
      "MetrcSuperstrain": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MetrcStrain"
          },
          {
            "type": "object",
            "properties": {
              "metadata": {
                "$ref": "#/components/schemas/SupercollectionMetadata"
              }
            }
          }
        ]
      },
      "MetrcSupertag": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MetrcTag"
          },
          {
            "type": "object",
            "properties": {
              "metadata": {
                "$ref": "#/components/schemas/SupercollectionMetadata"
              }
            }
          }
        ]
      },
      "MetrcTag": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "example": 12345
          },
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "index": {
            "type": "string",
            "description": "The current state of the tag, such as AVAILALBE.",
            "enum": [
              "AVAILABLE_TAG",
              "USED_TAG",
              "VOID_TAG"
            ],
            "example": "AVAILABLE_TAG"
          },
          "commissionedDateTime": {
            "type": "string",
            "format": "date-time",
            "example": "2022-01-19T07:00:00+00:00"
          },
          "detachedDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "facilityId": {
            "type": "integer",
            "example": 12345
          },
          "groupTagTypeId": {
            "type": "string",
            "example": "TagType-6"
          },
          "groupTagTypeName": {
            "type": "string",
            "example": "Medical Package"
          },
          "isArchived": {
            "type": "boolean",
            "example": false
          },
          "isUsed": {
            "type": "boolean",
            "example": false
          },
          "label": {
            "type": "string",
            "example": "1A4000000000000000000011"
          },
          "lastModified": {
            "type": "string",
            "format": "date-time",
            "example": "2023-08-29T01:00:00+00:00"
          },
          "maxGroupSize": {
            "type": "integer",
            "example": 1
          },
          "statusName": {
            "type": "string",
            "example": "Received"
          },
          "tagInventoryTypeName": {
            "type": "string",
            "example": "MedicalPackage"
          },
          "tagTypeId": {
            "type": "string",
            "example": "TagType-6"
          },
          "tagTypeName": {
            "type": "string",
            "example": "Medical Package"
          },
          "usedDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "productLabel": {
            "type": "string",
            "example": "1A4000000000000000000011",
            "nullable": true
          },
          "isStaged": {
            "type": "boolean",
            "example": false
          }
        }
      },
      "MetrcTagReportResponse": {
        "type": "object",
        "properties": {
          "generatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-07-25T00:00:00+00:00"
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "label__contains:0003"
            ]
          },
          "filterLogic": {
            "type": "string",
            "description": "The filter logic specified for this report, if any",
            "example": "and",
            "nullable": true
          },
          "sort": {
            "type": "string",
            "description": "The sort order specified for this report, if any",
            "example": "name:asc",
            "nullable": true
          },
          "licenseNumber": {
            "type": "string",
            "description": "The unique identifier for the license associated with this request.",
            "example": "LIC-00001"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetrcTag"
            }
          }
        }
      },
      "MetrcTransaction": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for the harvest",
            "example": 123467,
            "nullable": false
          },
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "packageId": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for the package",
            "example": 123466,
            "nullable": false
          },
          "tripId": {
            "type": "integer",
            "description": "Identifier for the trip (nullable)",
            "nullable": true
          },
          "tripManifestNumber": {
            "type": "string",
            "description": "Trip manifest number (nullable)",
            "nullable": true
          },
          "packageLabel": {
            "type": "string",
            "description": "Label associated with the package",
            "example": "1A4000000000000000000023",
            "nullable": false
          },
          "isPartial": {
            "type": "boolean",
            "description": "Whether the package is partial (nullable)",
            "nullable": true
          },
          "hasPartial": {
            "type": "boolean",
            "description": "Whether the package has a partial item",
            "example": false,
            "nullable": false
          },
          "packageType": {
            "type": "string",
            "description": "Type of the package",
            "example": "Product",
            "nullable": false
          },
          "productName": {
            "type": "string",
            "description": "Name of the product",
            "example": " Pre-Roll - (2pk) 0.5g - Gelato",
            "nullable": false
          },
          "productCategoryName": {
            "type": "string",
            "description": "Category of the product",
            "example": "Raw Preroll (Final Packaging)",
            "nullable": false
          },
          "itemStrainName": {
            "type": "string",
            "description": "Strain name of the product (nullable)",
            "nullable": true
          },
          "itemBrandName": {
            "type": "string",
            "description": "Brand name of the product (nullable)",
            "nullable": true
          },
          "itemUnitCbdPercent": {
            "type": "number",
            "format": "float",
            "description": "Percentage of CBD in the item (nullable)",
            "nullable": true
          },
          "itemUnitCbdContent": {
            "type": "number",
            "format": "float",
            "description": "CBD content in the item (nullable)",
            "nullable": true
          },
          "itemUnitCbdContentUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Abbreviation of the CBD content unit of measure (nullable)",
            "nullable": true
          },
          "itemUnitCbdContentDose": {
            "type": "number",
            "format": "float",
            "description": "CBD content dose of the item (nullable)",
            "nullable": true
          },
          "itemUnitCbdContentDoseUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Abbreviation of the CBD dose content unit of measure (nullable)",
            "nullable": true
          },
          "itemUnitThcPercent": {
            "type": "number",
            "format": "float",
            "description": "Percentage of THC in the item (nullable)",
            "nullable": true
          },
          "itemUnitThcContent": {
            "type": "number",
            "format": "float",
            "description": "THC content in the item (nullable)",
            "nullable": true
          },
          "itemUnitThcContentUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Abbreviation of the THC content unit of measure (nullable)",
            "nullable": true
          },
          "itemUnitThcContentDose": {
            "type": "number",
            "format": "float",
            "description": "THC content dose of the item (nullable)",
            "nullable": true
          },
          "itemUnitThcContentDoseUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Abbreviation of the THC dose content unit of measure (nullable)",
            "nullable": true
          },
          "itemUnitVolume": {
            "type": "number",
            "format": "float",
            "description": "Volume of the item (nullable)",
            "nullable": true
          },
          "itemUnitVolumeUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Abbreviation of the volume unit of measure (nullable)",
            "nullable": true
          },
          "itemUnitWeight": {
            "type": "number",
            "format": "float",
            "description": "Weight of the item",
            "example": 1.0,
            "nullable": false
          },
          "itemUnitWeightUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Abbreviation of the weight unit of measure",
            "example": "g",
            "nullable": false
          },
          "itemServingSize": {
            "type": "string",
            "description": "Serving size of the item",
            "example": "0.5 grams",
            "nullable": false
          },
          "itemSupplyDurationDays": {
            "type": "integer",
            "description": "Supply duration in days (nullable)",
            "nullable": true
          },
          "itemUnitQuantity": {
            "type": "number",
            "format": "float",
            "description": "Quantity of the item (nullable)",
            "nullable": true
          },
          "itemUnitQuantityUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Abbreviation of the quantity unit of measure (nullable)",
            "nullable": true
          },
          "quantitySold": {
            "type": "number",
            "format": "float",
            "description": "Quantity of the item sold",
            "example": 1.0,
            "nullable": false
          },
          "unitOfMeasureId": {
            "type": "integer",
            "description": "ID of the unit of measure",
            "example": 1,
            "nullable": false
          },
          "unitOfMeasureName": {
            "type": "string",
            "description": "Name of the unit of measure",
            "example": "Each",
            "nullable": false
          },
          "unitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Abbreviation of the unit of measure",
            "example": "ea",
            "nullable": false
          },
          "unitThcPercent": {
            "type": "number",
            "format": "float",
            "description": "Percentage of THC in the unit (nullable)",
            "nullable": true
          },
          "unitThcContent": {
            "type": "number",
            "format": "float",
            "description": "THC content in the unit (nullable)",
            "nullable": true
          },
          "unitThcContentUnitOfMeasureId": {
            "type": "integer",
            "description": "Unit of measure ID for THC content (nullable)",
            "nullable": true
          },
          "unitWeight": {
            "type": "number",
            "format": "float",
            "description": "Weight of the unit",
            "example": 1.0,
            "nullable": false
          },
          "unitWeightUnitOfMeasureId": {
            "type": "integer",
            "description": "Unit of measure ID for weight",
            "example": 4,
            "nullable": false
          },
          "totalPrice": {
            "type": "number",
            "format": "float",
            "description": "Total price of the sale",
            "example": 0.01,
            "nullable": false
          },
          "salesDeliveryState": {
            "type": "string",
            "description": "Delivery state of the sale (nullable)",
            "nullable": true
          },
          "salesDeliveryStateName": {
            "type": "string",
            "description": "Name of the delivery state (nullable)",
            "nullable": true
          },
          "isTradeSample": {
            "type": "boolean",
            "description": "Whether the sale was a trade sample",
            "example": false,
            "nullable": false
          },
          "isDonation": {
            "type": "boolean",
            "description": "Whether the sale was a donation",
            "example": false,
            "nullable": false
          },
          "isTestingSample": {
            "type": "boolean",
            "description": "Whether the sale was a testing sample",
            "example": false,
            "nullable": false
          },
          "productRequiresRemediation": {
            "type": "boolean",
            "description": "Whether the product requires remediation",
            "example": false,
            "nullable": false
          },
          "containsRemediatedProduct": {
            "type": "boolean",
            "description": "Whether the product contains remediated items",
            "example": false,
            "nullable": false
          },
          "remediationDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date of product remediation (nullable)",
            "nullable": true
          },
          "isArchived": {
            "type": "boolean",
            "description": "Whether the sale is archived",
            "example": false,
            "nullable": false
          },
          "archivedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date when the sale was archived (nullable)",
            "nullable": true
          },
          "recordedDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time when the sale was recorded",
            "example": "0001-01-01T00:00:00+00:00",
            "nullable": false
          },
          "recordedByUserName": {
            "type": "string",
            "description": "Username of the person who recorded the sale (nullable)",
            "nullable": true
          },
          "lastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time when the sale was last modified",
            "example": "2024-09-06T20:00:00+00:00",
            "nullable": false
          },
          "invoiceNumber": {
            "type": "string",
            "description": "Invoice number of the sale (nullable)",
            "nullable": true
          },
          "price": {
            "type": "number",
            "format": "float",
            "description": "Price of the sale (nullable)",
            "nullable": true
          },
          "exciseTax": {
            "type": "number",
            "format": "float",
            "description": "Excise tax applied to the sale (nullable)",
            "nullable": true
          },
          "cityTax": {
            "type": "number",
            "format": "float",
            "description": "City tax applied to the sale (nullable)",
            "nullable": true
          },
          "countyTax": {
            "type": "number",
            "format": "float",
            "description": "County tax applied to the sale (nullable)",
            "nullable": true
          },
          "municipalTax": {
            "type": "number",
            "format": "float",
            "description": "Municipal tax applied to the sale (nullable)",
            "nullable": true
          },
          "discountAmount": {
            "type": "number",
            "format": "float",
            "description": "Discount applied to the sale (nullable)",
            "nullable": true
          },
          "subTotal": {
            "type": "number",
            "format": "float",
            "description": "Subtotal of the sale (nullable)",
            "nullable": true
          },
          "salesTax": {
            "type": "number",
            "format": "float",
            "description": "Sales tax applied to the sale (nullable)",
            "nullable": true
          },
          "tradeSampleSaleVerified": {
            "type": "boolean",
            "description": "Whether the trade sample sale was verified (nullable)",
            "nullable": true
          },
          "productSaleVerified": {
            "type": "boolean",
            "description": "Whether the product sale was verified (nullable)",
            "nullable": true
          },
          "qrCodeDocument": {
            "type": "string",
            "nullable": true
          },
          "itemUnitThcAPercent": {
            "type": "number",
            "format": "float",
            "description": "Alternate percentage of THC in the item (nullable)",
            "nullable": true
          },
          "itemUnitThcAContent": {
            "type": "number",
            "format": "float",
            "description": "Alternate THC content in the item (nullable)",
            "nullable": true
          },
          "itemUnitThcAContentUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Abbreviation of the alternate THC content unit of measure (nullable)",
            "nullable": true
          },
          "itemUnitThcAContentDose": {
            "type": "number",
            "format": "float",
            "description": "Alternate THC content dose of the item (nullable)",
            "nullable": true
          },
          "itemUnitThcAContentDoseUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Abbreviation of the alternate THC dose content unit of measure (nullable)",
            "nullable": true
          },
          "itemUnitCbdAPercent": {
            "type": "number",
            "format": "float",
            "description": "Alternate percentage of CBD in the item (nullable)",
            "nullable": true
          },
          "itemUnitCbdAContent": {
            "type": "number",
            "format": "float",
            "description": "Alternate CBD content in the item (nullable)",
            "nullable": true
          },
          "itemUnitCbdAContentUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Abbreviation of the alternate CBD content unit of measure (nullable)",
            "nullable": true
          },
          "itemUnitCbdAContentDose": {
            "type": "number",
            "format": "float",
            "description": "Alternate CBD content dose of the item (nullable)",
            "nullable": true
          },
          "itemUnitCbdAContentDoseUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Abbreviation of the alternate CBD dose content unit of measure (nullable)",
            "nullable": true
          }
        }
      },
      "MetrcTransferDelivery": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "The transfer delivery ID",
            "example": 12345
          },
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "manifestNumber": {
            "type": "integer",
            "format": "int32",
            "example": 1234567
          },
          "deliveryNumber": {
            "type": "integer",
            "format": "int32",
            "example": 1234567
          },
          "actualArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The actual arrival date and time."
          },
          "actualDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The actual departure date and time."
          },
          "actualReturnArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The actual return arrival date and time."
          },
          "actualReturnDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The actual return departure date and time."
          },
          "deliveryPackageCount": {
            "type": "integer",
            "format": "int32",
            "description": "The number of packages delivered.",
            "example": 5
          },
          "deliveryReceivedPackageCount": {
            "type": "integer",
            "format": "int32",
            "description": "The number of packages received.",
            "example": 4
          },
          "estimatedArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "The estimated arrival date and time.",
            "example": "2024-07-25T15:30:00Z"
          },
          "estimatedDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "The estimated departure date and time.",
            "example": "2024-07-25T13:30:00Z"
          },
          "estimatedReturnArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The estimated return arrival date and time."
          },
          "estimatedReturnDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The estimated return departure date and time."
          },
          "grossUnitOfWeightAbbreviation": {
            "type": "string",
            "nullable": true,
            "description": "The abbreviation for the unit of gross weight.",
            "example": "kg"
          },
          "grossUnitOfWeightId": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "The ID for the unit of gross weight.",
            "example": 1
          },
          "grossWeight": {
            "type": "number",
            "format": "float",
            "nullable": true,
            "description": "The gross weight.",
            "example": 100.5
          },
          "plannedRoute": {
            "type": "string",
            "description": "The planned route for the transfer.",
            "example": "Route A"
          },
          "receivedByName": {
            "type": "string",
            "nullable": true,
            "description": "The name of the person who received the shipment."
          },
          "receivedDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date and time when the shipment was received."
          },
          "recipientFacilityId": {
            "type": "integer",
            "format": "int32",
            "description": "The ID of the recipient facility.",
            "example": 456
          },
          "recipientFacilityLicenseNumber": {
            "type": "string",
            "description": "The license number of the recipient facility.",
            "example": "AB12345"
          },
          "recipientFacilityName": {
            "type": "string",
            "description": "The name of the recipient facility.",
            "example": "Facility A"
          },
          "rejectedPackagesReturned": {
            "type": "boolean",
            "description": "Indicates whether rejected packages were returned.",
            "example": false
          },
          "shipmentTransactionTypeName": {
            "type": "string",
            "description": "The name of the shipment transaction type.",
            "example": "Regular"
          },
          "shipmentTypeName": {
            "type": "string",
            "description": "The name of the shipment type.",
            "example": "Transfer",
            "enum": [
              "Transfer"
            ]
          },
          "recipientApprovalDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date and time when the recipient approved the shipment upon receipt."
          },
          "recipientAutoApproval": {
            "type": "boolean",
            "description": "Indicates whether the recipient's approval of the shipment is automatically granted, typically when there are no issues with the received packages.",
            "example": false
          },
          "PDFDocumentFileSystemId": {
            "type": "number",
            "example": 0
          },
          "invoiceNumber": {
            "type": "string",
            "example": ""
          }
        }
      },
      "MetrcTransferTemplate": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/MetrcOutgoingTransfer"
          },
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "My template"
              }
            }
          }
        ]
      },
      "MetrcTransferTransporter": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "transporterFacilityLicenseNumber": {
            "type": "string",
            "description": "The license number of the transporter's facility.",
            "example": "LIC-00001"
          },
          "transporterFacilityName": {
            "type": "string",
            "description": "The name of the transporter's facility.",
            "example": "Example Dispensary LLC"
          },
          "transporterDirectionName": {
            "type": "string",
            "enum": [
              "Outbound"
            ],
            "description": "The direction of the transporter.",
            "example": "Outbound"
          },
          "transporterApprovalDate": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the transporter was approved.",
            "example": "2024-07-26T13:00:00+00:00"
          },
          "transporterAutoApproval": {
            "type": "boolean",
            "description": "Indicates if the transporter was automatically approved.",
            "example": true
          },
          "driverName": {
            "type": "string",
            "description": "The name of the driver.",
            "example": "Jane Doe"
          },
          "driverOccupationalLicenseNumber": {
            "type": "string",
            "description": "The occupational license number of the driver.",
            "example": "DL123456789"
          },
          "driverVehicleLicenseNumber": {
            "type": "string",
            "description": "The vehicle license number of the driver.",
            "example": "ABC1234"
          },
          "driverLayoverLeg": {
            "type": "string",
            "nullable": true,
            "description": "Information about the driver's layover leg."
          },
          "vehicleMake": {
            "type": "string",
            "description": "The make of the vehicle.",
            "example": "Ford"
          },
          "vehicleModel": {
            "type": "string",
            "description": "The model of the vehicle.",
            "example": "F-150"
          },
          "vehicleLicensePlateNumber": {
            "type": "string",
            "description": "The license plate number of the vehicle.",
            "example": "XYZ7890"
          },
          "acceptedDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date and time when the transporter was accepted.",
            "example": "2024-07-26T13:00:00-05:00"
          },
          "isLayover": {
            "type": "boolean",
            "description": "Indicates if the transport includes a layover.",
            "example": false
          },
          "estimatedDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The estimated date and time of departure.",
            "example": "2024-07-26T14:00:00+00:00"
          },
          "actualDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The actual date and time of departure."
          },
          "estimatedArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The estimated date and time of arrival.",
            "example": "2024-07-26T15:00:00+00:00"
          },
          "actualArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The actual date and time of arrival."
          }
        }
      },
      "MetrcTransferTransporterDetails": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "shipmentPlanId": {
            "type": "integer",
            "example": 12345,
            "description": "Unique identifier for the shipment plan."
          },
          "shipmentDeliveryId": {
            "type": "integer",
            "example": 67890,
            "description": "Unique identifier for the shipment delivery."
          },
          "transporterDirection": {
            "type": "string",
            "enum": [
              "Outbound"
            ],
            "example": "Outbound",
            "description": "Direction of the transporter."
          },
          "transporterFacilityId": {
            "type": "integer",
            "example": 54321,
            "description": "Unique identifier for the transporter facility."
          },
          "lineNumber": {
            "type": "integer",
            "example": 1,
            "description": "Line number in the shipment details."
          },
          "driverName": {
            "type": "string",
            "example": "Jane Doe",
            "description": "Name of the driver."
          },
          "driverOccupationalLicenseNumber": {
            "type": "string",
            "example": "AB1234567",
            "description": "Occupational license number of the driver."
          },
          "driverVehicleLicenseNumber": {
            "type": "string",
            "example": "XYZ987654",
            "description": "Vehicle license number of the driver."
          },
          "driverLayoverLeg": {
            "type": "string",
            "nullable": true,
            "example": "Leg1",
            "description": "Layover leg details for the driver, if applicable."
          },
          "vehicleMake": {
            "type": "string",
            "example": "Ford",
            "description": "Make of the vehicle."
          },
          "vehicleModel": {
            "type": "string",
            "example": "Transit",
            "description": "Model of the vehicle."
          },
          "vehicleLicensePlateNumber": {
            "type": "string",
            "example": "XYZ-1234",
            "description": "License plate number of the vehicle."
          },
          "actualDriverStartDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "example": "2024-07-26T08:30:00Z",
            "description": "Actual start date and time for the driver."
          },
          "isVoided": {
            "type": "boolean",
            "example": false,
            "description": "Indicates if the record is voided."
          },
          "receivedDateTime": {
            "type": "string",
            "format": "date-time",
            "example": "2024-07-25T18:47:20+00:00",
            "description": "The date and time when the shipment was received."
          },
          "receivedDeliveryCount": {
            "type": "integer",
            "example": 1,
            "description": "The number of deliveries received."
          }
        }
      },
      "MetrcTransferredPackage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier for the item",
            "example": 1234567,
            "nullable": false
          },
          "hostname": {
            "type": "string",
            "description": "The hostname this object was retrieved from",
            "example": "ca.metrc.com"
          },
          "dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "index": {
            "type": "string",
            "description": "Describes the current state of this object at the time it was returned from the API. This cannot be used to sort or filter.",
            "example": "TRANSFERRED_PACKAGE",
            "enum": [
              "TRANSFERRED_PACKAGE"
            ]
          },
          "packageId": {
            "type": "integer",
            "description": "Identifier for the package",
            "example": 9876543,
            "nullable": false
          },
          "recipientFacilityLicenseNumber": {
            "type": "string",
            "description": "License number of the recipient facility",
            "example": "LIC-00001",
            "nullable": false
          },
          "recipientFacilityName": {
            "type": "string",
            "description": "Name of the recipient facility",
            "example": "Example Dispensary LLC",
            "nullable": false
          },
          "manifestNumber": {
            "type": "string",
            "description": "Manifest number associated with the shipment",
            "example": "0001234567",
            "nullable": false
          },
          "packageLabel": {
            "type": "string",
            "description": "Label of the package",
            "example": "1A4000000000000000000001",
            "nullable": false
          },
          "sourceHarvestNames": {
            "type": "string",
            "description": "Names of the source harvests",
            "example": "Blue Dream",
            "nullable": true
          },
          "sourcePackageLabels": {
            "type": "string",
            "description": "Labels of the source packages",
            "example": "1A4000000000000000000002",
            "nullable": true
          },
          "productName": {
            "type": "string",
            "description": "Name of the product",
            "example": "Blue Dream Flower | 3.5g",
            "nullable": false
          },
          "productCategoryName": {
            "type": "string",
            "description": "Category name of the product",
            "example": "Bud/Flower (Final Packaging)",
            "nullable": false
          },
          "itemStrainName": {
            "type": "string",
            "description": "Strain name of the item",
            "example": "Blue Dream",
            "nullable": false
          },
          "labTestingStateName": {
            "description": "Lab testing status of the item",
            "$ref": "#/components/schemas/LabTestingStates"
          },
          "shippedQuantity": {
            "type": "number",
            "description": "Quantity shipped",
            "format": "double",
            "example": 1224.0,
            "nullable": false
          },
          "shippedUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Unit of measure for the shipped quantity",
            "example": "g",
            "nullable": false
          },
          "grossWeight": {
            "type": "number",
            "description": "Gross weight of the package",
            "format": "double",
            "example": 224.0,
            "nullable": false
          },
          "grossUnitOfWeightAbbreviation": {
            "type": "string",
            "description": "Unit of measure for the gross weight",
            "example": "g",
            "nullable": false
          },
          "shipperWholesalePrice": {
            "type": "number",
            "description": "Wholesale price from the shipper",
            "format": "double",
            "nullable": true
          },
          "receivedQuantity": {
            "type": "number",
            "description": "Quantity received",
            "format": "double",
            "example": 1224.0,
            "nullable": false
          },
          "receivedUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Unit of measure for the received quantity",
            "example": "g",
            "nullable": false
          },
          "receiverWholesalePrice": {
            "type": "number",
            "description": "Wholesale price to the receiver",
            "format": "double",
            "nullable": true
          },
          "shipmentPackageStateName": {
            "type": "string",
            "description": "State of the shipment package",
            "example": "Accepted",
            "enum": [
              "Accepted",
              "Rejected",
              "Pending"
            ],
            "nullable": false
          },
          "actualDepartureDateTime": {
            "type": "string",
            "description": "Actual departure date and time",
            "format": "date-time",
            "nullable": true
          },
          "receivedDateTime": {
            "type": "string",
            "description": "Date and time when the package was received",
            "format": "date-time",
            "example": "2024-07-26T00:00:00-05:00",
            "nullable": false
          },
          "processingJobTypeName": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "grossUnitOfWeightAbbreviation",
          "grossWeight",
          "id",
          "itemStrainName",
          "labTestingStateName",
          "manifestNumber",
          "packageId",
          "packageLabel",
          "productCategoryName",
          "productName",
          "receivedDateTime",
          "receivedQuantity",
          "receivedUnitOfMeasureAbbreviation",
          "recipientFacilityLicenseNumber",
          "recipientFacilityName",
          "shipmentPackageStateName",
          "shippedQuantity",
          "shippedUnitOfMeasureAbbreviation"
        ]
      },
      "MetrcTransferredPackageReportResponse": {
        "type": "object",
        "properties": {
          "generatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-07-25T00:00:00+00:00"
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "packageLabel__endswith:0003",
              "productName__contains:kush"
            ]
          },
          "filterLogic": {
            "type": "string",
            "description": "The filter logic specified for this report, if any",
            "example": "and",
            "nullable": true
          },
          "sort": {
            "type": "string",
            "description": "The sort order specified for this report, if any",
            "example": "label:asc",
            "nullable": true
          },
          "licenseNumber": {
            "type": "string",
            "description": "The unique identifier for the license associated with this request.",
            "example": "LIC-00001"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetrcTransferredPackage"
            }
          }
        }
      },
      "MetrcUnfinalizeSalesPayload": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "description": "The sales receipt ID",
              "example": 12345
            }
          },
          "required": [
            "id"
          ],
          "additionalProperties": false
        }
      },
      "MetrcUnfinishPackagesPayload": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "description": "The package ID",
              "example": 12345
            }
          },
          "required": [
            "id"
          ],
          "additionalProperties": false
        }
      },
      "MetrcUpdateTransferTemplatesPayload": {
        "type": "array",
        "items": {
          "type": "object",
          "description": "A schema representing a shipment with details about destinations, transporters, and packages.",
          "required": [
            "id",
            "name",
            "destinations"
          ],
          "additionalProperties": false,
          "properties": {
            "id": {
              "type": "integer",
              "description": "The transfer ID",
              "example": 12345
            },
            "name": {
              "type": "string",
              "example": "My template"
            },
            "destinations": {
              "type": "array",
              "description": "List of destinations for the shipment.",
              "items": {
                "type": "object",
                "required": [
                  "estimatedArrivalDateTime",
                  "estimatedDepartureDateTime",
                  "plannedRoute",
                  "recipientId",
                  "transferTypeId"
                ],
                "additionalProperties": false,
                "properties": {
                  "recipientId": {
                    "type": "number",
                    "format": "int32",
                    "description": "Facility ID of the destination facility.\n\nTo find eligible destination facilities, use the [Destinations](#/Create%20Transfer/get_v2_packages_create_transfer_destination_list)\nendpoint.\n",
                    "example": 123456
                  },
                  "plannedRoute": {
                    "type": "string",
                    "description": "Planned route for the shipment.",
                    "example": "Keep going, you can't miss it"
                  },
                  "transferTypeId": {
                    "type": "number",
                    "format": "int32",
                    "description": "Identifier for the type of transfer.",
                    "example": 8
                  },
                  "invoiceNumber": {
                    "type": "string",
                    "description": "Invoice number for this delivery. *Not all transfer types require this value.*\n\nThis value is only required if the `transferType` has `requiresInvoiceNumber=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                    "example": "123456-ABC"
                  },
                  "estimatedDepartureDateTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Estimated departure date and time.",
                    "example": "2023-05-23T21:22:35"
                  },
                  "estimatedArrivalDateTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Estimated arrival date and time.",
                    "example": "2023-05-23T21:22:35"
                  },
                  "grossWeight": {
                    "type": "number",
                    "format": "float",
                    "description": "Gross weight of the transfer. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `requiresDestinationGrossWeight=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                    "example": 123.45
                  },
                  "grossUnitOfWeightId": {
                    "type": "number",
                    "format": "int32",
                    "description": "Identifier for the unit of weight. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `requiresDestinationGrossWeight=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                    "example": 4
                  },
                  "transporters": {
                    "type": "array",
                    "description": "List of transporters for the transfer.",
                    "items": {
                      "type": "object",
                      "required": [
                        "transporterId",
                        "phoneNumberForQuestions",
                        "transporterDetails"
                      ],
                      "additionalProperties": false,
                      "properties": {
                        "transporterId": {
                          "type": "number",
                          "format": "int32",
                          "description": "Facility ID of the transporter facility. \n\nTo find eligible transporter facilities, use the [Transporters](#/Create%20Transfer/get_v2_packages_create_transfer_transporter_list) endpoint.\n",
                          "example": 12345
                        },
                        "phoneNumberForQuestions": {
                          "type": "string",
                          "description": "Phone number for inquiries.",
                          "example": "5555551234"
                        },
                        "transporterDetails": {
                          "type": "array",
                          "description": "Details of the transporter.",
                          "items": {
                            "type": "object",
                            "required": [
                              "driverName",
                              "driverOccupationalLicenseNumber",
                              "driverLicenseNumber",
                              "vehicleMake",
                              "vehicleModel",
                              "vehicleLicensePlateNumber"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "driverName": {
                                "type": "string",
                                "description": "Name of the driver.",
                                "example": "Jane Doe"
                              },
                              "driverOccupationalLicenseNumber": {
                                "type": "string",
                                "description": "Occupational license number of the driver.",
                                "example": "LIC12345"
                              },
                              "driverLicenseNumber": {
                                "type": "string",
                                "description": "Driver's license number.",
                                "example": "D1234567"
                              },
                              "driverLayoverLeg": {
                                "type": "string",
                                "description": "Layover leg details (if any).",
                                "example": "",
                                "nullable": true
                              },
                              "vehicleMake": {
                                "type": "string",
                                "description": "Make of the vehicle.",
                                "example": "Ford"
                              },
                              "vehicleModel": {
                                "type": "string",
                                "description": "Model of the vehicle.",
                                "example": "GT"
                              },
                              "vehicleLicensePlateNumber": {
                                "type": "string",
                                "description": "License plate number of the vehicle.",
                                "example": "ABC1234"
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  "packages": {
                    "type": "array",
                    "description": "List of packages in the transfer.",
                    "items": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "additionalProperties": false,
                      "properties": {
                        "id": {
                          "type": "number",
                          "format": "int32",
                          "description": "Identifier of the package.",
                          "example": 123456
                        },
                        "wholesalePrice": {
                          "type": "number",
                          "format": "float",
                          "description": "Wholesale price of the package. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `transactionType=\"Wholesale\"`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                          "example": 200.0
                        },
                        "grossWeight": {
                          "type": "number",
                          "format": "float",
                          "description": "Gross weight of the package. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `requiresPackagesGrossWeight=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                          "example": 123.45
                        },
                        "grossUnitOfWeightId": {
                          "type": "number",
                          "format": "int32",
                          "description": "Unit of weight identifier for the package. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `requiresPackagesGrossWeight=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                          "example": 5
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "MetrcUpdateTransfersPayload": {
        "type": "array",
        "items": {
          "type": "object",
          "description": "A schema representing a shipment with details about destinations, transporters, and packages.",
          "required": [
            "id",
            "destinations"
          ],
          "additionalProperties": false,
          "properties": {
            "id": {
              "type": "integer",
              "description": "The transfer ID",
              "example": 12345
            },
            "destinations": {
              "type": "array",
              "description": "List of destinations for the shipment.",
              "items": {
                "type": "object",
                "required": [
                  "estimatedArrivalDateTime",
                  "estimatedDepartureDateTime",
                  "plannedRoute",
                  "recipientId",
                  "transferTypeId"
                ],
                "additionalProperties": false,
                "properties": {
                  "recipientId": {
                    "type": "number",
                    "format": "int32",
                    "description": "Facility ID of the destination facility.\n\nTo find eligible destination facilities, use the [Destinations](#/Create%20Transfer/get_v2_packages_create_transfer_destination_list)\nendpoint.\n",
                    "example": 123456
                  },
                  "plannedRoute": {
                    "type": "string",
                    "description": "Planned route for the shipment.",
                    "example": "Keep going, you can't miss it"
                  },
                  "transferTypeId": {
                    "type": "number",
                    "format": "int32",
                    "description": "Identifier for the type of transfer.",
                    "example": 8
                  },
                  "invoiceNumber": {
                    "type": "string",
                    "description": "Invoice number for this delivery. *Not all transfer types require this value.*\n\nThis value is only required if the `transferType` has `requiresInvoiceNumber=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                    "example": "123456-ABC"
                  },
                  "estimatedDepartureDateTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Estimated departure date and time.",
                    "example": "2023-05-23T21:22:35"
                  },
                  "estimatedArrivalDateTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Estimated arrival date and time.",
                    "example": "2023-05-23T21:22:35"
                  },
                  "grossWeight": {
                    "type": "number",
                    "format": "float",
                    "description": "Gross weight of the transfer. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `requiresDestinationGrossWeight=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                    "example": 123.45
                  },
                  "grossUnitOfWeightId": {
                    "type": "number",
                    "format": "int32",
                    "description": "Identifier for the unit of weight. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `requiresDestinationGrossWeight=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                    "example": 4
                  },
                  "transporters": {
                    "type": "array",
                    "description": "List of transporters for the transfer.",
                    "items": {
                      "type": "object",
                      "required": [
                        "transporterId",
                        "phoneNumberForQuestions",
                        "transporterDetails"
                      ],
                      "additionalProperties": false,
                      "properties": {
                        "transporterId": {
                          "type": "number",
                          "format": "int32",
                          "description": "Facility ID of the transporter facility. \n\nTo find eligible transporter facilities, use the [Transporters](#/Create%20Transfer/get_v2_packages_create_transfer_transporter_list) endpoint.\n",
                          "example": 12345
                        },
                        "phoneNumberForQuestions": {
                          "type": "string",
                          "description": "Phone number for inquiries.",
                          "example": "5555551234"
                        },
                        "transporterDetails": {
                          "type": "array",
                          "description": "Details of the transporter.",
                          "items": {
                            "type": "object",
                            "required": [
                              "driverName",
                              "driverOccupationalLicenseNumber",
                              "driverLicenseNumber",
                              "vehicleMake",
                              "vehicleModel",
                              "vehicleLicensePlateNumber"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "driverName": {
                                "type": "string",
                                "description": "Name of the driver.",
                                "example": "Jane Doe"
                              },
                              "driverOccupationalLicenseNumber": {
                                "type": "string",
                                "description": "Occupational license number of the driver.",
                                "example": "LIC12345"
                              },
                              "driverLicenseNumber": {
                                "type": "string",
                                "description": "Driver's license number.",
                                "example": "D1234567"
                              },
                              "driverLayoverLeg": {
                                "type": "string",
                                "description": "Layover leg details (if any).",
                                "example": "",
                                "nullable": true
                              },
                              "vehicleMake": {
                                "type": "string",
                                "description": "Make of the vehicle.",
                                "example": "Ford"
                              },
                              "vehicleModel": {
                                "type": "string",
                                "description": "Model of the vehicle.",
                                "example": "GT"
                              },
                              "vehicleLicensePlateNumber": {
                                "type": "string",
                                "description": "License plate number of the vehicle.",
                                "example": "ABC1234"
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  "packages": {
                    "type": "array",
                    "description": "List of packages in the transfer.",
                    "items": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "additionalProperties": false,
                      "properties": {
                        "id": {
                          "type": "number",
                          "format": "int32",
                          "description": "Identifier of the package.",
                          "example": 123456
                        },
                        "wholesalePrice": {
                          "type": "number",
                          "format": "float",
                          "description": "Wholesale price of the package. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `transactionType=\"Wholesale\"`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                          "example": 200.0
                        },
                        "grossWeight": {
                          "type": "number",
                          "format": "float",
                          "description": "Gross weight of the package. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `requiresPackagesGrossWeight=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                          "example": 123.45
                        },
                        "grossUnitOfWeightId": {
                          "type": "number",
                          "format": "int32",
                          "description": "Unit of weight identifier for the package. *Not all transfer types require this value.*\n\nOnly should be set if the `transferType` has `requiresPackagesGrossWeight=true`.\n\nSee the [create transfer inputs](#/Create%20Transfer/get_v2_transfers_create_inputs) endpoints for details.\n",
                          "example": 5
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "MetrcVehicle": {
        "type": "object",
        "properties": {
          "facilityId": {
            "type": "integer",
            "description": "Facility identifier.",
            "example": 12345
          },
          "id": {
            "type": "integer",
            "description": "Unique identifier for the vehicle.",
            "example": 12345
          },
          "isArchived": {
            "type": "boolean",
            "description": "Indicates if the vehicle is archived.",
            "example": false
          },
          "lastModified": {
            "type": "string",
            "description": "Date and time the vehicle information was last modified.",
            "format": "date-time",
            "example": "2022-06-16T07:43:23-05:00"
          },
          "licensePlateNumber": {
            "type": "string",
            "description": "License plate number of the vehicle.",
            "example": "ABC1234"
          },
          "make": {
            "type": "string",
            "description": "Make of the vehicle.",
            "example": "Ford"
          },
          "model": {
            "type": "string",
            "description": "Model of the vehicle.",
            "example": "Transit Connect"
          }
        }
      },
      "MetrcVoidSalesReceiptPayload": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The sales receipt ID",
            "example": 12345
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "MetrcVoidTransferPayload": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The transfer ID",
            "example": 12345
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "OutgoingTransferManifestReportResponse": {
        "type": "object",
        "properties": {
          "generatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-07-25T00:00:00+00:00"
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "manifestNumber__endswith:0003",
              "productName__contains:kush"
            ]
          },
          "filterLogic": {
            "type": "string",
            "description": "The filter logic specified for this report, if any",
            "example": "and",
            "nullable": true
          },
          "sort": {
            "type": "string",
            "description": "The sort order specified for this report, if any",
            "example": "label:asc",
            "nullable": true
          },
          "licenseNumber": {
            "type": "string",
            "description": "The unique identifier for the license associated with this request.",
            "example": "LIC-00001"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/T3OutgoingTransferManifest"
            }
          }
        }
      },
      "Pagination": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "example": 1
          },
          "totalPages": {
            "type": "integer",
            "example": 3
          },
          "pageSize": {
            "type": "integer",
            "example": 100
          },
          "total": {
            "type": "integer",
            "example": 235
          }
        }
      },
      "RefreshToken": {
        "type": "string",
        "description": "Refresh token used to acquire a new access token",
        "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiYWJjMTIzIiwidXNlcm5hbWUiOiJleGFtcGxlVXNlciIsImV4cCI6MTYwOTM1OTAwMH0.HJbO67hFNph5t6KjKQ1T1-EKn9H7hvhb34bTft1zDsQ"
      },
      "ScanTagListPayload": {
        "type": "object",
        "required": [
          "licenseNumber",
          "handles"
        ],
        "properties": {
          "licenseNumber": {
            "type": "string",
            "description": "The license number associated with this tag list.",
            "example": "LIC-00001"
          },
          "handles": {
            "type": "array",
            "description": "The handles to mark as scanned. Duplicates in this array are treated as\na single handle. Handles that don't match any entry in the list are\nreturned in `handlesNotFound`.\n",
            "items": {
              "type": "string"
            },
            "example": [
              "1A4...",
              "1A5..."
            ]
          },
          "scannedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp to set on matching entries. If omitted, the server's current\ntime is used. Applied to every matching entry, including entries whose\n`scannedAt` was already set (the value is overwritten).\n",
            "example": "2024-08-09T12:34:56.789Z"
          }
        }
      },
      "SearchEventStream": {
        "type": "string",
        "description": "Server-Sent Events stream emitted when `/v2/search` is invoked with\n`stream=true` or `Accept: text/event-stream`. The body is a sequence of SSE\nmessages. There are two event types:\n\n\n**`event: result`** \u2014 emitted once per downstream Metrc endpoint as it\ncompletes. Successful payload schema:\n\n```json\n{\n  \"endpointId\": \"ACTIVE_PACKAGES\",\n  \"status\": \"success\",\n  \"results\": [\n    { \"score\": 0.7142857142857143, \"matchedEntry\": { \"...\": \"...\" } }\n  ],\n  \"truncated\": true,\n  \"totalAvailable\": 47\n}\n```\n\nSuccessful payloads carry a `results` array (already filtered by `minScore`\nand sorted by `score` descending), a `truncated` boolean indicating whether\nMetrc had more matches available than `pageSize` returned, and\n`totalAvailable` for Metrc's reported total count. Failed payloads have\n`status: \"failed\"`, an `error` string, and an empty `results` array \u2014 no\n`truncated` or `totalAvailable`:\n\n```json\n{\n  \"endpointId\": \"INTRANSIT_PACKAGES\",\n  \"status\": \"failed\",\n  \"error\": \"Metrc Connection Failed\",\n  \"results\": []\n}\n```\n\n\n**`event: done`** \u2014 emitted once after every downstream endpoint has\ncompleted. Payload mirrors the JSON-mode summary fields plus an echo of the\nresolved request parameters:\n\n```json\n{\n  \"queriedMetrcEndpointIds\": [\"ACTIVE_PACKAGES\", \"AVAILABLE_TAGS\"],\n  \"failedMetrcEndpointIds\": [],\n  \"skippedMetrcEndpointIds\": [\"ACTIVE_ITEMS\"],\n  \"detectedQueryFormats\": [\"HEX_STRING\", \"INTEGER\"],\n  \"request\": {\n    \"query\": \"1A4FF...\",\n    \"licenseNumber\": \"LIC-00001\",\n    \"pageSize\": 10,\n    \"minScore\": 0.0\n  }\n}\n```\n\n\nEach SSE message is two lines (`event: <type>\\ndata: <json>\\n`) followed by\na blank line, per the SSE spec. Clients should consume `result` events\nincrementally and treat `done` as the terminal signal.\n",
        "example": "event: result\ndata: {\"endpointId\":\"ACTIVE_PACKAGES\",\"status\":\"success\",\"results\":[{\"score\":0.71,\"matchedEntry\":{\"...\":\"...\"}}],\"truncated\":true,\"totalAvailable\":47}\n\nevent: result\ndata: {\"endpointId\":\"AVAILABLE_TAGS\",\"status\":\"success\",\"results\":[],\"truncated\":false,\"totalAvailable\":3}\n\nevent: done\ndata: {\"queriedMetrcEndpointIds\":[\"ACTIVE_PACKAGES\",\"AVAILABLE_TAGS\"],\"failedMetrcEndpointIds\":[],\"skippedMetrcEndpointIds\":[\"ACTIVE_ITEMS\"],\"detectedQueryFormats\":[\"HEX_STRING\",\"INTEGER\"],\"request\":{\"query\":\"1A4FF...\",\"licenseNumber\":\"LIC-00001\",\"pageSize\":10,\"minScore\":0.0}}\n"
      },
      "SearchResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "description": "Ranked list of matched objects across all queried endpoints. Sorted by `score` descending. Each downstream endpoint contributes at most 10 entries, so the maximum length is `len(queriedMetrcEndpointIds) * 10`.",
            "items": {
              "type": "object",
              "properties": {
                "endpointId": {
                  "description": "Identifier of the Metrc endpoint that produced this match. Use this to disambiguate `matchedEntry`, since different endpoints return different shapes.",
                  "$ref": "#/components/schemas/EndpointId"
                },
                "score": {
                  "type": "number",
                  "description": "Relevance score for this match. Higher is better. Computed from query length, target length, and the position of the match within the target. Scores from different endpoints are directly comparable.",
                  "format": "float"
                },
                "matchedEntry": {
                  "type": "object",
                  "description": "The Metrc object that matched the query. Shape depends on `endpointId` \u2014 for example, a match from `ACTIVE_PACKAGES` looks like a Metrc package, a match from `INCOMING_ACTIVE_TRANSFERS` looks like a Metrc transfer."
                }
              }
            },
            "example": [
              {
                "endpointId": "ACTIVE_ITEMS",
                "score": 0.12244897959183673,
                "matchedEntry": {
                  "administrationMethod": "N/A",
                  "allergens": "",
                  "approvalStatusDateTime": "2023-08-20T15:11:10+00:00",
                  "approvalStatusName": "Approved",
                  "dataModel": "MetrcItem",
                  "defaultLabTestingStateName": "NotSubmitted",
                  "description": "",
                  "expirationConfigurationState": "Off",
                  "expirationDateConfiguration": "Off",
                  "expirationDateDaysInAdvance": null,
                  "facilityLicenseNumber": null,
                  "facilityName": null,
                  "id": 12345,
                  "index": "ACTIVE_ITEM",
                  "isArchived": false,
                  "isUsed": false,
                  "itemBrandId": 0,
                  "itemBrandName": null,
                  "labelImages": [],
                  "labelPhotoDescription": "",
                  "lastModified": null,
                  "licenseNumber": "EX-00001",
                  "name": "Blue Dream - 3.5g Prepack",
                  "numberOfDoses": 14,
                  "packagingImages": [],
                  "packagingPhotoDescription": "",
                  "processingJobCategoryId": null,
                  "processingJobCategoryName": null,
                  "productCategoryId": 401,
                  "productCategoryName": "Bud/Flower (Final Packaging)",
                  "productCategoryTypeName": "Buds",
                  "productImages": [],
                  "productPDFDocuments": [],
                  "productPhotoDescription": "",
                  "publicIngredients": "Cannabis flower",
                  "quantityTypeName": "WeightBased",
                  "retrievedAt": "2024-08-28T01:19:48.123456",
                  "sellByConfigurationState": "Off",
                  "sellByDateConfiguration": "Off",
                  "sellByDateDaysInAdvance": null,
                  "servingSize": "0.25g",
                  "strainName": "Blue Dream",
                  "supplyDurationDays": null,
                  "unitCbdContent": null,
                  "unitCbdContentDose": null,
                  "unitCbdContentDoseUnitOfMeasureAbbreviation": null,
                  "unitCbdContentUnitOfMeasureAbbreviation": null,
                  "unitCbdPercent": null,
                  "unitOfMeasureId": 4,
                  "unitOfMeasureName": "Grams",
                  "unitQuantity": null,
                  "unitQuantityUnitOfMeasureAbbreviation": null,
                  "unitThcContent": null,
                  "unitThcContentDose": null,
                  "unitThcContentDoseUnitOfMeasureAbbreviation": null,
                  "unitThcContentUnitOfMeasureAbbreviation": null,
                  "unitThcContentUnitOfMeasureId": null,
                  "unitThcPercent": null,
                  "unitVolume": null,
                  "unitVolumeUnitOfMeasureAbbreviation": null,
                  "unitWeight": null,
                  "unitWeightUnitOfMeasureAbbreviation": null,
                  "unitWeightUnitOfMeasureId": null,
                  "useByConfigurationState": "Off",
                  "useByDateConfiguration": "Off",
                  "useByDateDaysInAdvance": null
                }
              },
              {
                "endpointId": "TRANSFERRED_PACKAGES",
                "score": 0.08333333333333333,
                "matchedEntry": {
                  "actualDepartureDateTime": "2024-07-17T07:00:00-05:00",
                  "dataModel": "MetrcTransferredPackage",
                  "grossUnitOfWeightAbbreviation": "g",
                  "grossWeight": 222.0,
                  "id": 123456,
                  "index": "TRANSFERRED_PACKAGE",
                  "itemStrainName": "Blue Dream",
                  "labTestingStateName": "TestPassed",
                  "licenseNumber": "EX-00001",
                  "manifestNumber": "1234566",
                  "packageId": 1234566,
                  "packageLabel": "1A4000000000000000000001",
                  "productCategoryName": "Shake/Trim",
                  "productName": "Blue Dream",
                  "receivedDateTime": "2024-07-17T00:00:00-05:00",
                  "receivedQuantity": 222.0,
                  "receivedUnitOfMeasureAbbreviation": "g",
                  "receiverWholesalePrice": 0.01,
                  "recipientFacilityLicenseNumber": "LIC-00002",
                  "recipientFacilityName": "Example Distributor LLC",
                  "retrievedAt": "2024-08-28T15:01:11.123456",
                  "shipmentPackageStateName": "Accepted",
                  "shippedQuantity": 222.0,
                  "shippedUnitOfMeasureAbbreviation": "g",
                  "shipperWholesalePrice": 0.01,
                  "sourceHarvestNames": "HARVEST0001",
                  "sourcePackageLabels": "1A4000000000000000000002, 1A4000000000000000000003"
                }
              }
            ]
          },
          "queriedMetrcEndpointIds": {
            "description": "Endpoints that were successfully queried for this request. Combined with `failedMetrcEndpointIds` and `skippedMetrcEndpointIds`, this accounts for every endpoint the request would have touched.",
            "type": "array",
            "example": [
              "ACTIVE_ITEMS",
              "ACTIVE_HARVESTS",
              "ACTIVE_PLANTBATCHES",
              "ACTIVE_PACKAGES",
              "INTRANSIT_PACKAGES",
              "TRANSFERRED_PACKAGES",
              "VEGETATIVE_PLANTS",
              "FLOWERING_PLANTS"
            ],
            "items": {
              "$ref": "#/components/schemas/EndpointId"
            }
          },
          "failedMetrcEndpointIds": {
            "description": "Endpoints that were attempted but errored out \u2014 typically a Metrc API error, timeout, or insufficient license permissions. Their results are omitted from `data`.",
            "type": "array",
            "example": [],
            "items": {
              "$ref": "#/components/schemas/EndpointId"
            }
          },
          "skippedMetrcEndpointIds": {
            "description": "Endpoints that were not queried because the detected query format is not searchable on any of their fields. For example, a `BASIC_STRING` query like `\"Blue Dream\"` skips transfer endpoints that only search `manifestNumber`, and a `DATETIME` query like `\"2024-07-17\"` skips every endpoint (no endpoint currently searches date fields). Use `detectedQueryFormats` to understand why.",
            "type": "array",
            "example": [
              "INCOMING_ACTIVE_TRANSFERS",
              "OUTGOING_ACTIVE_TRANSFERS",
              "OUTGOING_REJECTED_TRANSFERS"
            ],
            "items": {
              "$ref": "#/components/schemas/EndpointId"
            }
          },
          "detectedQueryFormats": {
            "description": "Formats the server detected for the query string. A query may match multiple formats simultaneously \u2014 for example, `\"12345\"` is both `INTEGER` and `HEX_STRING`. Format detection determines which endpoints are queried versus skipped.",
            "type": "array",
            "example": [
              "HEX_STRING",
              "INTEGER"
            ],
            "items": {
              "type": "string",
              "enum": [
                "DATETIME",
                "HEX_STRING",
                "INTEGER",
                "BASIC_STRING"
              ]
            }
          },
          "endpointMetadata": {
            "description": "Per-endpoint completion metadata, one entry per endpoint in `queriedMetrcEndpointIds`. `truncated` is true when Metrc reported more matches than `pageSize` returned \u2014 raise `pageSize` to retrieve them. `totalAvailable` is Metrc's reported total count for the underlying query. Failed and skipped endpoints are omitted (no Metrc response to derive from).",
            "type": "array",
            "example": [
              {
                "endpointId": "ACTIVE_PACKAGES",
                "truncated": true,
                "totalAvailable": 47
              },
              {
                "endpointId": "AVAILABLE_TAGS",
                "truncated": false,
                "totalAvailable": 3
              }
            ],
            "items": {
              "type": "object",
              "properties": {
                "endpointId": {
                  "$ref": "#/components/schemas/EndpointId"
                },
                "truncated": {
                  "type": "boolean"
                },
                "totalAvailable": {
                  "type": "integer"
                }
              }
            }
          },
          "request": {
            "description": "Echo of the resolved request parameters used to produce this response. Useful when the response is cached or proxied, or when the caller fans out concurrent searches. Values reflect server-side defaults and trimming, not the raw query string.",
            "type": "object",
            "example": {
              "query": "Blue Dream",
              "licenseNumber": "LIC-00001",
              "pageSize": 10,
              "minScore": 0.0
            },
            "properties": {
              "query": {
                "type": "string"
              },
              "licenseNumber": {
                "type": "string"
              },
              "pageSize": {
                "type": "integer"
              },
              "minScore": {
                "type": "number",
                "format": "float"
              }
            }
          }
        }
      },
      "SecretKey": {
        "type": "string",
        "description": "The generated secret key",
        "example": "2616ec56-fa2a-4c5b-86c0-acacf23c9ef7"
      },
      "SupercollectionMetadata": {
        "type": "object",
        "description": "Derived metadata fields attached to every supercollection item. `summary` and\n`description` are always populated, computed from the item's data with\nper-kind logic and a generic identifier-based fallback.\n",
        "properties": {
          "summary": {
            "type": "string",
            "description": "Short human-readable label (60 characters or fewer in the common case)\nsuitable for table cells, dropdowns, and other compact UI. Composed from\nprioritized required fragments (always rendered in full) plus truncatable\nfragments that are word-boundary-truncated with an ellipsis when they\noverflow the cap. May exceed 60 characters in rare cases when the\nrequired fragments alone do.\n"
          },
          "description": {
            "type": "string",
            "description": "Longer human-readable description (uncapped) suitable for detail views,\ntooltips, and search-result previews. Reads as a sentence or short\nparagraph composed from the item's populated fields.\n"
          }
        }
      },
      "T3CreateLabelContentLayoutPayload": {
        "type": "object",
        "required": [
          "labelContentLayoutConfig"
        ],
        "properties": {
          "labelContentLayoutConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/T3LabelContentLayoutConfig"
              },
              {
                "description": "The label content layout configuration. Must include a 'name' field."
              }
            ]
          },
          "description": {
            "type": "string",
            "description": "Optional description for the layout"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional tags for the layout"
          }
        }
      },
      "T3CreateLabelTemplateLayoutPayload": {
        "type": "object",
        "required": [
          "labelTemplateLayoutConfig"
        ],
        "properties": {
          "labelTemplateLayoutConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/T3LabelTemplateLayoutConfig"
              },
              {
                "description": "The label template layout configuration. Must include a 'name' field."
              }
            ]
          },
          "description": {
            "type": "string",
            "description": "Optional description for the layout"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional tags for the layout"
          }
        }
      },
      "T3GenerateLabelsPayload": {
        "type": "object",
        "properties": {
          "labelTemplateLayoutConfig": {
            "type": "object",
            "description": "The identifier for the label template configuration",
            "$ref": "#/components/schemas/T3LabelTemplateLayoutConfig"
          },
          "labelContentLayoutConfig": {
            "type": "object",
            "description": "The identifier for the label content configuration.",
            "$ref": "#/components/schemas/T3LabelContentLayoutConfig"
          },
          "labelContentDataList": {
            "type": "array",
            "description": "A list of objects, each of which will be filled into one label. \n\nSuppose you were to pass the following data, which represents two distinct labels:\n\n```json\n[\n  {\n    \"package\": {\n      \"label\": \"12345\"\n    }\n  },\n  {\n    \"package\": {\n      \"label\": \"67890\"\n    }\n  }\n]\n```\n\nYou could access these values in the content layout template as follows:\n\n```\n{{ package.label }}\n```\n\nNote: The format of the objects is not validated.\n\nNote: Any values with `common` or `images` will be overwritten.\n",
            "items": {
              "type": "object",
              "additionalProperties": true
            },
            "example": [
              {
                "package": {
                  "label": "12345"
                }
              },
              {
                "package": {
                  "label": "67890"
                }
              }
            ]
          },
          "commonContentData": {
            "type": "object",
            "description": "A dictionary of values shared between all labels. Any supplied values\nwill be prefixed with `common.`\n\nSuppose you were to pass the following data:\n\n```json\n{\n  \"facilityContactInfo\": {\n    \"phoneNumber\": \"123-456-7890\"\n  }\n}\n```\n\nYou could access this values in the content layout template as follows:\n\n```\n{{ facilityContactInfo.phoneNumber }}\n```\n\nNote: The format of the object is not validated.\n",
            "example": {
              "facilityContactinfo": {
                "phoneNumber": "123-456-7890"
              }
            }
          },
          "images": {
            "type": "object",
            "description": "A dictionary of base64 image dadta shared between all labels. Any supplied values\nwill be prefixed with `images.`\n\nSuppose you were to pass the following data:\n\n```json\n{\n  \"logo\": \"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMBgKZzmtkAAAAASUVORK5CYII=\"\n}\n```\n\nYou could access this values in the content layout template as follows:\n\n```\n{{ images.logo }}\n```\n\nNote: The format of the object is not validated.\n",
            "example": {
              "logo": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMBgKZzmtkAAAAASUVORK5CYII="
            }
          },
          "renderingOptions": {
            "type": "object",
            "description": "Global options for controlling how all labels render or print",
            "$ref": "#/components/schemas/T3LabelRenderingOptions"
          },
          "disposition": {
            "type": "string",
            "description": "Specifies whether the PDF should be opened inline or downloaded as an attachment.",
            "enum": [
              "inline",
              "attachment"
            ],
            "default": "inline"
          }
        },
        "required": [
          "labelTemplateLayoutConfig",
          "labelContentLayoutConfig",
          "labelContentDataList"
        ],
        "additionalProperties": false
      },
      "T3GenerateLabelsPayload_DEPRECATED": {
        "type": "object",
        "properties": {
          "labelTemplateLayoutId": {
            "type": "string",
            "description": "The identifier for the label template configuration",
            "example": "AVERY_8160__2_625Wx1_0H"
          },
          "labelContentLayoutId": {
            "type": "string",
            "description": "The identifier for the label content configuration.",
            "example": "COL_TEXT_CODE128_TEXT"
          },
          "labelContentData": {
            "type": "array",
            "description": "A list of label content data objects to be filled into labels.  Refer to the label content layout information for which of these fields are required and where they will be inserted.",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "text1": {
                  "type": "string",
                  "example": "text1"
                },
                "text2": {
                  "type": "string",
                  "example": "text2"
                },
                "text3": {
                  "type": "string",
                  "example": "text3"
                },
                "text4": {
                  "type": "string",
                  "example": "text4"
                },
                "text5": {
                  "type": "string",
                  "example": "text5"
                },
                "text6": {
                  "type": "string",
                  "example": "text6"
                },
                "text7": {
                  "type": "string",
                  "example": "text7"
                },
                "text8": {
                  "type": "string",
                  "example": "text8"
                }
              }
            }
          },
          "renderingOptions": {
            "type": "object",
            "description": "Options for controlling how the barcode will render.",
            "additionalProperties": false,
            "properties": {
              "debug": {
                "type": "boolean"
              },
              "enablePromo": {
                "type": "boolean"
              },
              "reversePrintOrder": {
                "type": "boolean"
              },
              "rotationDegrees": {
                "type": "number",
                "format": "float"
              },
              "barcodeBarThickness": {
                "type": "number",
                "format": "float",
                "description": "Controls how thick a barcode's bars will appear. Useful for low-DPI thermal printers.\nTested values: - Zebra printers with a Code128 should use 0.94 - Dymo printers with a Code128 should use 0.8\n- 1.0 is normal rendering.  - 0.9 is 10% thinner - 1.1 is 10% thicker",
                "example": 1.0
              },
              "labelMarginThickness": {
                "type": "number",
                "format": "float",
                "description": "Controls width of a label's margins. Useful for thermal printers with slighly skewed printing.\n- 1.0 is normal margin.  - 0.9 is 10% thinner - 1.1 is 10% thicker",
                "example": 1.0
              }
            }
          },
          "debug": {
            "type": "boolean",
            "description": "When set to true, draws bounding boxes around the label containers, the printable area, and the individual elements per label."
          },
          "forcePromo": {
            "type": "boolean",
            "description": "When set to true, force-enables the T3 promo bar on all generated labels irrespective of T3+ subscription status."
          },
          "disposition": {
            "type": "string",
            "description": "Specifies whether the PDF should be opened inline or downloaded as an attachment.",
            "enum": [
              "inline",
              "attachment"
            ],
            "default": "inline"
          }
        },
        "required": [
          "labelTemplateLayoutId",
          "labelContentLayoutId",
          "labelContentData"
        ],
        "additionalProperties": false
      },
      "T3IncomingTransferManifest": {
        "type": "object",
        "properties": {
          "transfer.dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "transfer.retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "transfer.licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "transfer.index": {
            "type": "string",
            "description": "Describes the current state of this object at the time it was returned from the API. This cannot be used to sort or filter.",
            "example": "ACTIVE_INCOMING_TRANSFER",
            "enum": [
              "ACTIVE_INCOMING_TRANSFER",
              "INACTIVE_INCOMING_TRANSFER"
            ]
          },
          "transfer.id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for the transfer",
            "example": 1234567
          },
          "transfer.manifestNumber": {
            "type": "string",
            "description": "Unique manifest number associated with the transfer",
            "example": "0001234567"
          },
          "transfer.shipmentLicenseTypeName": {
            "type": "string",
            "description": "Type of license for the shipment",
            "example": "Licensed"
          },
          "transfer.shipperFacilityLicenseNumber": {
            "type": "string",
            "description": "License number of the shipper's facility",
            "example": "LIC-00002"
          },
          "transfer.shipperFacilityName": {
            "type": "string",
            "description": "Name of the shipper's facility",
            "example": "Sample Manufacturing, Inc."
          },
          "transfer.name": {
            "type": "string",
            "nullable": true,
            "description": "Name of the transfer"
          },
          "transfer.transporterFacilityLicenseNumber": {
            "type": "string",
            "description": "License number of the transporter facility",
            "example": ""
          },
          "transfer.transporterFacilityName": {
            "type": "string",
            "description": "Name of the transporter facility",
            "example": ""
          },
          "transfer.driverName": {
            "type": "string",
            "description": "Name of the driver",
            "example": ""
          },
          "transfer.driverOccupationalLicenseNumber": {
            "type": "string",
            "description": "Occupational license number of the driver",
            "example": ""
          },
          "transfer.driverVehicleLicenseNumber": {
            "type": "string",
            "description": "License number of the vehicle used by the driver",
            "example": ""
          },
          "transfer.vehicleMake": {
            "type": "string",
            "description": "Make of the vehicle used for transport",
            "example": ""
          },
          "transfer.vehicleModel": {
            "type": "string",
            "description": "Model of the vehicle used for transport",
            "example": ""
          },
          "transfer.vehicleLicensePlateNumber": {
            "type": "string",
            "description": "License plate number of the vehicle",
            "example": ""
          },
          "transfer.deliveryFacilities": {
            "type": "string",
            "description": "Details of the delivery facilities",
            "example": "LIC-00001 (Example Dispensary LLC)"
          },
          "transfer.deliveryCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of deliveries in the transfer",
            "example": 1
          },
          "transfer.receivedDeliveryCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of deliveries received",
            "example": 0
          },
          "transfer.packageCount": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of packages in the transfer",
            "example": 8
          },
          "transfer.receivedPackageCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of packages received",
            "example": 0
          },
          "transfer.containsPlantPackage": {
            "type": "boolean",
            "description": "Indicates if the transfer contains plant packages",
            "example": false
          },
          "transfer.containsProductPackage": {
            "type": "boolean",
            "description": "Indicates if the transfer contains product packages",
            "example": true
          },
          "transfer.containsTradeSample": {
            "type": "boolean",
            "description": "Indicates if the transfer contains trade samples",
            "example": false
          },
          "transfer.containsDonation": {
            "type": "boolean",
            "description": "Indicates if the transfer contains donations",
            "example": false
          },
          "transfer.containsTestingSample": {
            "type": "boolean",
            "description": "Indicates if the transfer contains testing samples",
            "example": false
          },
          "transfer.containsProductRequiresRemediation": {
            "type": "boolean",
            "description": "Indicates if the transfer contains products that require remediation",
            "example": false
          },
          "transfer.containsRemediatedProductPackage": {
            "type": "boolean",
            "description": "Indicates if the transfer contains remediated product packages",
            "example": false
          },
          "transfer.editCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of times the transfer record has been edited",
            "example": 1
          },
          "transfer.canEdit": {
            "type": "boolean",
            "description": "Indicates if the transfer record can be edited",
            "example": true
          },
          "transfer.canEditOutgoingInactive": {
            "type": "boolean",
            "description": "Indicates if the transfer record can be edited when outgoing and inactive",
            "example": false
          },
          "transfer.isVoided": {
            "type": "boolean",
            "description": "Indicates if the transfer has been voided",
            "example": false
          },
          "transfer.createdDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the transfer was created",
            "example": "2024-07-25T13:00:00+00:00"
          },
          "transfer.createdByUserName": {
            "type": "string",
            "description": "Username of the person who created the transfer record",
            "example": "Jane Doe"
          },
          "transfer.lastModified": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the transfer was last modified",
            "example": "2024-07-25T00:00:00+00:00"
          },
          "transfer.deliveryId": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for the delivery associated with the transfer",
            "example": 1234566
          },
          "transfer.recipientFacilityId": {
            "type": "integer",
            "format": "int32",
            "description": "The ID of the recipient facility.",
            "example": 456
          },
          "transfer.recipientFacilityLicenseNumber": {
            "type": "string",
            "description": "License number of the recipient facility",
            "example": "LIC-00001"
          },
          "transfer.recipientFacilityName": {
            "type": "string",
            "description": "Name of the recipient facility",
            "example": "Example Dispensary LLC"
          },
          "transfer.shipmentTypeName": {
            "type": "string",
            "description": "Type of shipment",
            "example": "Unaffiliated Transfer"
          },
          "transfer.shipmentTransactionTypeName": {
            "type": "string",
            "description": "Type of shipment transaction",
            "example": "Wholesale"
          },
          "transfer.estimatedDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "Estimated date and time of departure",
            "example": "2024-07-26T06:00:00.000"
          },
          "transfer.actualDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Actual date and time of departure"
          },
          "transfer.estimatedArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "Estimated date and time of arrival",
            "example": "2024-07-26T17:00:00.000"
          },
          "transfer.actualArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Actual date and time of arrival"
          },
          "transfer.deliveryPackageCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of packages in the delivery",
            "example": 8
          },
          "transfer.deliveryReceivedPackageCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of packages received in the delivery",
            "example": 0
          },
          "transfer.receivedByName": {
            "type": "string",
            "nullable": true,
            "description": "Name of the person who received the delivery"
          },
          "transfer.receivedDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date and time when the delivery was received"
          },
          "transfer.estimatedReturnDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Estimated date and time of return departure"
          },
          "transfer.actualReturnDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Actual date and time of return departure"
          },
          "transfer.estimatedReturnArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Estimated date and time of return arrival"
          },
          "transfer.actualReturnArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Actual date and time of return arrival"
          },
          "transfer.rejectedPackagesReturned": {
            "type": "boolean",
            "description": "Indicates if rejected packages were returned",
            "example": false
          },
          "transfer.transporterAllApprovalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time when all transporters were approved",
            "example": "2024-07-25T13:00:00+00:00"
          },
          "transfer.destinationsAllApprovalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time when all destinations were approved",
            "example": "2024-07-25T13:00:00+00:00"
          },
          "transfer.transportersAutomaticallyApproved": {
            "type": "boolean",
            "description": "Indicates if transporters were automatically approved",
            "example": true
          },
          "transfer.destinationsAutomaticallyApproved": {
            "type": "boolean",
            "description": "Indicates if destinations were automatically approved",
            "example": true
          },
          "transfer.approvalRejectDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date and time when the approval was rejected"
          },
          "transfer.approvalRejectedByUser": {
            "type": "string",
            "description": "Username of the person who rejected the approval",
            "example": "Jane Doe"
          },
          "transfer.approvalRejectedFacilityLicenseNumber": {
            "type": "string",
            "nullable": true,
            "description": "License number of the facility where approval was rejected"
          },
          "transfer.approvalRejectReasonId": {
            "type": "string",
            "nullable": true,
            "description": "Reason ID for the approval rejection"
          },
          "transfer.tollingAgreementFileSystemId": {
            "type": "number",
            "example": 0
          },
          "transfer.invoiceNumber": {
            "type": "string",
            "example": ""
          },
          "transporter.dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "transporter.retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "transporter.licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "transporter.transporterFacilityLicenseNumber": {
            "type": "string",
            "description": "The license number of the transporter's facility.",
            "example": "LIC-00001"
          },
          "transporter.transporterFacilityName": {
            "type": "string",
            "description": "The name of the transporter's facility.",
            "example": "Example Dispensary LLC"
          },
          "transporter.transporterDirectionName": {
            "type": "string",
            "enum": [
              "Outbound"
            ],
            "description": "The direction of the transporter.",
            "example": "Outbound"
          },
          "transporter.transporterApprovalDate": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the transporter was approved.",
            "example": "2024-07-26T13:00:00+00:00"
          },
          "transporter.transporterAutoApproval": {
            "type": "boolean",
            "description": "Indicates if the transporter was automatically approved.",
            "example": true
          },
          "transporter.driverName": {
            "type": "string",
            "description": "The name of the driver.",
            "example": "Jane Doe"
          },
          "transporter.driverOccupationalLicenseNumber": {
            "type": "string",
            "description": "The occupational license number of the driver.",
            "example": "DL123456789"
          },
          "transporter.driverVehicleLicenseNumber": {
            "type": "string",
            "description": "The vehicle license number of the driver.",
            "example": "ABC1234"
          },
          "transporter.driverLayoverLeg": {
            "type": "string",
            "nullable": true,
            "description": "Information about the driver's layover leg."
          },
          "transporter.vehicleMake": {
            "type": "string",
            "description": "The make of the vehicle.",
            "example": "Ford"
          },
          "transporter.vehicleModel": {
            "type": "string",
            "description": "The model of the vehicle.",
            "example": "F-150"
          },
          "transporter.vehicleLicensePlateNumber": {
            "type": "string",
            "description": "The license plate number of the vehicle.",
            "example": "XYZ7890"
          },
          "transporter.acceptedDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date and time when the transporter was accepted.",
            "example": "2024-07-26T13:00:00-05:00"
          },
          "transporter.isLayover": {
            "type": "boolean",
            "description": "Indicates if the transport includes a layover.",
            "example": false
          },
          "transporter.estimatedDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The estimated date and time of departure.",
            "example": "2024-07-26T14:00:00+00:00"
          },
          "transporter.actualDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The actual date and time of departure."
          },
          "transporter.estimatedArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The estimated date and time of arrival.",
            "example": "2024-07-26T15:00:00+00:00"
          },
          "transporter.actualArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The actual date and time of arrival."
          },
          "package.id": {
            "type": "integer",
            "description": "Unique identifier for the item",
            "example": 1234567,
            "nullable": false
          },
          "package.dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "package.retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "package.licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "package.index": {
            "type": "string",
            "description": "Describes the current state of this object at the time it was returned from the API. This cannot be used to sort or filter.",
            "example": "TRANSFERRED_PACKAGE",
            "enum": [
              "TRANSFERRED_PACKAGE"
            ]
          },
          "package.packageId": {
            "type": "integer",
            "description": "Identifier for the package",
            "example": 9876543,
            "nullable": false
          },
          "package.recipientFacilityLicenseNumber": {
            "type": "string",
            "description": "License number of the recipient facility",
            "example": "LIC-00001",
            "nullable": false
          },
          "package.recipientFacilityName": {
            "type": "string",
            "description": "Name of the recipient facility",
            "example": "Example Dispensary LLC",
            "nullable": false
          },
          "package.manifestNumber": {
            "type": "string",
            "description": "Manifest number associated with the shipment",
            "example": "0001234567",
            "nullable": false
          },
          "package.packageLabel": {
            "type": "string",
            "description": "Label of the package",
            "example": "1A4000000000000000000001",
            "nullable": false
          },
          "package.sourceHarvestNames": {
            "type": "string",
            "description": "Names of the source harvests",
            "example": "Blue Dream",
            "nullable": true
          },
          "package.sourcePackageLabels": {
            "type": "string",
            "description": "Labels of the source packages",
            "example": "1A4000000000000000000002",
            "nullable": true
          },
          "package.productName": {
            "type": "string",
            "description": "Name of the product",
            "example": "Blue Dream | 3.5g",
            "nullable": false
          },
          "package.productCategoryName": {
            "type": "string",
            "description": "Category name of the product",
            "example": "Bud/Flower (Final Packaging)",
            "nullable": false
          },
          "package.itemStrainName": {
            "type": "string",
            "description": "Strain name of the item",
            "example": "Blue Dream",
            "nullable": false
          },
          "package.labTestingStateName": {
            "description": "Lab testing status of the item",
            "$ref": "#/components/schemas/LabTestingStates"
          },
          "package.shippedQuantity": {
            "type": "number",
            "description": "Quantity shipped",
            "format": "double",
            "example": 1224.0,
            "nullable": false
          },
          "package.shippedUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Unit of measure for the shipped quantity",
            "example": "g",
            "nullable": false
          },
          "package.grossWeight": {
            "type": "number",
            "description": "Gross weight of the package",
            "format": "double",
            "example": 224.0,
            "nullable": false
          },
          "package.grossUnitOfWeightAbbreviation": {
            "type": "string",
            "description": "Unit of measure for the gross weight",
            "example": "g",
            "nullable": false
          },
          "package.shipperWholesalePrice": {
            "type": "number",
            "description": "Wholesale price from the shipper",
            "format": "double",
            "nullable": true
          },
          "package.receivedQuantity": {
            "type": "number",
            "description": "Quantity received",
            "format": "double",
            "example": 1224.0,
            "nullable": false
          },
          "package.receivedUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Unit of measure for the received quantity",
            "example": "g",
            "nullable": false
          },
          "package.receiverWholesalePrice": {
            "type": "number",
            "description": "Wholesale price to the receiver",
            "format": "double",
            "nullable": true
          },
          "package.shipmentPackageStateName": {
            "type": "string",
            "description": "State of the shipment package",
            "example": "Accepted",
            "enum": [
              "Accepted",
              "Rejected",
              "Pending"
            ],
            "nullable": false
          },
          "package.actualDepartureDateTime": {
            "type": "string",
            "description": "Actual departure date and time",
            "format": "date-time",
            "nullable": true
          },
          "package.receivedDateTime": {
            "type": "string",
            "description": "Date and time when the package was received",
            "format": "date-time",
            "example": "2024-07-26T00:00:00-05:00",
            "nullable": false
          },
          "package.processingJobTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "package.grossUnitOfWeightAbbreviation",
          "package.grossWeight",
          "package.id",
          "package.itemStrainName",
          "package.labTestingStateName",
          "package.manifestNumber",
          "package.packageId",
          "package.packageLabel",
          "package.productCategoryName",
          "package.productName",
          "package.receivedDateTime",
          "package.receivedQuantity",
          "package.receivedUnitOfMeasureAbbreviation",
          "package.recipientFacilityLicenseNumber",
          "package.recipientFacilityName",
          "package.shipmentPackageStateName",
          "package.shippedQuantity",
          "package.shippedUnitOfMeasureAbbreviation"
        ]
      },
      "T3LabelContentData": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "text1": {
            "type": "string",
            "example": "text1"
          },
          "text2": {
            "type": "string",
            "example": "text2"
          },
          "text3": {
            "type": "string",
            "example": "text3"
          },
          "text4": {
            "type": "string",
            "example": "text4"
          },
          "text5": {
            "type": "string",
            "example": "text5"
          },
          "text6": {
            "type": "string",
            "example": "text6"
          },
          "text7": {
            "type": "string",
            "example": "text7"
          },
          "text8": {
            "type": "string",
            "example": "text8"
          }
        }
      },
      "T3LabelContentDataListResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/T3LabelContentData"
            }
          }
        }
      },
      "T3LabelContentLayoutConfig": {
        "type": "object",
        "description": "Data describing how each label will be laid out, including a list of pieces and how they are arranged.",
        "properties": {
          "name": {
            "type": "string"
          },
          "minAspectRatio": {
            "type": "number",
            "format": "float"
          },
          "maxAspectRatio": {
            "type": "number",
            "format": "float"
          },
          "labelContentLayoutElements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/T3LabelContentLayoutElement"
            }
          }
        },
        "required": [
          "labelContentLayoutElements"
        ]
      },
      "T3LabelContentLayoutElement": {
        "type": "object",
        "description": "Describes the bounding rectangle and styling of one piece of a label layout.",
        "properties": {
          "name": {
            "type": "string"
          },
          "elementType": {
            "$ref": "#/components/schemas/T3LabelContentLayoutElementType"
          },
          "xStartFraction": {
            "description": "The left edge of the bounding box for this element, represented as a fraction of the total width of the content layout.",
            "type": "number",
            "format": "float",
            "default": 0
          },
          "xEndFraction": {
            "description": "The right edge of the bounding box for this element, represented as a fraction of the total width of the content layout.",
            "type": "number",
            "format": "float",
            "default": 1
          },
          "yStartFraction": {
            "description": "The bottom edge of the bounding box for this element, represented as a fraction of the total height of the content layout.",
            "type": "number",
            "format": "float",
            "default": 0
          },
          "yEndFraction": {
            "type": "number",
            "format": "float",
            "default": 1
          },
          "valueTemplate": {
            "type": "string",
            "description": "A general purpose template string. This is compiled with Jinja.\n\nValues can be interpolated from the following places:\n- Each \n",
            "nullable": true
          },
          "paragraphFontName": {
            "$ref": "#/components/schemas/T3LabelContentLayoutElementParagraphFontName"
          },
          "paragraphFontSize": {
            "type": "number",
            "format": "float",
            "default": 6
          },
          "horizontalParagraphAlignment": {
            "type": "string",
            "enum": [
              "LEFT",
              "CENTER",
              "RIGHT"
            ],
            "default": "CENTER"
          },
          "verticalParagraphAlignment": {
            "type": "string",
            "enum": [
              "TOP",
              "CENTER",
              "BOTTOM"
            ],
            "default": "CENTER"
          },
          "paragraphSpacing": {
            "type": "number",
            "format": "float",
            "default": 6
          },
          "enabled": {
            "type": "boolean",
            "default": true
          },
          "paragraphTextResizeStrategy": {
            "$ref": "#/components/schemas/T3LabelContentLayoutElementTextResizeStrategy"
          },
          "boxStrokeColor": {
            "description": "Hex color string for the box stroke.",
            "type": "string",
            "default": "#000000"
          },
          "boxStrokeWidth": {
            "description": "Width of the box stroke in points.",
            "type": "number",
            "format": "float",
            "default": 0.5
          },
          "boxStrokeAlpha": {
            "description": "Opacity of the box stroke (0.0 to 1.0).",
            "type": "number",
            "format": "float",
            "default": 1.0
          },
          "boxBackgroundColor": {
            "description": "Hex color string for the box background fill. Omit to disable fill.",
            "type": "string"
          },
          "boxBackgroundAlpha": {
            "description": "Opacity of the box background fill (0.0 to 1.0).",
            "type": "number",
            "format": "float",
            "default": 1.0
          }
        },
        "required": [
          "elementType"
        ]
      },
      "T3LabelContentLayoutElementParagraphFontName": {
        "type": "string",
        "enum": [
          "Times-Roman",
          "Times-Bold",
          "Times-Italic",
          "Times-BoldItalic",
          "Helvetica",
          "Helvetica-Bold",
          "Helvetica-Oblique",
          "Helvetica-BoldOblique",
          "Courier",
          "Courier-Bold",
          "Courier-Oblique",
          "Courier-BoldOblique",
          "Symbol",
          "ZapfDingbats"
        ],
        "default": "Helvetica"
      },
      "T3LabelContentLayoutElementTextResizeStrategy": {
        "type": "string",
        "enum": [
          "ALLOW_OVERFLOW",
          "TRUNCATE_TEXT",
          "SHRINK_TEXT"
        ]
      },
      "T3LabelContentLayoutElementType": {
        "type": "string",
        "enum": [
          "TEXT",
          "CODE128_BARCODE",
          "CODE39_BARCODE",
          "QR_CODE",
          "IMAGE",
          "BOX",
          "TABLE"
        ]
      },
      "T3LabelContentLayoutsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "labelContentLayoutId": {
                  "type": "string",
                  "example": "COL_CODE128_TEXT"
                },
                "labelContentLayoutConfig": {
                  "$ref": "#/components/schemas/T3LabelContentLayoutConfig"
                },
                "description": {
                  "type": "string",
                  "example": "Code128 barcode, with text below"
                },
                "allowedFacilities": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "nullable": true,
                  "example": [
                    "LIC-00001",
                    "LIC-00002"
                  ]
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "example": [
                    "barcode",
                    "thermal"
                  ]
                },
                "publicId": {
                  "type": "string",
                  "format": "uuid",
                  "example": "550e8400-e29b-41d4-a716-446655440000"
                },
                "isArchived": {
                  "type": "boolean",
                  "example": false
                }
              }
            }
          }
        }
      },
      "T3LabelRenderingOptions": {
        "type": "object",
        "description": "Options for controlling how 1D barcodes will render.",
        "additionalProperties": false,
        "properties": {
          "debug": {
            "type": "boolean",
            "description": "When set to `true`, the generated label will draw boxes around\nall the content elements. This is used to troubleshoot how elements\nare laid out on a label.\n",
            "default": false
          },
          "enableWatermark": {
            "type": "boolean",
            "description": "When set to `true`, the generated label will have a watermark applied.\nWatermarked label requests do not count towards monthly subscription limits.\n",
            "default": false
          },
          "reversePrintOrder": {
            "type": "boolean",
            "description": "When set to `true`, the labels will be laid out in the PDF in reverse order.\nThis is used when the printed labels are coming off a spool, and you want\nthe top-to-bottom order to match the PDF.\n",
            "default": false
          },
          "rotationDegrees": {
            "type": "number",
            "enum": [
              0,
              90
            ],
            "description": "Used to rotate the label content. A value of 0 means no rotation. \nA value of 90 will rotate the label clockwise by 90 degrees.\n",
            "example": 0,
            "default": 0
          },
          "labelCopies": {
            "type": "integer",
            "minimum": 1,
            "description": "Number of copies to generate for each label. Must be at least 1.\n",
            "example": 1,
            "default": 1
          },
          "barcodeBarThickness": {
            "type": "number",
            "format": "float",
            "description": "Controls how thick a barcode's bars will appear. Useful for\nlow-DPI thermal printers.\n\n- 1.0 is normal rendering.  - 0.9 is 10% thinner - 1.1 is 10% thicker\n",
            "example": 1.0,
            "default": 1.0
          },
          "labelMarginThickness": {
            "type": "number",
            "format": "float",
            "description": "Controls width of a label''s margins. Useful for thermal printers\nwith slighly skewed printing.\n\n- 1.0 is normal margin.  - 0.9 is 10% thinner - 1.1 is 10% thicker\n",
            "example": 1.0,
            "default": 1.0
          },
          "renderingVersion": {
            "type": "number",
            "format": "integer",
            "enum": [
              1,
              2
            ],
            "description": "Controls rendering path for labels. \n",
            "example": 1,
            "default": 1
          }
        }
      },
      "T3LabelTemplateLayoutConfig": {
        "type": "object",
        "description": "Describes the label layout on a printed medium.\nCapable of supporting any rectangular printable medium, with an arbitrarily sized grid of labels.\nAssumes that multiple labels are arranged in a centered grid, and arranged with even spacing.\nNOTE: y-coordinates are inverted.\n",
        "properties": {
          "name": {
            "type": "string"
          },
          "pagesizeXIn": {
            "type": "number",
            "format": "float"
          },
          "pagesizeYIn": {
            "type": "number",
            "format": "float"
          },
          "labelWidthIn": {
            "type": "number",
            "format": "float"
          },
          "labelHeightIn": {
            "type": "number",
            "format": "float"
          },
          "xGapIn": {
            "type": "number",
            "format": "float"
          },
          "yGapIn": {
            "type": "number",
            "format": "float"
          },
          "numColumns": {
            "type": "integer"
          },
          "numRows": {
            "type": "integer"
          },
          "pageMarginTopIn": {
            "type": "number",
            "format": "float"
          },
          "pageMarginLeftIn": {
            "type": "number",
            "format": "float"
          },
          "labelPaddingXIn": {
            "type": "number",
            "format": "float"
          },
          "labelPaddingYIn": {
            "type": "number",
            "format": "float"
          }
        }
      },
      "T3LabelTemplateLayoutsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "labelTemplateLayoutId": {
                  "type": "string",
                  "example": "AVERY_8160__2_625Wx1_0H"
                },
                "labelTemplateLayoutConfig": {
                  "$ref": "#/components/schemas/T3LabelTemplateLayoutConfig"
                },
                "description": {
                  "type": "string",
                  "example": "8.5\"x11\" sheet of Avery 8160 labels (2.625\"x1\")"
                },
                "allowedFacilities": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "nullable": true,
                  "example": [
                    "LIC-00001",
                    "LIC-00002"
                  ]
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "example": [
                    "thermal",
                    "4x6"
                  ]
                },
                "publicId": {
                  "type": "string",
                  "format": "uuid",
                  "example": "550e8400-e29b-41d4-a716-446655440000"
                },
                "isArchived": {
                  "type": "boolean",
                  "example": false
                }
              }
            }
          }
        }
      },
      "T3OutgoingTransferManifest": {
        "type": "object",
        "properties": {
          "transfer.dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "transfer.retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "transfer.licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "transfer.index": {
            "type": "string",
            "description": "Describes the current state of this object at the time it was returned from the API. This cannot be used to sort or filter.",
            "example": "ACTIVE_OUTGOING_TRANSFER",
            "enum": [
              "ACTIVE_OUTGOING_TRANSFER",
              "INACTIVE_OUTGOING_TRANSFER",
              "REJECTED_TRANSFER"
            ]
          },
          "transfer.id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for the transfer",
            "example": 1234567
          },
          "transfer.manifestNumber": {
            "type": "string",
            "description": "Unique manifest number associated with the transfer",
            "example": "0001234567"
          },
          "transfer.shipmentLicenseTypeName": {
            "type": "string",
            "description": "Type of license for the shipment",
            "example": "Licensed"
          },
          "transfer.shipperFacilityLicenseNumber": {
            "type": "string",
            "description": "License number of the shipper's facility",
            "example": "LIC-00002"
          },
          "transfer.shipperFacilityName": {
            "type": "string",
            "description": "Name of the shipper's facility",
            "example": "Sample Manufacturing, Inc."
          },
          "transfer.name": {
            "type": "string",
            "nullable": true,
            "description": "Name of the transfer"
          },
          "transfer.transporterFacilityLicenseNumber": {
            "type": "string",
            "description": "License number of the transporter facility",
            "example": ""
          },
          "transfer.transporterFacilityName": {
            "type": "string",
            "description": "Name of the transporter facility",
            "example": ""
          },
          "transfer.driverName": {
            "type": "string",
            "description": "Name of the driver",
            "example": ""
          },
          "transfer.driverOccupationalLicenseNumber": {
            "type": "string",
            "description": "Occupational license number of the driver",
            "example": ""
          },
          "transfer.driverVehicleLicenseNumber": {
            "type": "string",
            "description": "License number of the vehicle used by the driver",
            "example": ""
          },
          "transfer.vehicleMake": {
            "type": "string",
            "description": "Make of the vehicle used for transport",
            "example": ""
          },
          "transfer.vehicleModel": {
            "type": "string",
            "description": "Model of the vehicle used for transport",
            "example": ""
          },
          "transfer.vehicleLicensePlateNumber": {
            "type": "string",
            "description": "License plate number of the vehicle",
            "example": ""
          },
          "transfer.deliveryFacilities": {
            "type": "string",
            "description": "Details of the delivery facilities",
            "example": "LIC-00001 (Example Dispensary LLC)"
          },
          "transfer.deliveryCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of deliveries in the transfer",
            "example": 1
          },
          "transfer.receivedDeliveryCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of deliveries received",
            "example": 0
          },
          "transfer.packageCount": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of packages in the transfer",
            "example": 8
          },
          "transfer.receivedPackageCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of packages received",
            "example": 0
          },
          "transfer.containsPlantPackage": {
            "type": "boolean",
            "description": "Indicates if the transfer contains plant packages",
            "example": false
          },
          "transfer.containsProductPackage": {
            "type": "boolean",
            "description": "Indicates if the transfer contains product packages",
            "example": true
          },
          "transfer.containsTradeSample": {
            "type": "boolean",
            "description": "Indicates if the transfer contains trade samples",
            "example": false
          },
          "transfer.containsDonation": {
            "type": "boolean",
            "description": "Indicates if the transfer contains donations",
            "example": false
          },
          "transfer.containsTestingSample": {
            "type": "boolean",
            "description": "Indicates if the transfer contains testing samples",
            "example": false
          },
          "transfer.containsProductRequiresRemediation": {
            "type": "boolean",
            "description": "Indicates if the transfer contains products that require remediation",
            "example": false
          },
          "transfer.containsRemediatedProductPackage": {
            "type": "boolean",
            "description": "Indicates if the transfer contains remediated product packages",
            "example": false
          },
          "transfer.editCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of times the transfer record has been edited",
            "example": 1
          },
          "transfer.canEdit": {
            "type": "boolean",
            "description": "Indicates if the transfer record can be edited",
            "example": true
          },
          "transfer.canEditOutgoingInactive": {
            "type": "boolean",
            "description": "Indicates if the transfer record can be edited when outgoing and inactive",
            "example": false
          },
          "transfer.isVoided": {
            "type": "boolean",
            "description": "Indicates if the transfer has been voided",
            "example": false
          },
          "transfer.createdDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the transfer was created",
            "example": "2024-07-25T13:00:00+00:00"
          },
          "transfer.createdByUserName": {
            "type": "string",
            "description": "Username of the person who created the transfer record",
            "example": "Jane Doe"
          },
          "transfer.lastModified": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the transfer was last modified",
            "example": "2024-07-25T00:00:00+00:00"
          },
          "transfer.deliveryId": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for the delivery associated with the transfer",
            "example": 1234566
          },
          "transfer.recipientFacilityId": {
            "type": "integer",
            "format": "int32",
            "description": "The ID of the recipient facility.",
            "example": 456
          },
          "transfer.recipientFacilityLicenseNumber": {
            "type": "string",
            "description": "License number of the recipient facility",
            "example": "LIC-00001"
          },
          "transfer.recipientFacilityName": {
            "type": "string",
            "description": "Name of the recipient facility",
            "example": "Example Dispensary LLC"
          },
          "transfer.shipmentTypeName": {
            "type": "string",
            "description": "Type of shipment",
            "example": "Unaffiliated Transfer"
          },
          "transfer.shipmentTransactionTypeName": {
            "type": "string",
            "description": "Type of shipment transaction",
            "example": "Wholesale"
          },
          "transfer.estimatedDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "Estimated date and time of departure",
            "example": "2024-07-26T06:00:00.000"
          },
          "transfer.actualDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Actual date and time of departure"
          },
          "transfer.estimatedArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "Estimated date and time of arrival",
            "example": "2024-07-26T17:00:00.000"
          },
          "transfer.actualArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Actual date and time of arrival"
          },
          "transfer.deliveryPackageCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of packages in the delivery",
            "example": 8
          },
          "transfer.deliveryReceivedPackageCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of packages received in the delivery",
            "example": 0
          },
          "transfer.receivedByName": {
            "type": "string",
            "nullable": true,
            "description": "Name of the person who received the delivery"
          },
          "transfer.receivedDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date and time when the delivery was received"
          },
          "transfer.estimatedReturnDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Estimated date and time of return departure"
          },
          "transfer.actualReturnDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Actual date and time of return departure"
          },
          "transfer.estimatedReturnArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Estimated date and time of return arrival"
          },
          "transfer.actualReturnArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Actual date and time of return arrival"
          },
          "transfer.rejectedPackagesReturned": {
            "type": "boolean",
            "description": "Indicates if rejected packages were returned",
            "example": false
          },
          "transfer.transporterAllApprovalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time when all transporters were approved",
            "example": "2024-07-25T13:00:00+00:00"
          },
          "transfer.destinationsAllApprovalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time when all destinations were approved",
            "example": "2024-07-25T13:00:00+00:00"
          },
          "transfer.transportersAutomaticallyApproved": {
            "type": "boolean",
            "description": "Indicates if transporters were automatically approved",
            "example": true
          },
          "transfer.destinationsAutomaticallyApproved": {
            "type": "boolean",
            "description": "Indicates if destinations were automatically approved",
            "example": true
          },
          "transfer.approvalRejectDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date and time when the approval was rejected"
          },
          "transfer.approvalRejectedByUser": {
            "type": "string",
            "description": "Username of the person who rejected the approval",
            "example": "Jane Doe"
          },
          "transfer.approvalRejectedFacilityLicenseNumber": {
            "type": "string",
            "nullable": true,
            "description": "License number of the facility where approval was rejected"
          },
          "transfer.approvalRejectReasonId": {
            "type": "string",
            "nullable": true,
            "description": "Reason ID for the approval rejection"
          },
          "transfer.tollingAgreementFileSystemId": {
            "type": "number",
            "example": 0
          },
          "transfer.invoiceNumber": {
            "type": "string",
            "example": ""
          },
          "transporter.dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "transporter.retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "transporter.licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "transporter.transporterFacilityLicenseNumber": {
            "type": "string",
            "description": "The license number of the transporter's facility.",
            "example": "LIC-00001"
          },
          "transporter.transporterFacilityName": {
            "type": "string",
            "description": "The name of the transporter's facility.",
            "example": "Example Dispensary LLC"
          },
          "transporter.transporterDirectionName": {
            "type": "string",
            "enum": [
              "Outbound"
            ],
            "description": "The direction of the transporter.",
            "example": "Outbound"
          },
          "transporter.transporterApprovalDate": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the transporter was approved.",
            "example": "2024-07-26T13:00:00+00:00"
          },
          "transporter.transporterAutoApproval": {
            "type": "boolean",
            "description": "Indicates if the transporter was automatically approved.",
            "example": true
          },
          "transporter.driverName": {
            "type": "string",
            "description": "The name of the driver.",
            "example": "Jane Doe"
          },
          "transporter.driverOccupationalLicenseNumber": {
            "type": "string",
            "description": "The occupational license number of the driver.",
            "example": "DL123456789"
          },
          "transporter.driverVehicleLicenseNumber": {
            "type": "string",
            "description": "The vehicle license number of the driver.",
            "example": "ABC1234"
          },
          "transporter.driverLayoverLeg": {
            "type": "string",
            "nullable": true,
            "description": "Information about the driver's layover leg."
          },
          "transporter.vehicleMake": {
            "type": "string",
            "description": "The make of the vehicle.",
            "example": "Ford"
          },
          "transporter.vehicleModel": {
            "type": "string",
            "description": "The model of the vehicle.",
            "example": "F-150"
          },
          "transporter.vehicleLicensePlateNumber": {
            "type": "string",
            "description": "The license plate number of the vehicle.",
            "example": "XYZ7890"
          },
          "transporter.acceptedDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date and time when the transporter was accepted.",
            "example": "2024-07-26T13:00:00-05:00"
          },
          "transporter.isLayover": {
            "type": "boolean",
            "description": "Indicates if the transport includes a layover.",
            "example": false
          },
          "transporter.estimatedDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The estimated date and time of departure.",
            "example": "2024-07-26T14:00:00+00:00"
          },
          "transporter.actualDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The actual date and time of departure."
          },
          "transporter.estimatedArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The estimated date and time of arrival.",
            "example": "2024-07-26T15:00:00+00:00"
          },
          "transporter.actualArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The actual date and time of arrival."
          },
          "transporterDetails.dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "transporterDetails.retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "transporterDetails.licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "transporterDetails.shipmentPlanId": {
            "type": "integer",
            "example": 12345,
            "description": "Unique identifier for the shipment plan."
          },
          "transporterDetails.shipmentDeliveryId": {
            "type": "integer",
            "example": 67890,
            "description": "Unique identifier for the shipment delivery."
          },
          "transporterDetails.transporterDirection": {
            "type": "string",
            "enum": [
              "Outbound"
            ],
            "example": "Outbound",
            "description": "Direction of the transporter."
          },
          "transporterDetails.transporterFacilityId": {
            "type": "integer",
            "example": 54321,
            "description": "Unique identifier for the transporter facility."
          },
          "transporterDetails.lineNumber": {
            "type": "integer",
            "example": 1,
            "description": "Line number in the shipment details."
          },
          "transporterDetails.driverName": {
            "type": "string",
            "example": "Jane Doe",
            "description": "Name of the driver."
          },
          "transporterDetails.driverOccupationalLicenseNumber": {
            "type": "string",
            "example": "AB1234567",
            "description": "Occupational license number of the driver."
          },
          "transporterDetails.driverVehicleLicenseNumber": {
            "type": "string",
            "example": "XYZ987654",
            "description": "Vehicle license number of the driver."
          },
          "transporterDetails.driverLayoverLeg": {
            "type": "string",
            "nullable": true,
            "example": "Leg1",
            "description": "Layover leg details for the driver, if applicable."
          },
          "transporterDetails.vehicleMake": {
            "type": "string",
            "example": "Ford",
            "description": "Make of the vehicle."
          },
          "transporterDetails.vehicleModel": {
            "type": "string",
            "example": "Transit",
            "description": "Model of the vehicle."
          },
          "transporterDetails.vehicleLicensePlateNumber": {
            "type": "string",
            "example": "XYZ-1234",
            "description": "License plate number of the vehicle."
          },
          "transporterDetails.actualDriverStartDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "example": "2024-07-26T08:30:00Z",
            "description": "Actual start date and time for the driver."
          },
          "transporterDetails.isVoided": {
            "type": "boolean",
            "example": false,
            "description": "Indicates if the record is voided."
          },
          "transporterDetails.receivedDateTime": {
            "type": "string",
            "format": "date-time",
            "example": "2024-07-25T18:47:20+00:00",
            "description": "The date and time when the shipment was received."
          },
          "transporterDetails.receivedDeliveryCount": {
            "type": "integer",
            "example": 1,
            "description": "The number of deliveries received."
          },
          "delivery.id": {
            "type": "number",
            "description": "The transfer delivery ID",
            "example": 12345
          },
          "delivery.dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "delivery.retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "delivery.licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "delivery.actualArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The actual arrival date and time."
          },
          "delivery.actualDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The actual departure date and time."
          },
          "delivery.actualReturnArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The actual return arrival date and time."
          },
          "delivery.actualReturnDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The actual return departure date and time."
          },
          "delivery.deliveryPackageCount": {
            "type": "integer",
            "format": "int32",
            "description": "The number of packages delivered.",
            "example": 5
          },
          "delivery.deliveryReceivedPackageCount": {
            "type": "integer",
            "format": "int32",
            "description": "The number of packages received.",
            "example": 4
          },
          "delivery.estimatedArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "The estimated arrival date and time.",
            "example": "2024-07-25T15:30:00Z"
          },
          "delivery.estimatedDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "The estimated departure date and time.",
            "example": "2024-07-25T13:30:00Z"
          },
          "delivery.estimatedReturnArrivalDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The estimated return arrival date and time."
          },
          "delivery.estimatedReturnDepartureDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The estimated return departure date and time."
          },
          "delivery.grossUnitOfWeightAbbreviation": {
            "type": "string",
            "nullable": true,
            "description": "The abbreviation for the unit of gross weight.",
            "example": "kg"
          },
          "delivery.grossUnitOfWeightId": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "The ID for the unit of gross weight.",
            "example": 1
          },
          "delivery.grossWeight": {
            "type": "number",
            "format": "float",
            "nullable": true,
            "description": "The gross weight.",
            "example": 100.5
          },
          "delivery.plannedRoute": {
            "type": "string",
            "description": "The planned route for the transfer.",
            "example": "Route A"
          },
          "delivery.receivedByName": {
            "type": "string",
            "nullable": true,
            "description": "The name of the person who received the shipment."
          },
          "delivery.receivedDateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date and time when the shipment was received."
          },
          "delivery.recipientFacilityId": {
            "type": "integer",
            "format": "int32",
            "description": "The ID of the recipient facility.",
            "example": 456
          },
          "delivery.recipientFacilityLicenseNumber": {
            "type": "string",
            "description": "The license number of the recipient facility.",
            "example": "AB12345"
          },
          "delivery.recipientFacilityName": {
            "type": "string",
            "description": "The name of the recipient facility.",
            "example": "Facility A"
          },
          "delivery.rejectedPackagesReturned": {
            "type": "boolean",
            "description": "Indicates whether rejected packages were returned.",
            "example": false
          },
          "delivery.shipmentTransactionTypeName": {
            "type": "string",
            "description": "The name of the shipment transaction type.",
            "example": "Regular"
          },
          "delivery.shipmentTypeName": {
            "type": "string",
            "description": "The name of the shipment type.",
            "example": "Transfer",
            "enum": [
              "Transfer"
            ]
          },
          "delivery.recipientApprovalDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date and time when the recipient approved the shipment upon receipt."
          },
          "delivery.recipientAutoApproval": {
            "type": "boolean",
            "description": "Indicates whether the recipient's approval of the shipment is automatically granted, typically when there are no issues with the received packages.",
            "example": false
          },
          "delivery.tollingAgreementFileSystemId": {
            "type": "number",
            "example": 0
          },
          "delivery.invoiceNumber": {
            "type": "string",
            "example": ""
          },
          "package.id": {
            "type": "integer",
            "description": "Unique identifier for the item",
            "example": 1234567,
            "nullable": false
          },
          "package.dataModel": {
            "type": "string",
            "description": "Name of this object's data model",
            "example": "MetrcPackage"
          },
          "package.retrievedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when this object was pulled from Metrc"
          },
          "package.licenseNumber": {
            "type": "string",
            "description": "License number used to access this object"
          },
          "package.index": {
            "type": "string",
            "description": "Describes the current state of this object at the time it was returned from the API. This cannot be used to sort or filter.",
            "example": "TRANSFERRED_PACKAGE",
            "enum": [
              "TRANSFERRED_PACKAGE"
            ]
          },
          "package.packageId": {
            "type": "integer",
            "description": "Identifier for the package",
            "example": 9876543,
            "nullable": false
          },
          "package.recipientFacilityLicenseNumber": {
            "type": "string",
            "description": "License number of the recipient facility",
            "example": "LIC-00001",
            "nullable": false
          },
          "package.recipientFacilityName": {
            "type": "string",
            "description": "Name of the recipient facility",
            "example": "Example Dispensary LLC",
            "nullable": false
          },
          "package.manifestNumber": {
            "type": "string",
            "description": "Manifest number associated with the shipment",
            "example": "0001234567",
            "nullable": false
          },
          "package.packageLabel": {
            "type": "string",
            "description": "Label of the package",
            "example": "1A4000000000000000000001",
            "nullable": false
          },
          "package.sourceHarvestNames": {
            "type": "string",
            "description": "Names of the source harvests",
            "example": "Blue Dream",
            "nullable": true
          },
          "package.sourcePackageLabels": {
            "type": "string",
            "description": "Labels of the source packages",
            "example": "1A4000000000000000000002",
            "nullable": true
          },
          "package.productName": {
            "type": "string",
            "description": "Name of the product",
            "example": "Blue Dream | 3.5g",
            "nullable": false
          },
          "package.productCategoryName": {
            "type": "string",
            "description": "Category name of the product",
            "example": "Bud/Flower (Final Packaging)",
            "nullable": false
          },
          "package.itemStrainName": {
            "type": "string",
            "description": "Strain name of the item",
            "example": "Blue Dream",
            "nullable": false
          },
          "package.labTestingStateName": {
            "description": "Lab testing status of the item",
            "$ref": "#/components/schemas/LabTestingStates"
          },
          "package.shippedQuantity": {
            "type": "number",
            "description": "Quantity shipped",
            "format": "double",
            "example": 1224.0,
            "nullable": false
          },
          "package.shippedUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Unit of measure for the shipped quantity",
            "example": "g",
            "nullable": false
          },
          "package.grossWeight": {
            "type": "number",
            "description": "Gross weight of the package",
            "format": "double",
            "example": 224.0,
            "nullable": false
          },
          "package.grossUnitOfWeightAbbreviation": {
            "type": "string",
            "description": "Unit of measure for the gross weight",
            "example": "g",
            "nullable": false
          },
          "package.shipperWholesalePrice": {
            "type": "number",
            "description": "Wholesale price from the shipper",
            "format": "double",
            "nullable": true
          },
          "package.receivedQuantity": {
            "type": "number",
            "description": "Quantity received",
            "format": "double",
            "example": 1224.0,
            "nullable": false
          },
          "package.receivedUnitOfMeasureAbbreviation": {
            "type": "string",
            "description": "Unit of measure for the received quantity",
            "example": "g",
            "nullable": false
          },
          "package.receiverWholesalePrice": {
            "type": "number",
            "description": "Wholesale price to the receiver",
            "format": "double",
            "nullable": true
          },
          "package.shipmentPackageStateName": {
            "type": "string",
            "description": "State of the shipment package",
            "example": "Accepted",
            "enum": [
              "Accepted",
              "Rejected",
              "Pending"
            ],
            "nullable": false
          },
          "package.actualDepartureDateTime": {
            "type": "string",
            "description": "Actual departure date and time",
            "format": "date-time",
            "nullable": true
          },
          "package.receivedDateTime": {
            "type": "string",
            "description": "Date and time when the package was received",
            "format": "date-time",
            "example": "2024-07-26T00:00:00-05:00",
            "nullable": false
          },
          "package.processingJobTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "package.grossUnitOfWeightAbbreviation",
          "package.grossWeight",
          "package.id",
          "package.itemStrainName",
          "package.labTestingStateName",
          "package.manifestNumber",
          "package.packageId",
          "package.packageLabel",
          "package.productCategoryName",
          "package.productName",
          "package.receivedDateTime",
          "package.receivedQuantity",
          "package.receivedUnitOfMeasureAbbreviation",
          "package.recipientFacilityLicenseNumber",
          "package.recipientFacilityName",
          "package.shipmentPackageStateName",
          "package.shippedQuantity",
          "package.shippedUnitOfMeasureAbbreviation"
        ]
      },
      "T3PackageLabelsPayload": {
        "type": "object",
        "properties": {
          "labelTemplateLayoutId": {
            "type": "string",
            "description": "The identifier for the label template configuration",
            "example": "AVERY_8160__2_625Wx1_0H"
          },
          "labelContentLayoutId": {
            "type": "string",
            "description": "The identifier for the label content configuration.",
            "example": "COL_TEXT_CODE128_TEXT"
          },
          "data": {
            "type": "array",
            "description": "An array of tags",
            "example": [
              "1A4000000000000000000001",
              "1A4000000000000000000002",
              "1A4000000000000000000003",
              "1A4000000000000000000004",
              "1A4000000000000000000005",
              "1A4000000000000000000006"
            ],
            "items": {
              "type": "string"
            }
          },
          "renderingOptions": {
            "type": "object",
            "description": "Options for controlling how the barcode will render.",
            "additionalProperties": false,
            "properties": {
              "barcodeBarThickness": {
                "description": "Controls how thick a barcode's bars will appear. Useful for low-DPI thermal printers.\nTested values: - Zebra printers with a Code128 should use 0.94 - Dymo printers with a Code128 should use 0.8\n- 1.0 is normal rendering.  - 0.9 is 10% thinner - 1.1 is 10% thicker",
                "example": 1.0
              },
              "labelMarginThickness": {
                "description": "Controls width of a label's margins. Useful for thermal printers with slighly skewed printing.\n- 1.0 is normal margin.  - 0.9 is 10% thinner - 1.1 is 10% thicker",
                "example": 1.0
              }
            }
          },
          "debug": {
            "type": "boolean",
            "description": "When set to true, draws bounding boxes around the label containers, the printable area, and the individual elements per label."
          }
        },
        "required": [
          "labelTemplateLayoutId",
          "labelContentLayoutId",
          "data"
        ],
        "additionalProperties": false
      },
      "T3PackageLabelsPayload_DEPRECATED": {
        "type": "object",
        "properties": {
          "labelTemplateLayoutId": {
            "type": "string",
            "description": "The identifier for the label template configuration",
            "example": "AVERY_8160__2_625Wx1_0H"
          },
          "labelContentLayoutId": {
            "type": "string",
            "description": "The identifier for the label content configuration.",
            "example": "COL_TEXT_CODE128_TEXT"
          },
          "data": {
            "type": "array",
            "description": "An array of tags",
            "example": [
              "1A4000000000000000000001",
              "1A4000000000000000000002",
              "1A4000000000000000000003",
              "1A4000000000000000000004",
              "1A4000000000000000000005",
              "1A4000000000000000000006"
            ],
            "items": {
              "type": "string"
            }
          },
          "renderingOptions": {
            "type": "object",
            "description": "Options for controlling how the barcode will render.",
            "additionalProperties": false,
            "properties": {
              "barcodeBarThickness": {
                "description": "Controls how thick a barcode's bars will appear. Useful for low-DPI thermal printers.\nTested values: - Zebra printers with a Code128 should use 0.94 - Dymo printers with a Code128 should use 0.8\n- 1.0 is normal rendering.  - 0.9 is 10% thinner - 1.1 is 10% thicker",
                "example": 1.0
              },
              "labelMarginThickness": {
                "description": "Controls width of a label's margins. Useful for thermal printers with slighly skewed printing.\n- 1.0 is normal margin.  - 0.9 is 10% thinner - 1.1 is 10% thicker",
                "example": 1.0
              }
            }
          },
          "debug": {
            "type": "boolean",
            "description": "When set to true, draws bounding boxes around the label containers, the printable area, and the individual elements per label."
          }
        },
        "required": [
          "labelTemplateLayoutId",
          "labelContentLayoutId",
          "data"
        ],
        "additionalProperties": false
      },
      "T3TagListPayload": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "description": "An array of tags",
            "example": [
              "1A4000000000000000000001",
              "1A4000000000000000000002",
              "1A4000000000000000000003",
              "1A4000000000000000000004",
              "1A4000000000000000000005",
              "1A4000000000000000000006"
            ],
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "data"
        ]
      },
      "T3UpdateLabelContentLayoutPayload": {
        "type": "object",
        "properties": {
          "labelContentLayoutConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/T3LabelContentLayoutConfig"
              },
              {
                "description": "The updated label content layout configuration"
              }
            ]
          },
          "description": {
            "type": "string",
            "description": "Updated description for the layout"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Updated tags for the layout"
          }
        }
      },
      "T3UpdateLabelTemplateLayoutPayload": {
        "type": "object",
        "properties": {
          "labelTemplateLayoutConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/T3LabelTemplateLayoutConfig"
              },
              {
                "description": "The updated label template layout configuration"
              }
            ]
          },
          "description": {
            "type": "string",
            "description": "Updated description for the layout"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Updated tags for the layout"
          }
        }
      },
      "TagList": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "example": 42
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Human-readable name for the tag list, or null if not set.",
            "example": "Room A inventory"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-08-09T12:34:56.789Z"
          },
          "createdBy": {
            "type": "string",
            "example": "user@example.com"
          },
          "allowDuplicateHandles": {
            "type": "boolean",
            "example": false
          },
          "isArchived": {
            "type": "boolean",
            "example": false
          },
          "entryCount": {
            "type": "integer",
            "description": "Total number of entries in this tag list.",
            "example": 42
          },
          "scannedCount": {
            "type": "integer",
            "description": "Number of entries whose `scannedAt` field is set (non-null).",
            "example": 17
          },
          "tagListEntries": {
            "type": "array",
            "description": "The list's entries. Only populated when the list endpoint is called with\n`?includeEntries=true`; absent otherwise.\n",
            "items": {
              "$ref": "#/components/schemas/TagListEntry"
            }
          }
        }
      },
      "TagListDetail": {
        "type": "object",
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "example": 42
              },
              "name": {
                "type": "string",
                "nullable": true,
                "description": "Human-readable name for the tag list, or null if not set.",
                "example": "Room A inventory"
              },
              "allowDuplicateHandles": {
                "type": "boolean",
                "example": false
              },
              "isArchived": {
                "type": "boolean",
                "example": false
              },
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "example": "2024-08-09T12:34:56.789Z"
              },
              "createdBy": {
                "type": "string",
                "example": "user@example.com"
              },
              "entryCount": {
                "type": "integer",
                "description": "Total number of entries in this tag list.",
                "example": 42
              },
              "scannedCount": {
                "type": "integer",
                "description": "Number of entries whose `scannedAt` field is set (non-null).",
                "example": 17
              }
            }
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TagListEntry"
            }
          }
        }
      },
      "TagListEntry": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "example": 101
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-08-09T12:34:56.789Z"
          },
          "createdBy": {
            "type": "string",
            "example": "user@example.com"
          },
          "handle": {
            "type": "string",
            "example": "TAG001"
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Freeform human-readable identifier for this entry, or null if not set.",
            "example": "Vault shelf 3"
          },
          "metadata": {
            "type": "object",
            "example": {
              "note": "Test tag"
            }
          },
          "scannedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Timestamp indicating when the entry was scanned, or null if not yet scanned.",
            "example": "2024-08-09T12:34:56.789Z"
          }
        }
      },
      "UnitOfMeasure": {
        "type": "object",
        "properties": {
          "abbreviation": {
            "type": "string",
            "example": "ml"
          },
          "fromBaseFactor": {
            "type": "number",
            "format": "double",
            "example": 29.5735295625
          },
          "id": {
            "type": "integer",
            "example": 10
          },
          "isArchived": {
            "type": "boolean",
            "example": false
          },
          "isBaseUnit": {
            "type": "boolean",
            "example": false
          },
          "name": {
            "type": "string",
            "example": "Milliliters"
          },
          "quantityType": {
            "type": "string",
            "example": "VolumeBased"
          },
          "toBaseFactor": {
            "type": "number",
            "format": "double",
            "example": 0.033814022701843
          }
        }
      },
      "UnitOfMeasureAbbreviation": {
        "type": "string",
        "example": "g",
        "enum": [
          "g",
          "mg",
          "kg",
          "oz",
          "lb",
          "ml",
          "l",
          "ea"
        ]
      },
      "UpdateTagListEntryPayload": {
        "type": "object",
        "required": [
          "licenseNumber"
        ],
        "properties": {
          "licenseNumber": {
            "type": "string",
            "description": "The license number associated with this tag list.",
            "example": "LIC-00001"
          },
          "scannedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "ISO 8601 timestamp indicating when the entry was scanned, or `null` to clear.",
            "example": "2024-08-09T12:34:56.789Z"
          },
          "metadata": {
            "type": "object",
            "nullable": true,
            "description": "Arbitrary metadata to associate with the entry. Replaces existing metadata.",
            "example": {
              "note": "Updated note"
            }
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Freeform human-readable identifier for the entry, or `null` to clear.",
            "example": "Vault shelf 3"
          }
        }
      },
      "UpdateTagListPayload": {
        "type": "object",
        "description": "At least one of `name` or `isArchived` must be provided.\n",
        "required": [
          "licenseNumber"
        ],
        "properties": {
          "licenseNumber": {
            "type": "string",
            "description": "The license number associated with this tag list.",
            "example": "LIC-00001"
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "New human-readable name for the tag list. Pass `null` to clear the name.\n",
            "example": "Room A inventory"
          },
          "isArchived": {
            "type": "boolean",
            "description": "Set to `true` to archive the tag list, or `false` to unarchive it.",
            "example": true
          }
        }
      }
    },
    "parameters": {
      "ApplyDynamicValidation": {
        "name": "applyDynamicValidation",
        "in": "query",
        "required": false,
        "description": "Controls whether T3 should apply dynamic validation before forwarded to Metrc.\n  - **If present and set to 'true'**: The request will be dynamically validated. An error will be returned if dynamic validation fails.\n  - **If omitted or set to any value other than 'true'**: This parameter has no effect.\nExamples:\n  - \"true\": Apply dynamic validation\n  - \"false\": No-op\n\n**Dynamic validation** refers to validation that:\n  - Requires making API calls to Metrc to validate data dependencies (e.g., verifying that referenced items exist in Metrc).\n  - Cannot be performed through static schema validation alone.\n  - Does not guarantee that the request will be accepted by Metrc, as Metrc may have additional business rules not covered by T3's validation.\n",
        "schema": {
          "type": "string",
          "example": "true"
        }
      },
      "CollectionFilter": {
        "name": "filter",
        "description": "Filters the collection to only return objects matching the specified criteria. Multiple filters can be applied, and the logical operator between them is controlled by the `filterLogic` parameter.\n\n## Format\n\nThe filter parameter uses the format: `fieldName__operator:value`\n\n- **fieldName**: The name of the field to filter by (e.g., `label`, `quantity`, `packagedDate`)\n- **operator**: The comparison operator to use (see operator lists below by field type)\n- **value**: The value to compare against\n\n## Behavior\n\n- Multiple filters can be applied by including multiple `filter` query parameters\n- By default, all filters must match (AND logic). Use `filterLogic=or` to match any filter (OR logic)\n- Filters are applied before sorting and pagination\n- Only root-level fields can be filtered (nested fields are not supported)\n- All string comparisons are case-insensitive\n\n## String Field Operators\n\nString fields support the following operators:\n\n- **contains**: Field contains the specified substring\n- **doesnotcontain**: Field does not contain the specified substring\n- **eq**: Field exactly equals the specified value\n- **neq**: Field does not equal the specified value\n- **startswith**: Field starts with the specified substring\n- **endswith**: Field ends with the specified substring\n\n## Datetime Field Operators\n\nDatetime fields support the following operators:\n\n- **lt**: Less than (before)\n- **lte**: Less than or equal to (on or before)\n- **eq**: Exactly equals\n- **neq**: Not equal to\n- **gt**: Greater than (after)\n- **gte**: Greater than or equal to (on or after)\n\n**Note: All datetime values must be in ISO8601 format (e.g., `2024-07-17T20:26:07.117Z`)**\n\n## Numeric Field Operators\n\nNumeric fields support the same operators as datetime fields:\n\n- **lt**: Less than\n- **lte**: Less than or equal to\n- **eq**: Exactly equals\n- **neq**: Not equal to\n- **gt**: Greater than\n- **gte**: Greater than or equal to\n\n## Boolean Field Operators\n\nBoolean fields support only one operator:\n\n- **eq**: Exactly equals (use `true` or `false`)\n\n## Examples using MetrcPackage\n\n<details>\n<summary>Click to expand</summary>\n\n### Example 1: Single string filter (contains)\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001&filter=label__contains:0003\n```\n\nReturns only packages whose label contains \"0003\":\n```json\n{\n  \"data\": [\n    { \"label\": \"1A4000000000000000020003\", ... },\n    { \"label\": \"1A4000000000000000030003\", ... }\n  ]\n}\n```\n\n### Example 2: String filter (starts with)\nRequest:\n```\nGET /v2/items?licenseNumber=LIC-00001&filter=name__startswith:wedding\n```\n\nReturns only items whose name starts with \"wedding\" (case-insensitive):\n```json\n{\n  \"data\": [\n    { \"name\": \"Blue Dream Flower\", ... },\n    { \"name\": \"Northern Lights Pre-Roll\", ... }\n  ]\n}\n```\n\n### Example 3: Numeric filter (greater than or equal)\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001&filter=quantity__gte:1000\n```\n\nReturns only packages with quantity >= 1000:\n```json\n{\n  \"data\": [\n    { \"label\": \"1A4000000000000000000001\", \"quantity\": 5000.0, ... },\n    { \"label\": \"1A4000000000000000000002\", \"quantity\": 2500.0, ... }\n  ]\n}\n```\n\n### Example 4: Boolean filter\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001&filter=isFinished__eq:false\n```\n\nReturns only active (unfinished) packages:\n```json\n{\n  \"data\": [\n    { \"label\": \"1A4000000000000000000001\", \"isFinished\": false, ... },\n    { \"label\": \"1A4000000000000000000002\", \"isFinished\": false, ... }\n  ]\n}\n```\n\n### Example 5: Datetime filter (on or after)\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001&filter=packagedDate__gte:2024-03-01T00:00:00.000Z\n```\n\nReturns only packages created on or after March 1, 2024:\n```json\n{\n  \"data\": [\n    { \"label\": \"1A4000000000000000000003\", \"packagedDate\": \"2024-03-15T10:30:00.000Z\", ... },\n    { \"label\": \"1A4000000000000000000002\", \"packagedDate\": \"2024-03-10T14:20:00.000Z\", ... }\n  ]\n}\n```\n\n### Example 6: Multiple filters (AND logic - default)\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001&filter=quantity__gte:100&filter=isFinished__eq:false\n```\n\nReturns packages that have quantity >= 100 AND are not finished:\n```json\n{\n  \"data\": [\n    { \"label\": \"1A4000000000000000000001\", \"quantity\": 500.0, \"isFinished\": false, ... }\n  ]\n}\n```\n\n### Example 7: Multiple filters (OR logic)\nRequest:\n```\nGET /v2/items?licenseNumber=LIC-00001&filter=name__contains:flower&filter=name__contains:pre-roll&filterLogic=or\n```\n\nReturns items whose name contains \"flower\" OR \"pre-roll\":\n```json\n{\n  \"data\": [\n    { \"name\": \"Blue Dream Flower\", ... },\n    { \"name\": \"Blue Dream pre-roll\", ... },\n    { \"name\": \"Pineapple Express Flower\", ... }\n  ]\n}\n```\n\n</details>\n\n## Notes\n\n- Invalid field names in filters are silently ignored.\n- Not all field names are filterable. This includes the `id` field.\n- Not all filter operators are supported for all fields. Unsupported filters will throw an error. \n",
        "in": "query",
        "required": false,
        "schema": {
          "type": "array",
          "example": "label__endswith:0003",
          "items": {
            "type": "string"
          }
        },
        "style": "form",
        "explode": true
      },
      "CollectionFilterLogic": {
        "name": "filterLogic",
        "description": "Controls how multiple filters are combined when more than one `filter` parameter is provided. Determines whether all filters must match (AND logic) or if any single filter matching is sufficient (OR logic).\n\n## Behavior\n\n- **and**: All filters must match for an object to be included in the results (intersection)\n- **or**: At least one filter must match for an object to be included in the results (union)\n- Default value is `and` if not specified\n- This parameter has no effect when only one filter is provided\n- Applied during the filtering stage, before sorting and pagination\n\n## Values\n\n- **and** (default): Logical AND - all conditions must be true\n- **or**: Logical OR - at least one condition must be true\n\n## Examples using MetrcPackage\n\n<details>\n<summary>Click to expand</summary>\n\n### Example 1: AND logic (default) - all filters must match\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001&filter=quantity__gte:100&filter=isFinished__eq:false\n```\n\nOr explicitly:\n```\nGET /v2/packages?licenseNumber=LIC-00001&filter=quantity__gte:100&filter=isFinished__eq:false&filterLogic=and\n```\n\nReturns only packages where quantity >= 100 AND isFinished = false:\n```json\n{\n  \"data\": [\n    { \"label\": \"1A4000000000000000000001\", \"quantity\": 500.0, \"isFinished\": false, ... },\n    { \"label\": \"1A4000000000000000000002\", \"quantity\": 250.0, \"isFinished\": false, ... }\n  ]\n}\n```\n\nPackages with quantity >= 100 but isFinished = true are excluded.\nPackages with isFinished = false but quantity < 100 are excluded.\n\n### Example 2: OR logic - any filter can match\nRequest:\n```\nGET /v2/items?licenseNumber=LIC-00001&filter=name__contains:flower&filter=name__contains:pre-roll&filterLogic=or\n```\n\nReturns items where name contains \"flower\" OR name contains \"pre-roll\":\n```json\n{\n  \"data\": [\n    { \"name\": \"Blue Dream Flower\", ... },\n    { \"name\": \"Blue Dream pre-roll\", ... },\n    { \"name\": \"Pineapple Express Flower\", ... },\n    { \"name\": \"Gelato Pre-Roll\", ... }\n  ]\n}\n```\n\nItems containing either \"flower\" or \"pre-roll\" (or both) are included.\n\n### Example 3: OR logic with different fields\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001&filter=quantity__gte:1000&filter=isOnHold__eq:true&filterLogic=or\n```\n\nReturns packages where quantity >= 1000 OR isOnHold = true:\n```json\n{\n  \"data\": [\n    { \"label\": \"1A4000000000000000000001\", \"quantity\": 5000.0, \"isOnHold\": false, ... },\n    { \"label\": \"1A4000000000000000000002\", \"quantity\": 50.0, \"isOnHold\": true, ... },\n    { \"label\": \"1A4000000000000000000003\", \"quantity\": 2500.0, \"isOnHold\": false, ... }\n  ]\n}\n```\n\n### Example 4: Complex OR logic with multiple string filters\nRequest:\n```\nGET /v2/items?licenseNumber=LIC-00001&filter=name__contains:wedding&filter=name__contains:blue&filter=name__contains:gelato&filterLogic=or\n```\n\nReturns items matching any of the search terms:\n```json\n{\n  \"data\": [\n    { \"name\": \"Blue Dream Flower\", ... },\n    { \"name\": \"Northern Lights Pre-Roll\", ... },\n    { \"name\": \"Blue Dream flower\", ... },\n    { \"name\": \"Blue Dream Edible\", ... },\n    { \"name\": \"Gelato Pre-Roll\", ... }\n  ]\n}\n```\n\n### Example 5: AND logic with date range\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001&filter=packagedDate__gte:2024-01-01T00:00:00.000Z&filter=packagedDate__lte:2024-12-31T23:59:59.999Z&filterLogic=and\n```\n\nReturns packages created in 2024 (both date filters must match):\n```json\n{\n  \"data\": [\n    { \"label\": \"1A4000000000000000000001\", \"packagedDate\": \"2024-03-15T10:30:00.000Z\", ... },\n    { \"label\": \"1A4000000000000000000002\", \"packagedDate\": \"2024-06-20T14:15:00.000Z\", ... }\n  ]\n}\n```\n\n</details>\n\n## Notes\n\n- AND logic (`and`) is more restrictive and typically returns fewer results\n- OR logic (`or`) is more permissive and typically returns more results\n- When filtering the same field with multiple values, OR logic creates a \"match any\" behavior\n- Complex queries combining AND and OR logic require multiple API requests with client-side filtering\n",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "and",
            "or"
          ],
          "default": "and",
          "example": "and"
        }
      },
      "CollectionMask": {
        "name": "collectionMask",
        "description": "A comma-separated list of field paths to include in the response. Only the specified fields will be returned for each object in the collection.\n\nThe mask uses dot notation for nested fields and supports array wildcard notation [*] for filtering array elements.\n\n## Behavior\n\n- **Root-level fields**: Specify the field name to include it (e.g., `label` includes only the label field)\n- **Multiple fields**: Separate with commas (e.g., `label,quantity,isFinished`)\n- **Nested objects**: Use dot notation (e.g., `item.name` includes only the name field from the nested item object)\n- **Entire nested objects**: Specify just the parent field name to include the entire nested object as-is (e.g., `item` includes the complete item object with all its fields)\n- **Array elements**: Use `[*]` wildcard to filter fields from all array elements (e.g., `items[*].name` keeps only the name field from each array element)\n\n## Examples using MetrcPackage\n\n<details>\n<summary>Click to expand</summary>\n\n### Example 1: Single root-level field\nMask: `label`\n\nReturns only the package label:\n```json\n{\n  \"label\": \"1A4000000000000000000001\"\n}\n```\n\n### Example 2: Multiple root-level fields\nMask: `label,quantity,unitOfMeasureAbbreviation`\n\nReturns only the specified fields:\n```json\n{\n  \"label\": \"1A4000000000000000000001\",\n  \"quantity\": 1130.7,\n  \"unitOfMeasureAbbreviation\": \"g\"\n}\n```\n\n### Example 3: Nested object field\nMask: `label,item.name,item.productCategoryName`\n\nReturns the label and only specific fields from the nested item object:\n```json\n{\n  \"label\": \"1A4000000000000000000001\",\n  \"item\": {\n    \"name\": \"Blue Dream Flower\",\n    \"productCategoryName\": \"Bud/Flower (Final Packaging)\"\n  }\n}\n```\n\n### Example 4: Entire nested object\nMask: `label,item`\n\nReturns the label and the complete item object with all its fields:\n```json\n{\n  \"label\": \"1A4000000000000000000001\",\n  \"item\": {\n    \"id\": 12345,\n    \"name\": \"Blue Dream Flower\",\n    \"productCategoryName\": \"Bud/Flower (Final Packaging)\",\n    \"strainName\": \"Blue Dream\",\n    ... all other item fields ...\n  }\n}\n```\n\n### Example 5: Array wildcard (for endpoints returning arrays within objects)\nMask: `packages[*].label,packages[*].quantity`\n\nReturns only label and quantity from each package in a packages array:\n```json\n{\n  \"packages\": [\n    {\n      \"label\": \"1A4000000000000000000001\",\n      \"quantity\": 1130.7\n    },\n    {\n      \"label\": \"1A4000000000000000020199\",\n      \"quantity\": 500.0\n    }\n  ]\n}\n```\n\n</details>\n\n## Notes\n\n- Fields not specified in the mask are completely removed from the response\n- The mask is applied after all other processing (pagination, sorting, filtering)\n- Invalid field paths are silently ignored\n- Whitespace around field names and commas is trimmed automatically\n",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "example": "label,item.name,item.productCategoryName"
        }
      },
      "CollectionPage": {
        "name": "page",
        "description": "Specifies which page of results to return. Used in conjunction with `pageSize` to control pagination.\n\n## Behavior\n\n- Pages are 1-indexed (the first page is `page=1`, not `page=0`)\n- If `page` exceeds the total number of available pages, an empty `data` array is returned\n- The `total` field in the response indicates the total number of items across all pages\n- Pagination is applied after filtering and sorting\n- Default value is `1` if not specified\n\n## Calculating Total Pages\n\nTo determine how many pages are available:\n```\ntotalPages = ceil(total / pageSize)\n```\n\nFor example, if `total=450` and `pageSize=100`:\n```\ntotalPages = ceil(450 / 100) = 5 pages\n```\n\n## Examples using MetrcPackage\n\n<details>\n<summary>Click to expand</summary>\n\n### Example 1: Get first page (default)\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001\n```\n\nEquivalent to:\n```\nGET /v2/packages?licenseNumber=LIC-00001&page=1&pageSize=100\n```\n\nReturns the first 100 packages:\n```json\n{\n  \"data\": [ ... 100 packages ... ],\n  \"page\": 1,\n  \"pageSize\": 100,\n  \"total\": 450\n}\n```\n\n### Example 2: Get second page\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001&page=2&pageSize=100\n```\n\nReturns packages 101-200:\n```json\n{\n  \"data\": [ ... 100 packages ... ],\n  \"page\": 2,\n  \"pageSize\": 100,\n  \"total\": 450\n}\n```\n\n### Example 3: Get last page with smaller page size\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001&page=5&pageSize=100\n```\n\nReturns packages 401-450 (only 50 items on last page):\n```json\n{\n  \"data\": [ ... 50 packages ... ],\n  \"page\": 5,\n  \"pageSize\": 100,\n  \"total\": 450\n}\n```\n\n### Example 4: Page beyond available data\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001&page=10&pageSize=100\n```\n\nReturns empty array when page exceeds total pages:\n```json\n{\n  \"data\": [],\n  \"page\": 10,\n  \"pageSize\": 100,\n  \"total\": 450\n}\n```\n\n### Example 5: Combined with filters and sorting\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001&filter=isFinished__eq:false&sort=packagedDate:desc&page=2&pageSize=50\n```\n\nReturns the second page of active packages sorted by date:\n```json\n{\n  \"data\": [ ... 50 packages matching filter, sorted ... ],\n  \"page\": 2,\n  \"pageSize\": 50,\n  \"total\": 127\n}\n```\n\n</details>\n\n## Notes\n\n- To retrieve all data, you must iterate through all pages until `data` is empty or `page > ceil(total/pageSize)`\n- The response always includes `page`, `pageSize`, and `total` fields to help with pagination logic\n- For large datasets, consider using filters to reduce the total number of results\n",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 1,
          "example": 1
        }
      },
      "CollectionPageSize": {
        "name": "pageSize",
        "description": "Specifies the maximum number of objects to return per page. Used in conjunction with `page` to control pagination.\n\n## Behavior\n\n- Default value is `100` if not specified\n- Maximum allowed value is `500` for most endpoints. Some endpoints like supercollections have reduced maximums.\n- If the requested `pageSize` exceeds the maximum, it will be capped at the maximum allowed value\n- The actual number of items returned may be less than `pageSize` on the last page\n- Larger page sizes reduce the number of requests needed but increase response time and payload size\n\n## Choosing an Appropriate Page Size\n\n- **Small datasets (<100 items)**: Use default `pageSize=100` or larger\n- **Medium datasets (100-1000 items)**: Use `pageSize=200-500` to minimize requests\n- **Large datasets (>1000 items)**: Use maximum `pageSize=500` and implement pagination loop\n- **Real-time updates**: Use smaller page sizes (50-100) for faster responses\n\n## Examples using MetrcPackage\n\n<details>\n<summary>Click to expand</summary>\n\n### Example 1: Default page size\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001\n```\n\nReturns up to 100 packages (default):\n```json\n{\n  \"data\": [ ... up to 100 packages ... ],\n  \"page\": 1,\n  \"pageSize\": 100,\n  \"total\": 450\n}\n```\n\n### Example 2: Small page size\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001&pageSize=25\n```\n\nReturns up to 25 packages:\n```json\n{\n  \"data\": [ ... up to 25 packages ... ],\n  \"page\": 1,\n  \"pageSize\": 25,\n  \"total\": 450\n}\n```\n\n### Example 3: Maximum page size\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001&pageSize=500\n```\n\nReturns up to 500 packages:\n```json\n{\n  \"data\": [ ... up to 500 packages ... ],\n  \"page\": 1,\n  \"pageSize\": 500,\n  \"total\": 450\n}\n```\n\n### Example 4: Last page with partial results\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001&page=5&pageSize=100\n```\n\nReturns only remaining packages (less than pageSize):\n```json\n{\n  \"data\": [ ... 50 packages ... ],\n  \"page\": 5,\n  \"pageSize\": 100,\n  \"total\": 450\n}\n```\n\n### Example 5: Loading all data with maximum page size\nRequest (Page 1):\n```\nGET /v2/packages?licenseNumber=LIC-00001&pageSize=500&page=1\n```\n\nRequest (Page 2):\n```\nGET /v2/packages?licenseNumber=LIC-00001&pageSize=500&page=2\n```\n\nThis efficiently loads 1000 total packages in just 2 requests.\n\n</details>\n\n## Notes\n\n- Requesting `pageSize` values above the maximum will not result in an error, but will be capped\n- The `total` field in the response helps determine how many pages are needed: `ceil(total / pageSize)`\n- Consider using `collectionMask` with larger page sizes to reduce response payload\n",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 100,
          "example": 100
        }
      },
      "CollectionSort": {
        "name": "sort",
        "description": "Specifies the field and direction to sort the collection by. Only one sort field is supported per request.\n\n## Format\n\nThe sort parameter uses the format: `fieldName:direction`\n\n- **fieldName**: The name of the field to sort by (e.g., `label`, `quantity`, `createdDate`)\n- **direction**: Either `asc` for ascending or `desc` for descending\n\n## Behavior\n\n- Sorting is applied before pagination, so the sorted order is consistent across pages\n- Only root-level fields can be used for sorting (nested fields are not supported)\n- If an invalid field name is provided, the request may return an error or ignore the sort parameter\n- String fields are sorted alphabetically (case-insensitive)\n- Numeric fields are sorted numerically\n- Date fields are sorted chronologically\n\n## Examples using MetrcPackage\n\n<details>\n<summary>Click to expand</summary>\n\n### Example 1: Sort by label ascending\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001&sort=label:asc\n```\n\nReturns packages sorted by label from A to Z:\n```json\n{\n  \"data\": [\n    { \"label\": \"1A4000000000000000020001\", ... },\n    { \"label\": \"1A4000000000000000020002\", ... },\n    { \"label\": \"1A4000000000000000020003\", ... }\n  ]\n}\n```\n\n### Example 2: Sort by quantity descending\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001&sort=quantity:desc\n```\n\nReturns packages sorted by quantity from highest to lowest:\n```json\n{\n  \"data\": [\n    { \"label\": \"1A4000000000000000020198\", \"quantity\": 5000.0, ... },\n    { \"label\": \"1A4000000000000000020199\", \"quantity\": 2500.0, ... },\n    { \"label\": \"1A4000000000000000020200\", \"quantity\": 100.0, ... }\n  ]\n}\n```\n\n### Example 3: Sort by date field descending\nRequest:\n```\nGET /v2/packages?licenseNumber=LIC-00001&sort=packagedDate:desc\n```\n\nReturns packages sorted by packaged date, most recent first:\n```json\n{\n  \"data\": [\n    { \"label\": \"1A4000000000000000020200\", \"packagedDate\": \"2024-03-15\", ... },\n    { \"label\": \"1A4000000000000000020199\", \"packagedDate\": \"2024-03-10\", ... },\n    { \"label\": \"1A4000000000000000020198\", \"packagedDate\": \"2024-03-05\", ... }\n  ]\n}\n```\n\n</details>\n\n## Notes\n\n- The default sort order varies by endpoint and is not guaranteed if `sort` is not specified\n- Sorting by some fields is not supported\n- Only one sort parameter can be applied per request\n",
        "required": false,
        "in": "query",
        "schema": {
          "type": "string",
          "example": "label:asc"
        }
      },
      "ContentType": {
        "name": "contentType",
        "description": "Specifies how the report should be formatted. Can be returned as json or csv.\n*This can also be defined in the Content-Type header*\n",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "csv"
          ],
          "default": "json",
          "example": "json"
        }
      },
      "DeliveryId": {
        "name": "deliveryId",
        "in": "query",
        "required": true,
        "schema": {
          "type": "integer",
          "example": 1234567
        }
      },
      "LicenseNumber": {
        "name": "licenseNumber",
        "description": "The unique identifier for the license associated with this request.\n\n## Behavior\n\n- Only one license can be queried per request\n- The `licenseNumber` parameter must match an active license accessible to the authenticated user\n- Use the licenses endpoint to retrieve available license numbers\n\n## Examples\n\n<details>\n<summary>Click to expand</summary>\n\n### Example 1: View available licenses\nRetrieve all licenses available to the current user:\n```\nGET https://api.trackandtrace.tools/v2/licenses\n```\n\n### Example 2: Query with license number\nSpecify the target license with the required `licenseNumber` query parameter:\n```\nGET https://api.trackandtrace.tools/v2/items?licenseNumber=LIC-00001\n```\n\n</details>\n\n## Notes\n\n- The license number is required for all data-retrieval endpoints\n- Invalid or inaccessible license numbers will return an authorization error\n- License numbers are case-sensitive\n",
        "in": "query",
        "required": true,
        "schema": {
          "type": "string",
          "example": "LIC-00001"
        }
      },
      "ManifestNumber": {
        "name": "manifestNumber",
        "description": "The unique identifier for the desired manifest.",
        "in": "query",
        "required": true,
        "schema": {
          "type": "integer",
          "example": 1234567
        }
      },
      "PrependCsvMetadata": {
        "name": "prependCsvMetadata",
        "description": "Controls if the CSV header metadata should be included in the output.\nWhen set to false, only the column headers and data will be returned.\n",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "true",
            "false"
          ],
          "default": "true",
          "example": "true"
        }
      },
      "SecretKey": {
        "name": "secretKey",
        "description": "Your secret key, if you wish to authenticate via query params. Secret keys can be manually generated [here](/v2/pages/secret-key).\n",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "example": "2616ec56-fa2a-4c5b-86c0-acacf23c9ef7"
        }
      },
      "SkipDynamicValidationChecks": {
        "name": "skipDynamicValidationChecks",
        "in": "query",
        "required": false,
        "description": "Allows selectively skipping specific dynamic validation checks when `applyDynamicValidation=true`.\nEach value should be a valid dynamic check key. Unrecognized keys are silently ignored.\n\nUse this parameter multiple times to skip multiple checks:\n  - `?skipDynamicValidationChecks=CREATE_PACKAGES_TAG_IDS_EXIST&skipDynamicValidationChecks=CREATE_PACKAGES_LOCATION_IDS_EXIST`\n\nAvailable check keys per endpoint:\n\n**Create Packages from Packages:**\n  - `CREATE_PACKAGES_PACKAGE_IDS_EXIST` \u2014 Skip ingredient source package ID validation\n  - `CREATE_PACKAGES_UNIT_OF_MEASURE_IDS_EXIST` \u2014 Skip unit of measure ID validation\n  - `CREATE_PACKAGES_ITEM_IDS_EXIST` \u2014 Skip item ID validation\n  - `CREATE_PACKAGES_TAG_IDS_EXIST` \u2014 Skip tag ID validation\n  - `CREATE_PACKAGES_LOCATION_IDS_EXIST` \u2014 Skip location ID validation\n\n**Create Transfer Templates:**\n  - `PACKAGE_IDS_EXIST` \u2014 Skip package ID validation\n  - `TRANSFER_TYPE_IDS_EXIST` \u2014 Skip transfer type ID validation\n\n**Discontinue Item:**\n  - `DISCONTINUE_ITEM_ID_EXISTS` \u2014 Skip item ID validation against active items\n\n**Discontinue Strain:**\n  - `DISCONTINUE_STRAIN_ID_EXISTS` \u2014 Skip strain ID validation against active strains\n\n**Void Transfer:**\n  - `VOID_TRANSFER_ID_EXISTS` \u2014 Skip transfer ID validation against outgoing active transfers\n\n**Void Sales Receipt:**\n  - `VOID_SALES_RECEIPT_ID_EXISTS` \u2014 Skip sales receipt ID validation against active sales\n\n**Unfinalize Sales:**\n  - `UNFINALIZE_SALES_IDS_EXIST` \u2014 Skip sales receipt ID validation against inactive sales\n\n**Unfinish Packages:**\n  - `UNFINISH_PACKAGES_IDS_EXIST` \u2014 Skip package ID validation against inactive packages\n\n**Adjust Packages:**\n  - `ADJUST_PACKAGES_PACKAGE_IDS_EXIST` \u2014 Skip package ID validation against active packages\n  - `ADJUST_PACKAGES_UOM_IDS_EXIST` \u2014 Skip unit of measure ID validation\n  - `ADJUST_PACKAGES_REASON_IDS_EXIST` \u2014 Skip adjustment reason ID validation\n\n**Create Testing Packages:**\n  - Same checks as Create Packages from Packages (shared check functions)\n\n**Create Transfers:**\n  - `PACKAGE_IDS_EXIST` \u2014 Skip package ID validation\n  - `TRANSFER_TYPE_IDS_EXIST` \u2014 Skip transfer type ID validation\n\n**Create Items:**\n  - `CREATE_ITEMS_PRODUCT_CATEGORY_IDS_EXIST` \u2014 Skip product category ID validation\n  - `CREATE_ITEMS_STRAIN_IDS_EXIST` \u2014 Skip strain ID validation\n  - `CREATE_ITEMS_UOM_IDS_EXIST` \u2014 Skip unit of measure ID validation\n\n**Update Transfers:**\n  - `UPDATE_TRANSFER_ID_EXISTS` \u2014 Skip transfer ID validation against outgoing active transfers\n  - `PACKAGE_IDS_EXIST` \u2014 Skip package ID validation\n  - `TRANSFER_TYPE_IDS_EXIST` \u2014 Skip transfer type ID validation\n\n**Update Transfer Templates:**\n  - `UPDATE_TRANSFER_TEMPLATES_IDS_EXIST` \u2014 Skip template ID validation\n  - `PACKAGE_IDS_EXIST` \u2014 Skip package ID validation\n  - `TRANSFER_TYPE_IDS_EXIST` \u2014 Skip transfer type ID validation\n\n**Archive Transfer Template:**\n  - `ARCHIVE_TRANSFER_TEMPLATE_ID_EXISTS` \u2014 Skip template ID validation\n\n**Create Strains:**\n  - `CREATE_STRAINS_PERCENTAGES_VALID` \u2014 Skip indica/sativa percentage sum validation\n\n**Add Package Notes:**\n  - `ADD_PACKAGE_NOTES_PACKAGE_IDS_EXIST` \u2014 Skip package ID validation against active packages\n\n**Create Plant Harvest:**\n  - `HARVEST_PLANTS_PLANT_IDS_IN_FLOWERING` \u2014 Skip plant ID validation against flowering plants\n  - `HARVEST_PLANTS_DRYING_LOCATION_IDS_EXIST` \u2014 Skip drying location ID validation\n\n**Create Plant Manicure:**\n  - `HARVEST_PLANTS_PLANT_IDS_IN_FLOWERING` \u2014 Skip plant ID validation against flowering plants\n  - `HARVEST_PLANTS_DRYING_LOCATION_IDS_EXIST` \u2014 Skip drying location ID validation\n\nIf `applyDynamicValidation` is not set to `true`, this parameter has no effect.\n",
        "schema": {
          "type": "array",
          "example": "CREATE_PACKAGES_TAG_IDS_EXIST",
          "items": {
            "type": "string"
          }
        },
        "style": "form",
        "explode": true
      },
      "StrictPagination": {
        "name": "strictPagination",
        "description": "Toggles strict pagination. Defaults to `false` (disabled)\n\n  - If enabled, requesting an out of bounds page will throw a 400. \n  - If disabled, requesting an out of bounds page will return a 200 and an empty page.",
        "in": "query",
        "required": false,
        "schema": {
          "type": "boolean",
          "default": false,
          "example": true
        }
      },
      "Submit": {
        "name": "submit",
        "in": "query",
        "required": false,
        "description": "Controls whether this request should be forwarded to Metrc.\n- **If present and set to 'true'**: The request will be subjected to static validation and forwarded to Metrc if validation passes.\n- **If omitted or set to any value other than 'true'**: The request will only be subjected to static validation.\nExamples:\n  - \"true\": Forward the request to Metrc\n  - \"false\": Execute a dry run\n",
        "schema": {
          "type": "string",
          "example": "true"
        }
      },
      "SuperharvestInclude": {
        "name": "include",
        "description": "One or more superharvest mixins. Each mixin will attach the raw\ndata from Metrc to the harvest object.\n\n- history\n- plants\n- packages\n",
        "in": "query",
        "required": false,
        "schema": {
          "type": "array",
          "example": "history",
          "items": {
            "type": "string",
            "enum": [
              "history",
              "plants",
              "packages"
            ]
          }
        },
        "style": "form",
        "explode": true
      },
      "SuperitemInclude": {
        "name": "include",
        "description": "One or more superitem mixins. Each mixin will include the raw\ndata from Metrc, but also will populate the extracted metadata.\n\n- ingredients  \n  Extracted metadata: none\n\n- notes  \n  Extracted metadata: none\n\n- history  \n  Extracted metadata: none\n\n- images\n  Extracted metadata:\n    - itemImages\n",
        "in": "query",
        "required": false,
        "schema": {
          "type": "array",
          "example": "history,notes",
          "items": {
            "type": "string",
            "enum": [
              "notes",
              "history",
              "ingredients",
              "images"
            ]
          }
        },
        "style": "form",
        "explode": true
      },
      "SuperpackageInclude": {
        "name": "include",
        "description": "One or more superpackage mixins. Each mixin will include the raw\ndata from Metrc, but also will populate the extracted metadata.\n\n- labResults  \n  Extracted metadata:\n    - extractedLabResults\n    - testSamplePackageLabels\n    - labResultPdfs\n\n- labResultBatches  \n  Extracted metadata:\n    - extractedLabResults\n    - testSamplePackageLabels\n    - labResultPdfs\n\n- sourceHarvests  \n  Extracted metadata:\n    - harvestDates\n\n- history  \n  Extracted metadata:\n    - initialQuantity\n    - initialQuantityUnitOfMeasure\n    - manifestNumber\n    - destinationFacilityLicenseNumber\n    - destinationFacilityName\n    - transferType\n\n- coaFiles (not yet supported)\n  Extracted metadata:\n    - extractedLabResults\n",
        "in": "query",
        "required": false,
        "schema": {
          "type": "array",
          "example": "sourceHarvests",
          "items": {
            "type": "string",
            "enum": [
              "labResults",
              "labResultBatches",
              "sourceHarvests",
              "history",
              "coaFiles"
            ]
          }
        },
        "style": "form",
        "explode": true
      },
      "SuperplantInclude": {
        "name": "include",
        "description": "One or more superplant mixins. Each mixin will attach the raw\ndata from Metrc to the plant object.\n\n- history\n",
        "in": "query",
        "required": false,
        "schema": {
          "type": "array",
          "example": "history",
          "items": {
            "type": "string",
            "enum": [
              "history"
            ]
          }
        },
        "style": "form",
        "explode": true
      },
      "SuperplantbatchInclude": {
        "name": "include",
        "description": "One or more superplantbatch mixins. Each mixin will attach the raw\ndata from Metrc to the plant batch object.\n\n- history\n",
        "in": "query",
        "required": false,
        "schema": {
          "type": "array",
          "example": "history",
          "items": {
            "type": "string",
            "enum": [
              "history"
            ]
          }
        },
        "style": "form",
        "explode": true
      },
      "SupersalesInclude": {
        "name": "include",
        "description": "One or more supersales mixins. Each mixin will attach the raw\ndata from Metrc to the sales receipt object.\n\n- transactions\n",
        "in": "query",
        "required": false,
        "schema": {
          "type": "array",
          "example": "transactions",
          "items": {
            "type": "string",
            "enum": [
              "transactions"
            ]
          }
        },
        "style": "form",
        "explode": true
      },
      "SupertransferInclude": {
        "name": "include",
        "description": "One or more supertransfer mixins.\n\n- packages\n- transporters\n",
        "in": "query",
        "required": false,
        "schema": {
          "type": "array",
          "example": "packages",
          "items": {
            "type": "string",
            "enum": [
              "packages",
              "transporters"
            ]
          }
        },
        "style": "form",
        "explode": true
      }
    }
  },
  "openapi": "3.0.2",
  "servers": [
    {
      "url": "https://api.trackandtrace.tools"
    }
  ],
  "security": [
    {
      "BearerAuth": []
    },
    {
      "SecretKeyHeader": []
    },
    {
      "SecretKeyQuery": []
    }
  ]
}