openapi: 3.0.0 components: examples: {} headers: {} parameters: {} requestBodies: {} responses: {} schemas: UnauthorizedError: properties: name: type: string default: Unauthorized message: type: string stack: type: string status: type: number format: double default: 401 data: {} required: - name - message - status type: object additionalProperties: false ForbiddenError: properties: name: type: string default: Forbidden message: type: string stack: type: string status: type: number format: double default: 403 data: {} required: - name - message - status type: object additionalProperties: false NotFoundError: properties: name: type: string default: Not Found message: type: string stack: type: string status: type: number format: double default: 404 data: {} required: - name - message - status type: object additionalProperties: false FieldErrors: properties: {} type: object additionalProperties: properties: value: {} message: type: string required: - message type: object ValidateError: properties: name: type: string default: Validation Failed message: type: string stack: type: string status: type: number format: double default: 422 fields: $ref: '#/components/schemas/FieldErrors' data: {} required: - name - message - status - fields type: object additionalProperties: false USStates: description: Enumeration of all of the United States enum: - AL - AK - AZ - AR - AS - CA - CO - CT - DE - DC - FM - FL - GA - GU - HI - ID - IL - IN - IA - KS - KY - LA - ME - MD - MA - MH - MI - MN - MS - MO - MT - NE - NV - NH - NJ - NM - NY - NC - ND - MP - OH - OK - OR - PW - PA - PR - RI - SC - SD - TN - TX - UM - UT - VT - VA - VI - WA - WV - WI - WY - AA - AE - AP type: string IANATimezones: enum: - America/New_York - America/Detroit - America/Kentucky/Louisville - America/Kentucky/Monticello - America/Indiana/Indianapolis - America/Indiana/Vincennes - America/Indiana/Winamac - America/Indiana/Marengo - America/Indiana/Petersburg - America/Indiana/Vevay - America/Chicago - America/Indiana/Tell_City - America/Indiana/Knox - America/Menominee - America/North_Dakota/Center - America/North_Dakota/New_Salem - America/North_Dakota/Beulah - America/Denver - America/Boise - America/Phoenix - America/Los_Angeles - America/Anchorage - America/Juneau - America/Puerto_Rico - America/Sitka - America/St_Thomas - America/Metlakatla - America/Yakutat - America/Nome - America/Adak - Pacific/Honolulu - Pacific/Guam - Pacific/Kosrae - Pacific/Midway - Pacific/Pago_Pago - Pacific/Palau - Pacific/Kwajalein - Pacific/Saipan type: string ServiceProvider: properties: id: type: string description: ID name: type: string description: Organization name street_address: type: string description: Street Address city: type: string description: City ein: type: string description: Employer Identification Number phone_number: type: string description: Phone Number postal_code: type: string description: Postal Code country: type: string description: Country state: $ref: '#/components/schemas/USStates' description: State website: type: string description: Website timezone: $ref: '#/components/schemas/IANATimezones' description: Timezone primary_point_of_contact: properties: phoneNumber: type: string emailAddress: type: string title: type: string lastName: type: string firstName: type: string required: - phoneNumber - emailAddress - title - lastName - firstName type: object required: - id - name - street_address - city - ein - phone_number - postal_code - country - state - website - timezone type: object additionalProperties: false FriendlyPosName: type: string enum: - Alleaves - Dutchie - Dutchie Wholesale - Cova - Meadow - MJ Freeway - MJ Freeway Wholesale - Greenbits - GrowFlow - GrowFlow Wholesale - Portal42 - Metrc S2S - Metrc S2S Wholesale - Flourish - Flourish Wholesale - Flowhub - BioTrack - BioTrack Wholesale - Treez - Blaze - Quickbooks - Sage Intacct - Canix - Brytemap - POSaBIT - Proteus420 - IndicaOnline - Sweed - Weave - Jane - Manual Upload Wholesale - Cova Test Account - Leaf Logix Test Account - BioTrack Test Account - Mj Freeway Test Account - Treez IO Test Account - Green Bits Test Account - Manual Upload Retail - Not Configured - Unsupported - CRBMonitor - Plaid PosConnectionStatus: type: string enum: - Connected - Not Connected - Needs Attention - Pending UtcDateTime: type: string format: date-time AccessPosConfig: properties: name: $ref: '#/components/schemas/FriendlyPosName' status: $ref: '#/components/schemas/PosConnectionStatus' updated_date: $ref: '#/components/schemas/UtcDateTime' type: string format: date-time required: - name - updated_date type: object additionalProperties: false OrganizationType: enum: - bank - dispensary - gcv - transport_vendor - muo - data_integrator_client type: string DispensaryBusinessType: type: string enum: - retail - wholesale UUID: type: string format: uuid pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ DueDiligenceStatus: enum: - bank_disconnected - bank_approved - bank_review_in_progress - bank_awaiting_review - bank_in_progress - bank_pending - gcv_approved - gcv_awaiting_review - gcv_in_progress - gcv_pending - update_required type: string City: type: string description: City pattern: ^[a-zA-Z\s.-]+$ PostalCode: type: string description: Postal Code pattern: ^\d{5}(?:[-\s]?\d{4})?$ ShortDate: type: string pattern: ^[2][0][0-9]{2}[-]([0][0-9]|[1][0-2])[-]([0-2][0-9]|[3][0-1]) NullablePositiveInteger: type: integer format: int32 nullable: true minimum: 0 EntityType: enum: - sole - partnership - corporation - llc type: string EIN: type: string description: 'EIN (Employer Identification Number) - ##-#######' pattern: ^\d{2}-\d{7}$ PhoneNumber: type: string description: 'Phone Number - (###) ####-####' pattern: ^\(\d{3}\)\s\d{3}-\d{4}$ Website: type: string description: Website pattern: >- ^(https?:\/\/)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&=]*) AccessCrb: properties: id: $ref: '#/components/schemas/UUID' description: ID name: type: string description: Organization name street_address: type: string description: Street Address street_address_2: type: string nullable: true description: Street Address 2 city: allOf: - $ref: '#/components/schemas/City' nullable: true description: City type: string ein: allOf: - $ref: '#/components/schemas/EIN' nullable: true description: Employer Identification Number type: string phone_number: allOf: - $ref: '#/components/schemas/PhoneNumber' nullable: true description: Phone Number type: string postal_code: allOf: - $ref: '#/components/schemas/PostalCode' nullable: true description: Postal Code type: string country: type: string nullable: true description: Country state: $ref: '#/components/schemas/USStates' description: State website: allOf: - $ref: '#/components/schemas/Website' nullable: true description: Website type: string timezone: $ref: '#/components/schemas/IANATimezones' description: Timezone mailing_street_address: type: string nullable: true description: Mailing Street Address mailing_city: allOf: - $ref: '#/components/schemas/City' nullable: true description: Mailing City type: string mailing_state: allOf: - $ref: '#/components/schemas/USStates' nullable: true description: Mailing State type: string mailing_postal_code: allOf: - $ref: '#/components/schemas/PostalCode' nullable: true description: Mailing Postal Code type: string established_date: allOf: - $ref: '#/components/schemas/ShortDate' nullable: true description: Date the dispensary was established type: string ftEmployees: $ref: '#/components/schemas/NullablePositiveInteger' description: Number of full time employees ptEmployees: $ref: '#/components/schemas/NullablePositiveInteger' description: Number of part time employees entityType: allOf: - $ref: '#/components/schemas/EntityType' nullable: true description: Type of business entity type: string dba: type: string nullable: true description: Doing Business As monthlySales: type: string nullable: true description: Estimated amouunt of monthly sales monthlyCustomers: $ref: '#/components/schemas/NullablePositiveInteger' description: Estimated amount of monthly customers org_type: $ref: '#/components/schemas/OrganizationType' description: >- Org Type dispensary = standalone dispensary. MUO stands for Multi-Unit Organization, where the "muo" org is the parent and it's child orgs have org type dispesary business_type: allOf: - $ref: '#/components/schemas/DispensaryBusinessType' nullable: true type: string template_id: $ref: '#/components/schemas/UUID' template_result_id: $ref: '#/components/schemas/UUID' status: $ref: '#/components/schemas/DueDiligenceStatus' pos_configs: items: $ref: '#/components/schemas/AccessPosConfig' type: array required: - id - name - street_address - street_address_2 - city - ein - phone_number - postal_code - country - state - website - timezone - mailing_street_address - mailing_city - mailing_state - mailing_postal_code - established_date - ftEmployees - ptEmployees - entityType - dba - monthlySales - monthlyCustomers - org_type - business_type - template_id - template_result_id - status - pos_configs type: object additionalProperties: false ServiceProviderCrbs: properties: {} additionalProperties: $ref: '#/components/schemas/AccessCrb' type: object CRB: properties: id: $ref: '#/components/schemas/UUID' description: ID name: type: string description: Organization name street_address: type: string description: Street Address street_address_2: type: string nullable: true description: Street Address 2 city: allOf: - $ref: '#/components/schemas/City' nullable: true description: City type: string ein: allOf: - $ref: '#/components/schemas/EIN' nullable: true description: Employer Identification Number type: string phone_number: allOf: - $ref: '#/components/schemas/PhoneNumber' nullable: true description: Phone Number type: string postal_code: allOf: - $ref: '#/components/schemas/PostalCode' nullable: true description: Postal Code type: string country: type: string nullable: true description: Country state: $ref: '#/components/schemas/USStates' description: State website: allOf: - $ref: '#/components/schemas/Website' nullable: true description: Website type: string timezone: $ref: '#/components/schemas/IANATimezones' description: Timezone mailing_street_address: type: string nullable: true description: Mailing Street Address mailing_city: allOf: - $ref: '#/components/schemas/City' nullable: true description: Mailing City type: string mailing_state: allOf: - $ref: '#/components/schemas/USStates' nullable: true description: Mailing State type: string mailing_postal_code: allOf: - $ref: '#/components/schemas/PostalCode' nullable: true description: Mailing Postal Code type: string established_date: allOf: - $ref: '#/components/schemas/ShortDate' nullable: true description: Date the dispensary was established type: string ftEmployees: $ref: '#/components/schemas/NullablePositiveInteger' description: Number of full time employees ptEmployees: $ref: '#/components/schemas/NullablePositiveInteger' description: Number of part time employees entityType: allOf: - $ref: '#/components/schemas/EntityType' nullable: true description: Type of business entity type: string dba: type: string nullable: true description: Doing Business As monthlySales: type: string nullable: true description: Estimated amouunt of monthly sales monthlyCustomers: $ref: '#/components/schemas/NullablePositiveInteger' description: Estimated amount of monthly customers required: - id - name - street_address - street_address_2 - city - ein - phone_number - postal_code - country - state - website - timezone - mailing_street_address - mailing_city - mailing_state - mailing_postal_code - established_date - ftEmployees - ptEmployees - entityType - dba - monthlySales - monthlyCustomers type: object additionalProperties: false ConflictError: properties: name: type: string default: Conflict message: type: string stack: type: string status: type: number format: double default: 409 data: {} required: - name - message - status type: object additionalProperties: false Countries: type: string enum: - Afghanistan - Albania - Algeria - American Samoa - Andorra - Angola - Anguilla - Antigua & Barbuda - Argentina - Armenia - Aruba - Australia - Austria - Azerbaijan - Bahamas, The - Bahrain - Bangladesh - Barbados - Belarus - Belgium - Belize - Benin - Bermuda - Bhutan - Bolivia - Bosnia & Herzegovina - Botswana - Brazil - British Virgin Is. - Brunei - Bulgaria - Burkina Faso - Burma - Burundi - Cambodia - Cameroon - Canada - Cape Verde - Cayman Islands - Central African Rep. - Chad - Chile - China - Colombia - Comoros - Congo, Dem. Rep. - Congo, Repub. of the - Cook Islands - Costa Rica - Cote d'Ivoire - Croatia - Cuba - Cyprus - Czech Republic - Denmark - Djibouti - Dominica - Dominican Republic - East Timor - Ecuador - Egypt - El Salvador - Equatorial Guinea - Eritrea - Estonia - Ethiopia - Faroe Islands - Fiji - Finland - France - French Guiana - French Polynesia - Gabon - Gambia, The - Gaza Strip - Georgia - Germany - Ghana - Gibraltar - Greece - Greenland - Grenada - Guadeloupe - Guam - Guatemala - Guernsey - Guinea - Guinea-Bissau - Guyana - Haiti - Honduras - Hong Kong - Hungary - Iceland - India - Indonesia - Iran - Iraq - Ireland - Isle of Man - Israel - Italy - Jamaica - Japan - Jersey - Jordan - Kazakhstan - Kenya - Kiribati - Korea, North - Korea, South - Kuwait - Kyrgyzstan - Laos - Latvia - Lebanon - Lesotho - Liberia - Libya - Liechtenstein - Lithuania - Luxembourg - Macau - Macedonia - Madagascar - Malawi - Malaysia - Maldives - Mali - Malta - Marshall Islands - Martinique - Mauritania - Mauritius - Mayotte - Mexico - Micronesia, Fed. St. - Moldova - Monaco - Mongolia - Montserrat - Morocco - Mozambique - Namibia - Nauru - Nepal - Netherlands - Netherlands Antilles - New Caledonia - New Zealand - Nicaragua - Niger - Nigeria - N. Mariana Islands - Norway - Oman - Pakistan - Palau - Panama - Papua New Guinea - Paraguay - Peru - Philippines - Poland - Portugal - Puerto Rico - Qatar - Reunion - Romania - Russia - Rwanda - Saint Helena - Saint Kitts & Nevis - Saint Lucia - St Pierre & Miquelon - Saint Vincent and the Grenadines - Samoa - San Marino - Sao Tome & Principe - Saudi Arabia - Senegal - Serbia - Seychelles - Sierra Leone - Singapore - Slovakia - Slovenia - Solomon Islands - Somalia - South Africa - Spain - Sri Lanka - Sudan - Suriname - Swaziland - Sweden - Switzerland - Syria - Taiwan - Tajikistan - Tanzania - Thailand - Togo - Tonga - Trinidad & Tobago - Tunisia - Turkey - Turkmenistan - Turks & Caicos Is - Tuvalu - Uganda - Ukraine - United Arab Emirates - United Kingdom - United States - Uruguay - Uzbekistan - Vanuatu - Venezuela - Vietnam - Virgin Islands - Wallis and Futuna - West Bank - Western Sahara - Yemen - Zambia - Zimbabwe description: Enumeration of all of the countries on Earth PositiveInteger: type: integer format: int32 minimum: 0 AvailablePosTypes: type: string enum: - Alleaves - BioTrack - BioTrack Wholesale - Blaze - Canix - Dutchie - Dutchie Wholesale - Flourish Wholesale - Flowhub - Greenbits - GrowFlow - GrowFlow Wholesale - IndicaOnline - Meadow - POSaBIT - Proteus420 - Sage Intacct - Treez - Weave AlleavesTestAuth: description: >- You can connect your Alleaves account to Green Check by simply using your Alleaves username and password. First, you'll want to ensure that your user has the proper API access permissions in order for the integration to succeed. If your user has admin permissions, it should have the proper access by default. https://support.greencheckverified.com/knowledge/connect-alleaves-to-green-check properties: username: type: string password: type: string required: - username - password type: object additionalProperties: false BiotrackTestAuth: description: >- BioTrack enables its users to connect to other systems like Green Check with something called a SQL to SQL Pipeline. This simply means that Green Check will have read-only access to your BioTrack data. First, you'll need to ask BioTrack to email you the necessary credentials for the integration. Copy and paste the email below and send it to Support@biotrackthc.com. Then, you'll need to configure BioTrack to grant Green Check access, follow the instructions found here: https://f.hubspotusercontent20.net/hubfs/5237927/Connect%20BioTrack%20to%20Green%20Check.pdf. If your Network Connection requires you to whitelist Green Check's IP, please add these IP addresses to your whitelist: 52.4.48.232 and 35.169.209.100 Hello, I need some assistance. I would like to integrate our system with the Green Check system. Please provide me with the necessary information about our database that the Green Check team needs for Read Only access. https://support.greencheckverified.com/knowledge/connect-biotrack-to-green-check https://support.greencheckverified.com/knowledge/how-to-handle-biotrack-connection-refusal-errors https://support.greencheckverified.com/knowledge/how-to-handle-biotrack-pg_hba.conf-errors properties: username: type: string password: type: string server_ip: type: string port: type: number format: double database_name: type: string required: - username - password - server_ip - port - database_name type: object additionalProperties: false BlazeTestAuth: description: >- Blaze provides its users with a unique Developer Key that can be used to integrate with other systems like Green Check. In order to connect with third party applications, you will need to generate a developer key from the backend of BLAZE Retail. Follow the instructions in the link below to generate a key. https://support.greencheckverified.com/knowledge/connect-blaze-to-green-check properties: Authorization: type: string required: - Authorization type: object additionalProperties: false BrytemapTestAuth: description: >- Brytemap provides its users with a unique Client Key that can be used to integrate with other systems like Green Check. First, you'll need to ask Brytemap to add your Client Key to Green Check's Brytemap account. Copy and paste the email below and send it to support@brytemap.com. Hello, I need some assistance. I would like to integrate our system with the Green Check system. Please help me by providing access to Green Check's Brytemap Partners account. This account is set up under engineering@greencheckverified.com. https://support.greencheckverified.com/knowledge/connect-brytemap-to-green-check properties: client_key: type: string required: - client_key type: object additionalProperties: false CanixTestAuth: description: >- Canix provides its users with a unique API key that can be used to integrate with other systems like Green Check. Go to your Canix settingsToggle the switch next to Green Check Verified to the on position. Copy your client API key. https://support.greencheckverified.com/knowledge/connect-canix-to-green-check properties: key: type: string required: - key type: object additionalProperties: false CovaTestAuth: description: >- Cova provides its users with a unique API key that can be used to integrate with other systems like Green Check. First, you'll need to ask Cova to add your API key to Green Check's Cova Partners account. Copy and paste the email below and send it to apisupport@covasoftware.com. Hello, I need some assistance. I would like to integrate our system with the Green Check system. Please help me by providing access to Green Check's Cova Partners account. This account is set up under engineering@greencheckverified.com. https://support.greencheckverified.com/knowledge/connect-cova-to-green-check properties: username: type: string password: type: string client_id: type: string client_secret: type: string required: - username - password - client_id - client_secret type: object additionalProperties: false FlourishTestAuth: description: >- To connect this integration, you’ll need your Flourish Username and API Key. Go to the following URL for a full guide on how to do this: https://docs.flourishsoftware.com/article/xsefgb8b0s-external-api-generate-or-reset-api-key https://support.greencheckverified.com/knowledge/connect-flourish-to-green-check properties: api_key: type: string required: - api_key type: object additionalProperties: false FlowhubTestAuth: description: >- Flowhub provides its users with a unique API key that can be used to integrate with other systems like Green Check. First, you'll need to ask Flowhub to email you your API credentials. Please initiate the process by following this link to the Flowhub Integration Request form: https://flowhub.com/api-integration-request. Please fill out all fields and select Green Check as the desired partner and Submit. https://support.greencheckverified.com/knowledge/connecting-flowhub-to-green-check properties: key: type: string clientId: type: string required: - key - clientId type: object additionalProperties: false GreenbitsTestAuth: description: >- To share your API token with Green Check, you will need to set up a new Role and User account in Greenbits that Green Check will use to access the token. Ensure this role has the following permissions: View Products, Access Backoffice, View product types, View brands, View strains, View suppliers. Follow the instructions in the link below to set this up. https://support.greencheckverified.com/en/knowledge/connect-greenbits-to-green-check properties: username: type: string password: type: string required: - username - password type: object additionalProperties: false GrowFlowTestAuth: description: >- First, you'll need to ask GrowFlow to enable the Green Check integration. Log into your GrowFlow account. Using the chat bubble, ask their Support team to enable the Green Check integration for all of your locations. Then use your client ID, found in the URL of any growflow page, like: https://retail.growflow.com/c/CLIENT_ID/ https://support.greencheckverified.com/knowledge/connect-growflow-to-green-check properties: client_id_name: type: string required: - client_id_name type: object additionalProperties: false GrowFlowWholesaleTestAuth: description: >- To connect this integration, you'll need your cannabis license number and the state it was issued in properties: state: type: string license_number: type: string required: - state - license_number type: object additionalProperties: false IndicaOnlineTestAuth: description: To connect this integration, you’ll need your IndicaOnline API Key properties: apiKey: type: string officeId: type: number format: double required: - apiKey - officeId type: object additionalProperties: false IntacctTestAuth: description: >- To configure this integration, you’ll need to enable access for the Green Check Web Sender ID in your Sage Intacct system and create a Green Check Web Services User. You will then need to gather the credentials listed below. Follow the steps in the following link to help you facilitate this setup. https://support.greencheckverified.com/knowledge/connect-sage-intacct-to-green-check properties: company_id: type: string description: The company of the customer as assigned by Sage user_id: type: string description: The username of the Web Services user created by the customer user_password: type: string description: The password of the Web Services user created by the customer required: - company_id - user_id - user_password type: object additionalProperties: false DutchieTestAuth: description: >- Leaf Logix/Dutchie provides its users with unique API keys that can be used to integrate with other systems like Green Check. First, you'll need to ask Leaf Logix to email you your API credentials. Copy and paste the email below and send it to possupport@dutchie.com. Please note: If your location is licensed for both medical and recreational sales, you will have two separate API keys for this location. Hello, I need some assistance. I would like to integrate our system with the Green Check system. Please help me locate my API key(s) so that I can provide this to the Green Check team to set up the integration. https://support.greencheckverified.com/knowledge/connect-leaf-logix-to-green-check properties: medApiKey: type: string recApiKey: type: string type: object additionalProperties: false MeadowTestAuth: description: >- You can connect your Meadow account to Green Check by simply using your Meadow API Key. Generate a key by navigating to your organization's API Settings page at https://admin.getmeadow.com/settings/api. Click the "Add Integration" button. Click the Company drop-down and select "Green Check Verified". Select the "Analytics Access" checkbox. https://support.greencheckverified.com/knowledge/connect-meadow-to-green-check properties: clientKey: type: string required: - clientKey type: object additionalProperties: false MjFreewayTestAuth: description: >- MJ Freeway provides its users with unique API tokens that can be used to integrate with other systems like Green Check. First, you'll need to ask MJ Freeway to add your API key to Green Check's MJ Freeway Partners account. Copy and paste the email below and send it to partners@mjfreeway.com. Hello, I need some assistance. I would like to integrate our system with the Green Check system. Please help me by providing access to Green Check's MJ Freeway Partners account. This account is set up under engineering@greencheckverified.com. https://support.greencheckverified.com/en/knowledge/connect-mj-freeway-to-green-check properties: apiKey: type: string facilityId: type: string orgId: type: string userId: type: string required: - apiKey - facilityId - orgId - userId type: object additionalProperties: false POSaBITTestAuth: description: >- POSaBIT provides its users with a unique API Token that can be used to integrate with other systems like Green Check. Please contact POSaBIT for help in creating an api key. https://support.greencheckverified.com/knowledge/connect-posabit-to-green-check properties: apiToken: type: string required: - apiToken type: object additionalProperties: false Proteus420TestAuth: description: >- To configure this integration, you’ll need your Proteus420 Client Name and API Key. The Client Name will be the Proteus420 account name that shows on the top of the Proteus420 homepage when logged in. The API Key can be accessed and generated on the web services page (Settings>webservices). There will be a unique API Key for each location. https://support.greencheckverified.com/knowledge/connect-proteus420-to-green-check properties: apiKey: type: string clientName: type: string required: - apiKey - clientName type: object additionalProperties: false TreezTestAuth: description: >- Treez provides its users with a unique API key that can be used to integrate with other systems like Green Check. First, you'll need to ask Treez to email you your API credentials. Copy and paste the email below and send it to support@treez.io. You will also need the organization's name, found in the portal URL like: https://sampleorgname.treez.io Hello, I need some assistance. I would like to integrate our system with the Green Check system. Please provide my API credentials so that I can provide them to the Green Check team to set up the integration. https://support.greencheckverified.com/knowledge/connect-treez-to-green-check properties: apiKey: type: string dispensaryName: type: string required: - apiKey - dispensaryName type: object additionalProperties: false WeaveTestAuth: description: >- To configure this integration, you’ll need your Weave API Key. To generate your Weave API Key, you’ll navigate to https://retail.weaveiq.com/location/overview/api-integrations then click the checkbox to enable Greencheck. https://support.greencheckverified.com/knowledge/connect-weave-to-green-check properties: apiKey: type: string required: - apiKey type: object additionalProperties: false PosCredentials: anyOf: - $ref: '#/components/schemas/AlleavesTestAuth' - $ref: '#/components/schemas/BiotrackTestAuth' - $ref: '#/components/schemas/BlazeTestAuth' - $ref: '#/components/schemas/BrytemapTestAuth' - $ref: '#/components/schemas/CanixTestAuth' - $ref: '#/components/schemas/CovaTestAuth' - $ref: '#/components/schemas/FlourishTestAuth' - $ref: '#/components/schemas/FlowhubTestAuth' - $ref: '#/components/schemas/GreenbitsTestAuth' - $ref: '#/components/schemas/GrowFlowTestAuth' - $ref: '#/components/schemas/GrowFlowWholesaleTestAuth' - $ref: '#/components/schemas/IndicaOnlineTestAuth' - $ref: '#/components/schemas/IntacctTestAuth' - $ref: '#/components/schemas/DutchieTestAuth' - $ref: '#/components/schemas/MeadowTestAuth' - $ref: '#/components/schemas/MjFreewayTestAuth' - $ref: '#/components/schemas/POSaBITTestAuth' - $ref: '#/components/schemas/Proteus420TestAuth' - $ref: '#/components/schemas/TreezTestAuth' - $ref: '#/components/schemas/WeaveTestAuth' CrbCreationParams: properties: org: properties: monthlyCustomers: $ref: '#/components/schemas/PositiveInteger' description: Monthly Customers monthlySales: $ref: '#/components/schemas/PositiveInteger' description: Monthly Sales dba: type: string description: DBA (Doing Business As) entityType: $ref: '#/components/schemas/EntityType' description: Entity Type ptEmployees: $ref: '#/components/schemas/PositiveInteger' description: Part-time Employees ftEmployees: $ref: '#/components/schemas/PositiveInteger' description: Full-time Employees established_date: $ref: '#/components/schemas/ShortDate' description: Established Date website: $ref: '#/components/schemas/Website' description: Website phone_number: $ref: '#/components/schemas/PhoneNumber' description: 'Phone Number - (###) ####-####' ein: $ref: '#/components/schemas/EIN' description: 'EIN (Employer Identification Number) - ##-#######' mailing_postal_code: $ref: '#/components/schemas/PostalCode' description: Mailing Postal Code mailing_state: $ref: '#/components/schemas/USStates' description: Mailing State mailing_city: $ref: '#/components/schemas/City' description: Mailing City mailing_street_address: type: string description: Mailing Street Address country: $ref: '#/components/schemas/Countries' description: Country postal_code: $ref: '#/components/schemas/PostalCode' description: Postal Code city: $ref: '#/components/schemas/City' description: City street_address_2: type: string description: Street Address 2 street_address: type: string description: Street Address primary_contact_email: type: string description: >- Primary contact email of the CRB to help facilitate notification emails. If not provided, default to support business_type: $ref: '#/components/schemas/DispensaryBusinessType' description: Crb's business type (retail or wholesale) template_id: $ref: '#/components/schemas/UUID' description: Onboarding Template Id to assign the CRB timezone: $ref: '#/components/schemas/IANATimezones' description: >- Crb's IANA Timezone. If not provided, will default to default value for state state: $ref: '#/components/schemas/USStates' description: State name: type: string required: - business_type - state - name type: object pos_info: properties: location_id: anyOf: - type: string - type: number format: double description: >- Location ID to specify which specific location within the POS is related to this CRB. Optional. If not provided and the selected POS requires location ID, we will return an error message with available locations so that you can provide one and call again pos_credentials: $ref: '#/components/schemas/PosCredentials' description: POS credentials specific to the POS pos_type: $ref: '#/components/schemas/AvailablePosTypes' description: Point-of-Sale type of the CRB required: - pos_credentials - pos_type type: object users: items: properties: phone: type: string email: type: string lastName: type: string firstName: type: string required: - email - lastName - firstName type: object type: array description: CRB users to invite options: properties: onboarding_required: type: boolean description: >- True to leave this CRB in pending state. Requires users to be present so that we can invite them to complete onboarding on-app. Defaults to false and CRBs are auto-approved. type: object required: - org type: object additionalProperties: false CredentialsSchema: properties: credentials_name: type: string credentials_description: type: string credentials_properties: properties: {} additionalProperties: properties: type: type: string enum: - string - number required: - type type: object type: object required_properties: items: type: string type: array required: - credentials_name - credentials_description - credentials_properties - required_properties type: object additionalProperties: false PosCredentialInformation: properties: Alleaves: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object Dutchie: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object Dutchie Wholesale: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object Meadow: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object Greenbits: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object GrowFlow: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object GrowFlow Wholesale: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object Flourish Wholesale: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object Flowhub: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object BioTrack: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object BioTrack Wholesale: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object Treez: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object Blaze: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object Sage Intacct: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object Canix: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object POSaBIT: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object Proteus420: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object IndicaOnline: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object Weave: properties: pos_credentials_schema: $ref: '#/components/schemas/CredentialsSchema' location_required: type: boolean business_type: $ref: '#/components/schemas/DispensaryBusinessType' pos_type: $ref: '#/components/schemas/AvailablePosTypes' required: - pos_credentials_schema - location_required - business_type - pos_type type: object required: - Alleaves - Dutchie - Dutchie Wholesale - Meadow - Greenbits - GrowFlow - GrowFlow Wholesale - Flourish Wholesale - Flowhub - BioTrack - BioTrack Wholesale - Treez - Blaze - Sage Intacct - Canix - POSaBIT - Proteus420 - IndicaOnline - Weave type: object CRBMMedRecClassification: enum: - both - hemp - medical - recreational type: string CRBMLicensingAuthorityTier: enum: - country - locality - other - region - sub_region type: string CRBMUniformLicenseTypeDescription: enum: - Caregiver - CBD - Corporate Officer - Cultivation - Delivery/Transporter - Event Organizer - Hemp - Illicit Establishment - Management Company - Manufacturer/Processor - Owner/Investor - Research - Retail/Dispensary - Senior Manager - Social Use Club - Storage - Testing - Unknown - Vertically Integrated - Waste Disposal - Wholesale/Distribution type: string CRBMUniformLicenseStatusDescription: enum: - Active - Approved/Pending - Inactive - Pre-License - Unknown - Unlicensed type: string BusinessLicense: properties: licensee: type: string nullable: true license_identifier: type: string nullable: true med_rec_classification: allOf: - $ref: '#/components/schemas/CRBMMedRecClassification' nullable: true type: string locality: type: string nullable: true licensing_authority_name: type: string licensing_authority_tier: $ref: '#/components/schemas/CRBMLicensingAuthorityTier' licensing_authority_address: properties: postal_code: type: string nullable: true sub_region: type: string nullable: true region: type: string nullable: true created_at: type: string nullable: true locality: type: string nullable: true street: type: string nullable: true premise: type: string nullable: true updated_at: type: string nullable: true sub_locality: type: string nullable: true box_number: type: string nullable: true country: type: string nullable: true sub_premise: type: string nullable: true required: - postal_code - sub_region - region - created_at - locality - street - premise - updated_at - sub_locality - box_number - country - sub_premise type: object state_license_class_description: type: string nullable: true state_license_status_description: type: string nullable: true state_license_sub_class_description: type: string nullable: true reported_license_type_description: type: string reported_license_status: type: string reported_license_sub_type: type: string nullable: true uniform_license_type_description: $ref: '#/components/schemas/CRBMUniformLicenseTypeDescription' uniform_license_status_description: $ref: '#/components/schemas/CRBMUniformLicenseStatusDescription' status_date: type: string issued_at: type: string nullable: true expires_at: type: string nullable: true created_at: type: string updated_at: type: string edited_at: type: string businesses: items: properties: name: type: string required: - name type: object type: array individuals: items: properties: name: type: string required: - name type: object type: array required: - licensee - license_identifier - med_rec_classification - locality - licensing_authority_name - licensing_authority_tier - licensing_authority_address - state_license_class_description - state_license_status_description - state_license_sub_class_description - reported_license_type_description - reported_license_status - reported_license_sub_type - uniform_license_type_description - uniform_license_status_description - status_date - issued_at - expires_at - created_at - updated_at - edited_at - businesses - individuals type: object additionalProperties: false PagedBusinessLicenseResponse: properties: metadata: properties: total: $ref: '#/components/schemas/PositiveInteger' count: type: string description: Range of items returned required: - total - count type: object data: items: $ref: '#/components/schemas/BusinessLicense' type: array required: - metadata - data type: object additionalProperties: false BusinessLicenseState: anyOf: - $ref: '#/components/schemas/USStates' - type: string enum: - CAN - NLA CannabisLicenseType: $ref: '#/components/schemas/CRBMUniformLicenseTypeDescription' CustomFieldType: enum: - textSingleLine - textMultiLine - radio - select - checkbox - date - file - fileDownload - displayContent - hyperlink type: string SmartRuleAction: description: The desired action to take on the field if all conditions are true enum: - Show - Hide type: string SmartRuleOperator: description: The different condition operators to use enum: - Is Equal To - Is Not Equal To - Is Empty - Is Filled type: string SmartRuleConditionStatement: properties: operator: $ref: '#/components/schemas/SmartRuleOperator' description: >- The logical operator being applied (is equal to, is not equal to, etc) targetFieldId: type: string description: The field to check the value of against the target value targetValue: type: string description: >- The value upon which the operator checks against the target field's value required: - operator - targetFieldId type: object additionalProperties: false SmartRule: properties: action: $ref: '#/components/schemas/SmartRuleAction' description: The resulting action to take on the field if all conditions are true conditions: items: $ref: '#/components/schemas/SmartRuleConditionStatement' type: array description: >- Array of conditions that must all be met in order for the rule to evaluate true. Currently limited to one condition but using an array to make it easier to extend required: - action - conditions type: object additionalProperties: false RequirementCategory: enum: - financial - insurance - legal - license - operational type: string RequirementTypeBankCustom: enum: - bank_custom type: string RequirementTypeBusinessLicense: enum: - business_license type: string RequirementTypeEmployeeLicense: enum: - employee_license type: string RequirementTypeGcvStandard: enum: - gcv_standard type: string OnboardingTemplate: properties: template_id: type: string description: ID of this template date_created: type: string date_updated: type: string updated_by: type: string created_by: type: string published_date: type: string published_by: type: string version: type: string description: Current template version. Will be "draft" if unpublished changes name: type: string description: Template name. Internal only description: type: string description: Template description. Internal only custom_field_sections: items: properties: smart_rule: $ref: '#/components/schemas/SmartRule' fields: items: properties: attachments: items: properties: id: type: string file_name: type: string required: - id - file_name type: object type: array description: >- List of file names and document IDs of files attached to this field. Used in File and Display Content fields paragraph: type: string description: Paragraph of text. Used in Display Content smart_rule: $ref: '#/components/schemas/SmartRule' required: type: boolean description: Set to true if this field should be required in the form helpText: type: string description: Tooltip text label: type: string type: $ref: '#/components/schemas/CustomFieldType' id: type: string required: - label - type - id type: object type: array order: type: number format: double description: type: string label: type: string section_id: type: string required: - fields - order - label - section_id type: object type: array description: >- Custom fields array. These are a list of freeform questions to collect any information from your clients. document_requirements: items: properties: type: anyOf: - $ref: '#/components/schemas/RequirementTypeBankCustom' - $ref: '#/components/schemas/RequirementTypeBusinessLicense' - $ref: '#/components/schemas/RequirementTypeEmployeeLicense' - $ref: '#/components/schemas/RequirementTypeGcvStandard' archived: type: boolean required: type: boolean attachments: items: properties: id: type: string file_name: type: string required: - id - file_name type: object type: array category: $ref: '#/components/schemas/RequirementCategory' description: type: string name: type: string requirement_id: type: string required: - type - required - category - description - name - requirement_id type: object type: array required: - template_id - date_created - date_updated - updated_by - created_by - version - name - description - custom_field_sections - document_requirements type: object additionalProperties: false ThinCrbInfo: properties: ein: type: string name: type: string mailingstreetaddress: type: string mailingstate: type: string mailingpostalcode: type: string mailingcity: type: string streetaddress: type: string state: type: string postalcode: type: string city: type: string required: - ein type: object additionalProperties: false ConnectCrbParams: properties: id: type: string template_id: type: string required: - id type: object additionalProperties: false ServiceProviderCRB: properties: id: $ref: '#/components/schemas/UUID' description: ID name: type: string description: Organization name street_address: type: string description: Street Address street_address_2: type: string nullable: true description: Street Address 2 city: allOf: - $ref: '#/components/schemas/City' nullable: true description: City type: string ein: allOf: - $ref: '#/components/schemas/EIN' nullable: true description: Employer Identification Number type: string phone_number: allOf: - $ref: '#/components/schemas/PhoneNumber' nullable: true description: Phone Number type: string postal_code: allOf: - $ref: '#/components/schemas/PostalCode' nullable: true description: Postal Code type: string country: type: string nullable: true description: Country state: $ref: '#/components/schemas/USStates' description: State website: allOf: - $ref: '#/components/schemas/Website' nullable: true description: Website type: string timezone: $ref: '#/components/schemas/IANATimezones' description: Timezone mailing_street_address: type: string nullable: true description: Mailing Street Address mailing_city: allOf: - $ref: '#/components/schemas/City' nullable: true description: Mailing City type: string mailing_state: allOf: - $ref: '#/components/schemas/USStates' nullable: true description: Mailing State type: string mailing_postal_code: allOf: - $ref: '#/components/schemas/PostalCode' nullable: true description: Mailing Postal Code type: string established_date: allOf: - $ref: '#/components/schemas/ShortDate' nullable: true description: Date the dispensary was established type: string ftEmployees: $ref: '#/components/schemas/NullablePositiveInteger' description: Number of full time employees ptEmployees: $ref: '#/components/schemas/NullablePositiveInteger' description: Number of part time employees entityType: allOf: - $ref: '#/components/schemas/EntityType' nullable: true description: Type of business entity type: string dba: type: string nullable: true description: Doing Business As monthlySales: type: string nullable: true description: Estimated amouunt of monthly sales monthlyCustomers: $ref: '#/components/schemas/NullablePositiveInteger' description: Estimated amount of monthly customers org_type: $ref: '#/components/schemas/OrganizationType' description: >- Org Type dispensary = standalone dispensary. MUO stands for Multi-Unit Organization, where the "muo" org is the parent and it's child orgs have org type dispesary business_type: allOf: - $ref: '#/components/schemas/DispensaryBusinessType' nullable: true type: string template_id: $ref: '#/components/schemas/UUID' template_result_id: $ref: '#/components/schemas/UUID' status: $ref: '#/components/schemas/DueDiligenceStatus' pos_configs: items: $ref: '#/components/schemas/AccessPosConfig' type: array required: - id - name - street_address - street_address_2 - city - ein - phone_number - postal_code - country - state - website - timezone - mailing_street_address - mailing_city - mailing_state - mailing_postal_code - established_date - ftEmployees - ptEmployees - entityType - dba - monthlySales - monthlyCustomers - org_type - business_type - template_id - template_result_id - status - pos_configs type: object additionalProperties: false UpdateCrbInput: properties: timezone: $ref: '#/components/schemas/IANATimezones' description: Defaults to default for state street_address: type: string description: Street Address street_address_2: type: string description: Street Address 2 city: $ref: '#/components/schemas/City' description: City postal_code: $ref: '#/components/schemas/PostalCode' description: Postal Cod country: $ref: '#/components/schemas/Countries' description: Country mailing_street_address: type: string description: Mailing Street Address mailing_city: $ref: '#/components/schemas/City' description: Mailing City mailing_state: $ref: '#/components/schemas/USStates' description: Mailing State mailing_postal_code: $ref: '#/components/schemas/PostalCode' description: Mailing Postal Code ein: $ref: '#/components/schemas/EIN' description: 'EIN (Employer Identification Number) - ##-#######' phone_number: $ref: '#/components/schemas/PhoneNumber' description: 'Phone Number - (###) ####-####' website: $ref: '#/components/schemas/Website' description: Website established_date: $ref: '#/components/schemas/ShortDate' description: Established Date ftEmployees: $ref: '#/components/schemas/PositiveInteger' description: Full-time Employees ptEmployees: $ref: '#/components/schemas/PositiveInteger' description: Part-time Employees entityType: $ref: '#/components/schemas/EntityType' description: Entity Type dba: type: string description: DBA (Doing Business As) monthlySales: $ref: '#/components/schemas/PositiveInteger' description: Monthly Sales monthlyCustomers: $ref: '#/components/schemas/PositiveInteger' description: Monthly Customers type: object additionalProperties: false DueDiligenceDocumentStatus: enum: - approved - archived - pending type: string TribalNation: type: string TribalNationLicenseType: enum: - Cultivator - Processor - Lab - Dispensary (Adult / Medical) - Social Consumption / Events - Delivery / Transport - Combined License - Other type: string CRBLicenseStatus: description: |- This enum is used within our UI to display the license status. 1:1 with CRBMUniformLicenseStatusDescription + Unchecked enum: - Active - Approved/Pending - Inactive - Pre-License - Unknown - Unlicensed - Unmatched type: string RequirementDocumentResponse: properties: id: type: string description: Document ID internal_note: type: string description: Service provider Internal Note friendly_name: type: string description: Service provider friendly file name expiration_date: type: string description: Expiration Date license_name: type: string description: License Name license_number: type: string description: License Number state: $ref: '#/components/schemas/USStates' description: State reviewed_by: $ref: '#/components/schemas/UUID' description: Reviewed By review_date: $ref: '#/components/schemas/UtcDateTime' description: Review Date type: string format: date-time status: $ref: '#/components/schemas/DueDiligenceDocumentStatus' description: Due Diligence Document Status file_name: type: string description: File Name uploaded_by: type: string description: Uploaded By upload_date: $ref: '#/components/schemas/UtcDateTime' description: Uploaded Date type: string format: date-time tribal_nation: $ref: '#/components/schemas/TribalNation' description: Tribal Nation tribal_nation_license_type: $ref: '#/components/schemas/TribalNationLicenseType' description: Tribal Nation licenses type license_status: $ref: '#/components/schemas/CRBLicenseStatus' description: License status for CRB Monitor, only for business licenses date_verified: type: string description: Date that GCV Verified the license in CRB Monitor verified_expiration_date: type: string description: Confirmed expiration date from CRB Monitor data business_name: type: string description: Legal business name on the license from CRB Monitor data licensing_authority: type: string description: Licensing Authority of the license from CRB Monitor data license_identifier: type: string description: License Number in CRB Monitor uniform_license_type_description: $ref: '#/components/schemas/CRBMUniformLicenseTypeDescription' description: License type reported_license_type_description: type: string description: Reported license type description licensing_authority_state: type: string description: State of the Licensing Authority required: - id - status - uploaded_by - upload_date type: object additionalProperties: false DocumentRequirementResponse: properties: requirement_id: type: string description: Requirement ID date_updated: type: string description: Date Updated date_created: type: string description: Date Created requirement_version: type: string description: Requirement Version status: type: string description: Status documents: items: $ref: '#/components/schemas/RequirementDocumentResponse' type: array description: Custom field data name: type: string description: Requirement Name description: type: string description: Requirement Description category: type: string description: Category archived: type: boolean description: Archived required: type: boolean description: Required required: - name type: object additionalProperties: false CustomRequirementResponse: properties: id: type: string description: Field ID label: type: string description: Custom Field Name value: type: string nullable: true description: Custom Field Value doc_metadata: items: properties: upload_date: type: string nullable: true file_name: type: string nullable: true id: type: string required: - upload_date - file_name - id type: object type: array description: Additional metadata about documents uploaded required: - id - label - value type: object additionalProperties: false OnboardingTemplateResponse: properties: id: $ref: '#/components/schemas/UUID' description: Record ID org_id: $ref: '#/components/schemas/UUID' description: Crb Organization ID template_id: $ref: '#/components/schemas/UUID' description: Template ID template_version: type: string description: Template Version name: type: string description: Template Name description: type: string description: Template Description last_updated: type: string description: Last Updated start_date: type: string description: Start Date submitted_date: type: string description: Submitted Date submitted_by: $ref: '#/components/schemas/UUID' description: Submitted By status: $ref: '#/components/schemas/DueDiligenceStatus' description: Due Diligence Status reviewed_by: $ref: '#/components/schemas/UUID' description: Reviewed By review_start_date: type: string nullable: true description: Review Start Date review_date: type: string description: Review Date disconnected_on: type: string nullable: true description: Disconnected On standard_requirements: items: $ref: '#/components/schemas/DocumentRequirementResponse' type: array description: All Onboarding template document data custom_requirements: items: $ref: '#/components/schemas/CustomRequirementResponse' type: array description: Custom field data required: - id - org_id - template_id - template_version - name - last_updated - status - review_start_date - disconnected_on - standard_requirements - custom_requirements type: object additionalProperties: false AddDocumentToOnboardingTemplateResponse: properties: document_id: type: string updated_requirement_response: $ref: '#/components/schemas/DocumentRequirementResponse' required: - document_id - updated_requirement_response type: object additionalProperties: false AllowedS3FileMimeTypes: enum: - text/csv - application/msword - >- application/vnd.openxmlformats-officedocument.wordprocessingml.document - image/gif - image/jpeg - application/json - application/vnd.oasis.opendocument.presentation - application/vnd.oasis.opendocument.spreadsheet - application/vnd.oasis.opendocument.text - image/png - application/pdf - application/vnd.ms-powerpoint - >- application/vnd.openxmlformats-officedocument.presentationml.presentation - application/rtf - image/svg+xml - image/tiff - text/plain - application/vnd.visio - application/vnd.ms-excel - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - application/xml - text/xml type: string AddDocumentToOnboardingTemplateRequest: properties: file_name: type: string description: Full file name, including the file extension pattern: >- ^[^./\\]+\.(csv|docx?|gif|jpe?g|json|odp|ods|odt|png|pdf|pptx?|rtf|svg|tiff?|txt|vsd|xlsx?|xml)$ file_type: $ref: '#/components/schemas/AllowedS3FileMimeTypes' description: File mime type, to ensure only allowed types are uploaded base64: type: string description: A base 64 encoded string of the file contents. required: - file_name - file_type - base64 type: object additionalProperties: false AddExistingDocumentToOnboardingTemplateRequest: properties: document_id: type: string required: - document_id type: object additionalProperties: false UpdateDocumentRequest: properties: status: $ref: '#/components/schemas/DueDiligenceDocumentStatus' required: - status type: object additionalProperties: false SaleTypeRetail: enum: - retail type: string MedicalOrRec: enum: - medical - rec type: string IDType: enum: - drivers - medical - ssn - passport - medical_with_rec - medical_with_state_card - caregiver - minor_medical - temporary_minor_medical - temporary_adult type: string SaleCustomer: properties: customer_id: allOf: - $ref: '#/components/schemas/UUID' nullable: true description: Green Check Customer ID type: string pos_customer_id: type: string nullable: true description: The customer ID in the POS system type: allOf: - $ref: '#/components/schemas/MedicalOrRec' nullable: true description: Is Sale Medical or Adult Use type: string dob: type: string nullable: true description: Customer Date of Birth yyyy-MM-dd id_type: allOf: - $ref: '#/components/schemas/IDType' nullable: true description: Customer ID Type type: string id_expiration_date: type: string nullable: true description: Customer ID Expiration Date required: - customer_id - pos_customer_id - type - dob - id_type - id_expiration_date type: object additionalProperties: false ComplianceStatus: enum: - unchecked - red_flag - green_checked - warning type: string LocalDateTime: type: string pattern: >- ^[2][0][0-9]{2}[-]([0][0-9]|[1][0-2])[-]([0-2][0-9]|[3][0-1])\s([0-1][0-9]|[2][0-3])[:][0-5][0-9][:][0-5][0-9][.][0-9]{3} TransactionType: enum: - sale - return - adjustment type: string SaleType: enum: - retail - wholesale type: string ProductCategoryType: type: string enum: - flower - oil/concentrate - edible - other - seedling - seed - liquid - solid - extract - plant - accessory - marijuana_product - topical - edible_liquid nullable: true SaleDiscount: properties: flat_amount: type: number format: double nullable: true description: Discount amount in cents pct_amount: type: number format: double nullable: true description: Discount percentage as a real number name: type: string nullable: true description: Name of discount required: - flat_amount - pct_amount - name type: object additionalProperties: false SaleTax: properties: flat_amount: type: number format: double nullable: true description: Tax amount in cents pct_amount: type: number format: double nullable: true description: Tax percentage as a real number name: type: string nullable: true description: Name of tax required: - flat_amount - pct_amount - name type: object additionalProperties: false SaleFee: properties: fee_name: type: string nullable: true description: Name of the fee percent_amount: type: number format: double nullable: true description: Fee percentage as a real number flat_amount: type: number format: double nullable: true description: Flat amount of fee in cents included_in_subtotal: type: boolean nullable: true description: True if this fee's calculation is included in the subtotal required: - fee_name - percent_amount - flat_amount - included_in_subtotal type: object additionalProperties: false SaleLineItem: properties: product_id: allOf: - $ref: '#/components/schemas/UUID' nullable: true description: >- The unique ID of the product, can be accessed with /product endpoints type: string pos_product_id: type: string nullable: true description: The product ID in the POS system product_name: type: string nullable: true description: Name in POS system num_units: type: number format: double nullable: true description: Number of units bought price_per_unit: type: number format: double nullable: true description: Price per individual unit grams: type: number format: double nullable: true description: Weight of product in grams product_type: allOf: - $ref: '#/components/schemas/ProductCategoryType' nullable: true description: GCV mapped product type type: string cannabis_product: type: boolean nullable: true description: Whether product contains cannabis line_item_discounts: items: $ref: '#/components/schemas/SaleDiscount' type: array description: Line item specific discounts line_item_taxes: items: $ref: '#/components/schemas/SaleTax' type: array description: Line item specific taxes line_item_fees: items: $ref: '#/components/schemas/SaleFee' type: array description: Line item specific fees required: - product_id - pos_product_id - product_name - num_units - price_per_unit - grams - product_type - cannabis_product - line_item_discounts - line_item_taxes - line_item_fees type: object additionalProperties: false PaymentType: enum: - cash - check - debit - credit - multiple - ach - wire - other - unknown type: string SalePayment: properties: type: $ref: '#/components/schemas/PaymentType' description: Payment Type amount_paid: type: number format: double description: Amount in cents for this payment type required: - type - amount_paid type: object additionalProperties: false RetailSale: properties: id: $ref: '#/components/schemas/UUID' description: Green Check generated ID pos_sale_id: type: string nullable: true description: Sale ID in the POS system crb_id: $ref: '#/components/schemas/UUID' description: ID of the CRB subtotal: type: number format: double nullable: true description: Pre-tax dollar amount in cents total_discounts: type: number format: double nullable: true description: Total discount amount in cents tax_paid: type: number format: double nullable: true description: Tax amount in cents total_paid: type: number format: double nullable: true description: Price + Tax in cents date: $ref: '#/components/schemas/UtcDateTime' description: UTC ISO Date of the Sale type: string format: date-time local_date: $ref: '#/components/schemas/LocalDateTime' description: Local Date of the Sale type: string pattern: >- ^[2][0][0-9]{2}[-]([0][0-9]|[1][0-2])[-]([0-2][0-9]|[3][0-1]\s([0-1][0-9]|[2][0-3])[:][0-5][0-9][:][0-5][0-9]([.][0-9]{1,3})? gc_created_date: $ref: '#/components/schemas/UtcDateTime' description: Our created / updated dates type: string format: date-time gc_updated_date: $ref: '#/components/schemas/UtcDateTime' type: string format: date-time transaction_type: allOf: - $ref: '#/components/schemas/TransactionType' nullable: true description: Transaction Type provided by point of sale type: string pos_name: $ref: '#/components/schemas/FriendlyPosName' description: Point of Sale that the sale originated from type: $ref: '#/components/schemas/SaleTypeRetail' employee_id: type: string nullable: true description: Employee ID line_items: items: $ref: '#/components/schemas/SaleLineItem' type: array description: Sale Line Items discounts: items: $ref: '#/components/schemas/SaleDiscount' type: array description: Sale Discounts taxes: items: $ref: '#/components/schemas/SaleTax' type: array description: Sale Taxes payments: items: $ref: '#/components/schemas/SalePayment' type: array description: Payment type and amount customer: $ref: '#/components/schemas/SaleCustomer' description: Customer Information fees: items: $ref: '#/components/schemas/SaleFee' type: array description: Sale Fees compliance_status: allOf: - $ref: '#/components/schemas/ComplianceStatus' nullable: true description: Green Check Verified compliance status type: string compliance_exceptions: items: type: string type: array nullable: true description: Compliance Exceptions compliance_warnings: items: type: string type: array nullable: true description: Compliance Warnings required: - id - pos_sale_id - crb_id - subtotal - total_discounts - tax_paid - total_paid - date - local_date - gc_created_date - gc_updated_date - transaction_type - pos_name - type - line_items - discounts - taxes - payments - customer - fees - compliance_status - compliance_exceptions - compliance_warnings type: object additionalProperties: false SaleTypeWholesale: enum: - wholesale type: string WholesaleSale: properties: id: $ref: '#/components/schemas/UUID' description: Green Check generated ID pos_sale_id: type: string nullable: true description: Sale ID in the POS system crb_id: $ref: '#/components/schemas/UUID' description: ID of the CRB subtotal: type: number format: double nullable: true description: Pre-tax dollar amount in cents total_discounts: type: number format: double nullable: true description: Total discount amount in cents tax_paid: type: number format: double nullable: true description: Tax amount in cents total_paid: type: number format: double nullable: true description: Price + Tax in cents date: $ref: '#/components/schemas/UtcDateTime' description: UTC ISO Date of the Sale type: string format: date-time local_date: $ref: '#/components/schemas/LocalDateTime' description: Local Date of the Sale type: string pattern: >- ^[2][0][0-9]{2}[-]([0][0-9]|[1][0-2])[-]([0-2][0-9]|[3][0-1]\s([0-1][0-9]|[2][0-3])[:][0-5][0-9][:][0-5][0-9]([.][0-9]{1,3})? gc_created_date: $ref: '#/components/schemas/UtcDateTime' description: Our created / updated dates type: string format: date-time gc_updated_date: $ref: '#/components/schemas/UtcDateTime' type: string format: date-time transaction_type: allOf: - $ref: '#/components/schemas/TransactionType' nullable: true description: Transaction Type provided by point of sale type: string pos_name: $ref: '#/components/schemas/FriendlyPosName' description: Point of Sale that the sale originated from type: $ref: '#/components/schemas/SaleTypeWholesale' employee_id: type: string nullable: true description: Employee ID line_items: items: $ref: '#/components/schemas/SaleLineItem' type: array description: Sale Line Items discounts: items: $ref: '#/components/schemas/SaleDiscount' type: array description: Sale Discounts taxes: items: $ref: '#/components/schemas/SaleTax' type: array description: Sale Taxes payments: items: $ref: '#/components/schemas/SalePayment' type: array description: Payment type and amount customer: allOf: - $ref: '#/components/schemas/SaleCustomer' nullable: true description: Customer Information type: string fees: items: $ref: '#/components/schemas/SaleFee' type: array description: Sale Fees invoice: properties: pos_customer_id: type: string nullable: true description: Wholesale POS customer ID memo: type: string nullable: true description: Invoice Memo open_balance: type: number format: double nullable: true description: Invoice Open Balance total: type: number format: double nullable: true description: Invoice Total id: type: string nullable: true description: Invoice Id required: - pos_customer_id - memo - open_balance - total - id type: object required: - id - pos_sale_id - crb_id - subtotal - total_discounts - tax_paid - total_paid - date - local_date - gc_created_date - gc_updated_date - transaction_type - pos_name - type - line_items - discounts - taxes - payments - customer - fees - invoice type: object additionalProperties: false PagedSales: properties: metadata: properties: total: $ref: '#/components/schemas/PositiveInteger' count: type: string description: Range of items returned required: - total - count type: object data: items: anyOf: - $ref: '#/components/schemas/RetailSale' - $ref: '#/components/schemas/WholesaleSale' type: array required: - metadata - data type: object additionalProperties: false NullablePositiveDouble: type: number format: double nullable: true minimum: 0 NullableUtcDateTime: type: string nullable: true format: date-time NullableLocalDateTime: type: string nullable: true pattern: >- ^[2][0][0-9]{2}[-]([0][0-9]|[1][0-2])[-]([0-2][0-9]|[3][0-1])\s([0-1][0-9]|[2][0-3])[:][0-5][0-9][:][0-5][0-9][.][0-9]{3} ProductPriceTier: properties: tier_name: type: string nullable: true description: Price Tier name, if any tier_price: $ref: '#/components/schemas/PositiveInteger' description: Price of the product price tier in cents pos_tier_type: type: string description: >- The type of tier condition from the pos system (like quantity or volume) pos_tier_type_condition_value: type: string description: >- The condition(s) required (based on the tier type) to apply this tier on the product tier_valid_until_date: $ref: '#/components/schemas/NullableUtcDateTime' description: Datetime that this tier stops being valid, if applicable type: string nullable: true format: date-time tier_valid_until_date_local: $ref: '#/components/schemas/NullableLocalDateTime' description: >- Datetime that this tier stops being valid in CRB’s local timezone, if applicable type: string nullable: true pattern: >- ^[2][0][0-9]{2}[-]([0][0-9]|[1][0-2])[-]([0-2][0-9]|[3][0-1]\s([0-1][0-9]|[2][0-3])[:][0-5][0-9][:][0-5][0-9]([.][0-9]{1,3})? required: - tier_name - tier_price - pos_tier_type - pos_tier_type_condition_value - tier_valid_until_date - tier_valid_until_date_local type: object additionalProperties: false ProductImage: properties: url: type: string description: URL to the image file description: type: string nullable: true description: >- Any description provided by the POS like file name, dimensions, product description required: - url - description type: object additionalProperties: false Product: properties: crb_id: $ref: '#/components/schemas/UUID' description: ID of the CRB the product record belongs to. id: $ref: '#/components/schemas/UUID' description: The unique ID of this product record. pos_product_id: type: string description: Product ID in the POS system pos_type: $ref: '#/components/schemas/FriendlyPosName' description: The POS system that this data is sourced from. name: type: string description: The name of the product. gc_product_category_name: $ref: '#/components/schemas/ProductCategoryType' description: >- The Green Check standardized category. Null if we are unable to standardize pos_product_category_name: type: string nullable: true description: Category name as given by the POS. pos_product_subcategory_name: type: string nullable: true description: Subcategory name as given by the POS. pos_strain_name: type: string nullable: true description: Strain name as given by the POS. pos_brand_name: type: string nullable: true description: Brand name as given by the POS. medicated: type: boolean nullable: true description: True or false if this is a THC having marijuana product. sku: type: string nullable: true description: The SKU for the product. description: type: string nullable: true description: Product description. gc_net_weight_grams: $ref: '#/components/schemas/NullablePositiveDouble' description: Our calculated net weight of the product in grams. pos_unit_of_measure: type: string nullable: true description: >- The unit of measure of the product as sold by the POS (weight, quantity, etc). price: $ref: '#/components/schemas/NullablePositiveInteger' description: Price of the product in cents. Can be null if priced by tiers only. unit_cost: $ref: '#/components/schemas/NullablePositiveDouble' description: >- Unit cost of the product in cents. Can be null if not supplied by the POS. pos_updated_date: $ref: '#/components/schemas/NullableUtcDateTime' description: >- The timestamp reported by the POS for the last update to this record in UTC. type: string nullable: true format: date-time pos_updated_date_local: $ref: '#/components/schemas/NullableLocalDateTime' description: >- The timestamp reported by the POS for the last update to this record in the CRB local time. type: string nullable: true pattern: >- ^[2][0][0-9]{2}[-]([0][0-9]|[1][0-2])[-]([0-2][0-9]|[3][0-1]\s([0-1][0-9]|[2][0-3])[:][0-5][0-9][:][0-5][0-9]([.][0-9]{1,3})? gc_created_date: $ref: '#/components/schemas/UtcDateTime' description: The timestamp of this record's insertion in UTC. type: string format: date-time gc_updated_date: $ref: '#/components/schemas/UtcDateTime' type: string format: date-time price_tiers: items: $ref: '#/components/schemas/ProductPriceTier' type: array nullable: true description: >- Price tiers applied to this product. May or may not be provided by the POS system. images: items: $ref: '#/components/schemas/ProductImage' type: array nullable: true description: A list of any images associated with this product. required: - crb_id - id - pos_product_id - pos_type - name - gc_product_category_name - pos_product_category_name - pos_product_subcategory_name - pos_strain_name - pos_brand_name - medicated - sku - description - gc_net_weight_grams - pos_unit_of_measure - price - unit_cost - pos_updated_date - pos_updated_date_local - gc_created_date - gc_updated_date - price_tiers - images type: object additionalProperties: false PagedProducts: properties: metadata: properties: total: $ref: '#/components/schemas/PositiveInteger' count: type: string description: Range of items returned required: - total - count type: object data: items: $ref: '#/components/schemas/Product' type: array required: - metadata - data type: object additionalProperties: false AccessOrderStatus: enum: - Placed - Error type: string AccessOrderErrorCode: description: >- Add error codes here for various expected failure types from POSs, like 'Not enough Inventory', etc enum: - General - UnhandledException - CustomerNotFound - InventoryNotFound - InsufficientQuantity - UnusedInformation - PosRequiresMoreInformation type: string OrderLineItemResponse: properties: gc_inventory_id: type: string description: Inventory ID from Green Check (uuid) quantity: type: number format: double description: >- Quantity of product to purchse. If purchased by weight, refers to number of grams price: type: number format: double description: Price of the product shown/selected at checkout inventory_snapshot: properties: barcode: type: string nullable: true description: >- The tag from the track and trace system that uniquely identifies this product for tracking purposes. May or may not be provided by the POS sku: type: string nullable: true description: SKU for the product. May or may not be provided by the POS name: type: string description: Name of the product required: - barcode - sku - name type: object required: - gc_inventory_id - quantity type: object additionalProperties: false Order: properties: id: $ref: '#/components/schemas/UUID' description: UUID, unique identifier for this order external_reference_id: type: string description: >- External Reference ID, used as an idempotency key to prevent duplicate orders crb_id: $ref: '#/components/schemas/UUID' description: CRB whose POS we created this order on date_created: $ref: '#/components/schemas/UtcDateTime' description: Date this order record was added to the DB type: string format: date-time date_updated: $ref: '#/components/schemas/UtcDateTime' description: Date this order record was last updated type: string format: date-time errors: items: properties: message: type: string code: $ref: '#/components/schemas/AccessOrderErrorCode' required: - message - code type: object type: array description: >- List of error codes for errors that prevented the order from being placed warnings: items: properties: message: type: string code: $ref: '#/components/schemas/AccessOrderErrorCode' required: - message - code type: object type: array description: >- List of error codes for warnings about the order that was successfully placed pos_order_id: type: string description: >- Order ID in the POS system, populated when we place the order request pos_order_datetime: $ref: '#/components/schemas/UtcDateTime' description: >- Order Datetime in the POS system, populated when we place the order request type: string format: date-time status: $ref: '#/components/schemas/AccessOrderStatus' description: >- Status of our Access Order (NOT the fulfillment status of the order in the POS system) line_items: items: $ref: '#/components/schemas/OrderLineItemResponse' type: array required: - id - external_reference_id - crb_id - date_created - date_updated - errors - warnings - status - line_items type: object additionalProperties: false PositiveDouble: type: number format: double minimum: 0 OrderLineItemRequest: properties: gc_inventory_id: $ref: '#/components/schemas/UUID' description: Inventory ID from Green Check (uuid) quantity: $ref: '#/components/schemas/PositiveDouble' description: >- Quantity of product to purchse. If purchased by weight, refers to number of grams price: $ref: '#/components/schemas/PositiveInteger' description: Price of the product shown/selected at checkout in full cents required: - gc_inventory_id - quantity type: object additionalProperties: false OrderAddress: properties: street1: type: string description: Street Address street2: type: string description: Street Address 2 city: type: string description: City state: $ref: '#/components/schemas/USStates' description: State zip: type: string description: Postal Code type: object additionalProperties: false AccessOrderAddress: properties: street1: type: string street2: type: string city: type: string state: $ref: '#/components/schemas/USStates' zip: type: string type: object additionalProperties: false OrderCustomer: properties: first_name: type: string description: First Name last_name: type: string description: Last Name email: type: string description: Email phone_number: type: string description: Phone Number address: $ref: '#/components/schemas/OrderAddress' description: Customer address required: - first_name - last_name - email - phone_number type: object additionalProperties: false AccessOrderCustomer: properties: first_name: type: string last_name: type: string email: type: string phone_number: type: string address: $ref: '#/components/schemas/AccessOrderAddress' required: - first_name - last_name - email - phone_number type: object additionalProperties: false AccessOrderLineItem: properties: gc_inventory_id: type: string description: Inventory ID from Green Check (uuid) quantity: type: number format: double description: >- Quantity of product to purchse. If purchased by weight, refers to number of grams price: type: number format: double description: Price of the product shown/selected at checkout required: - gc_inventory_id - quantity type: object additionalProperties: false AccessOrderFulfillmentType: enum: - Pickup type: string PostOrderRequest: properties: external_reference_id: type: string description: >- External Reference ID, used as an idempotency key to prevent duplicate orders customer: $ref: '#/components/schemas/OrderCustomer' line_items: items: $ref: '#/components/schemas/OrderLineItemRequest' type: array fulfillment_type: $ref: '#/components/schemas/AccessOrderFulfillmentType' order_window_start: $ref: '#/components/schemas/UtcDateTime' description: Order window start time type: string format: date-time order_window_end: $ref: '#/components/schemas/UtcDateTime' description: Order window end time type: string format: date-time order_note: type: string description: Notes on the order required: - external_reference_id - customer - line_items - fulfillment_type type: object additionalProperties: false PagedOrderResponse: properties: metadata: properties: total: $ref: '#/components/schemas/PositiveInteger' count: type: string description: Range of items returned required: - total - count type: object data: items: $ref: '#/components/schemas/Order' type: array required: - metadata - data type: object additionalProperties: false Location: properties: id: $ref: '#/components/schemas/UUID' description: ID for the Location crb_id: $ref: '#/components/schemas/UUID' description: ID of the CRB name: type: string description: Name of the location pos_type: $ref: '#/components/schemas/FriendlyPosName' description: The POS type that the Location data was populated from pos_location_id: type: string description: POS location ID pos_location_type: type: string nullable: true description: POS location type. May or may not be provided by the POS pos_updated_date: $ref: '#/components/schemas/NullableUtcDateTime' description: >- Timestamp reported by the pos for the last update to this record. May or may not be provided by the POS type: string nullable: true format: date-time pos_updated_date_local: $ref: '#/components/schemas/NullableLocalDateTime' description: >- CRB local timestamp reported by the pos for the last update to this record. May or may not be provided by the POS type: string nullable: true pattern: >- ^[2][0][0-9]{2}[-]([0][0-9]|[1][0-2])[-]([0-2][0-9]|[3][0-1]\s([0-1][0-9]|[2][0-3])[:][0-5][0-9][:][0-5][0-9]([.][0-9]{1,3})? gc_created_date: $ref: '#/components/schemas/NullableUtcDateTime' description: >- Timestamp for when this inventory record was processed by green check type: string nullable: true format: date-time gc_created_date_local: $ref: '#/components/schemas/NullableLocalDateTime' description: >- CRB local timestamp for when this inventory record was processed by green check type: string nullable: true pattern: >- ^[2][0][0-9]{2}[-]([0][0-9]|[1][0-2])[-]([0-2][0-9]|[3][0-1]\s([0-1][0-9]|[2][0-3])[:][0-5][0-9][:][0-5][0-9]([.][0-9]{1,3})? required: - id - crb_id - name - pos_type - pos_location_id - pos_location_type - pos_updated_date - pos_updated_date_local - gc_created_date - gc_created_date_local type: object additionalProperties: false PagedLocations: properties: metadata: properties: total: $ref: '#/components/schemas/PositiveInteger' count: type: string description: Range of items returned required: - total - count type: object data: items: $ref: '#/components/schemas/Location' type: array required: - metadata - data type: object additionalProperties: false NullableUUID: type: string format: uuid pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ LocationInventory: properties: name: type: string nullable: true description: Location name quantity: $ref: '#/components/schemas/PositiveInteger' description: Quantity of product within this location location_id: $ref: '#/components/schemas/UUID' description: Id of the location pos_location_type: type: string nullable: true description: Type of location required: - name - quantity - location_id - pos_location_type type: object additionalProperties: false Inventory: properties: id: $ref: '#/components/schemas/UUID' description: The primary key in the record crb_id: $ref: '#/components/schemas/UUID' description: ID of the CRB pos_type: $ref: '#/components/schemas/FriendlyPosName' description: The PosType the inventory record is sourced from product_id: $ref: '#/components/schemas/NullableUUID' description: >- The unique ID of the product, can be accessed with /product endpoints name: type: string description: Name of the product sku: type: string nullable: true description: SKU for the product. May or may not be provided by the POS barcode: type: string nullable: true description: >- The tag from the track and trace system that uniquely identifies this product for tracking purposes. May or may not be provided by the POS total_quantity: $ref: '#/components/schemas/PositiveDouble' description: Total inventory quantity on record across all locations pos_updated_date: $ref: '#/components/schemas/NullableUtcDateTime' description: >- Timestamp reported by the pos for the last update to this record. May or may not be provided by the POS type: string nullable: true format: date-time pos_updated_date_local: $ref: '#/components/schemas/NullableLocalDateTime' description: >- CRB local timestamp reported by the pos for the last update to this record. May or may not be provided by the POS type: string nullable: true pattern: >- ^[2][0][0-9]{2}[-]([0][0-9]|[1][0-2])[-]([0-2][0-9]|[3][0-1]\s([0-1][0-9]|[2][0-3])[:][0-5][0-9][:][0-5][0-9]([.][0-9]{1,3})? gc_created_date: $ref: '#/components/schemas/UtcDateTime' description: >- Timestamp for when this inventory record was processed by green check type: string format: date-time gc_updated_date: $ref: '#/components/schemas/UtcDateTime' type: string format: date-time location_data: items: $ref: '#/components/schemas/LocationInventory' type: array description: >- Location specific quantities. Not all POS systems support location data. required: - id - crb_id - pos_type - product_id - name - sku - barcode - total_quantity - pos_updated_date - pos_updated_date_local - gc_created_date - gc_updated_date type: object additionalProperties: false ExpandedInventory: properties: id: $ref: '#/components/schemas/UUID' description: The primary key in the record crb_id: $ref: '#/components/schemas/UUID' description: ID of the CRB pos_type: $ref: '#/components/schemas/FriendlyPosName' description: The PosType the inventory record is sourced from product_id: $ref: '#/components/schemas/NullableUUID' description: >- The unique ID of the product, can be accessed with /product endpoints name: type: string description: Name of the product sku: type: string nullable: true description: SKU for the product. May or may not be provided by the POS barcode: type: string nullable: true description: >- The tag from the track and trace system that uniquely identifies this product for tracking purposes. May or may not be provided by the POS total_quantity: $ref: '#/components/schemas/PositiveDouble' description: Total inventory quantity on record across all locations pos_updated_date: $ref: '#/components/schemas/NullableUtcDateTime' description: >- Timestamp reported by the pos for the last update to this record. May or may not be provided by the POS type: string nullable: true format: date-time pos_updated_date_local: $ref: '#/components/schemas/NullableLocalDateTime' description: >- CRB local timestamp reported by the pos for the last update to this record. May or may not be provided by the POS type: string nullable: true pattern: >- ^[2][0][0-9]{2}[-]([0][0-9]|[1][0-2])[-]([0-2][0-9]|[3][0-1]\s([0-1][0-9]|[2][0-3])[:][0-5][0-9][:][0-5][0-9]([.][0-9]{1,3})? gc_created_date: $ref: '#/components/schemas/UtcDateTime' description: >- Timestamp for when this inventory record was processed by green check type: string format: date-time gc_updated_date: $ref: '#/components/schemas/UtcDateTime' type: string format: date-time location_data: items: $ref: '#/components/schemas/LocationInventory' type: array description: >- Location specific quantities. Not all POS systems support location data. product: allOf: - $ref: '#/components/schemas/Product' nullable: true type: string required: - id - crb_id - pos_type - product_id - name - sku - barcode - total_quantity - pos_updated_date - pos_updated_date_local - gc_created_date - gc_updated_date - product type: object additionalProperties: false PagedInventory: properties: metadata: properties: total: $ref: '#/components/schemas/PositiveInteger' count: type: string description: Range of items returned required: - total - count type: object data: anyOf: - items: $ref: '#/components/schemas/Inventory' type: array - items: $ref: '#/components/schemas/ExpandedInventory' type: array required: - metadata - data type: object additionalProperties: false InventoryByLocation: properties: id: $ref: '#/components/schemas/UUID' description: The primary key in the record crb_id: $ref: '#/components/schemas/UUID' description: ID of the CRB pos_type: $ref: '#/components/schemas/FriendlyPosName' description: The PosType the inventory record is sourced from product_id: $ref: '#/components/schemas/NullableUUID' description: >- The id of the product from the pos system. Soon will be required and populated name: type: string description: Name of the product sku: type: string nullable: true description: SKU for the product. May or may not be provided by the POS barcode: type: string nullable: true description: >- The tag from the track and trace system that uniquely identifies this product for tracking purposes. May or may not be provided by the POS total_quantity: $ref: '#/components/schemas/PositiveDouble' description: Total inventory quantity on record across all locations pos_updated_date: $ref: '#/components/schemas/NullableUtcDateTime' description: >- Timestamp reported by the pos for the last update to this record. May or may not be provided by the POS type: string nullable: true format: date-time pos_updated_date_local: $ref: '#/components/schemas/NullableLocalDateTime' description: >- CRB local timestamp reported by the pos for the last update to this record. May or may not be provided by the POS type: string nullable: true pattern: >- ^[2][0][0-9]{2}[-]([0][0-9]|[1][0-2])[-]([0-2][0-9]|[3][0-1]\s([0-1][0-9]|[2][0-3])[:][0-5][0-9][:][0-5][0-9]([.][0-9]{1,3})? gc_created_date: $ref: '#/components/schemas/UtcDateTime' description: >- Timestamp for when this inventory record was processed by green check type: string format: date-time gc_updated_date: $ref: '#/components/schemas/UtcDateTime' type: string format: date-time quantity: $ref: '#/components/schemas/PositiveInteger' description: Quantity in this location required: - id - crb_id - pos_type - product_id - name - sku - barcode - total_quantity - pos_updated_date - pos_updated_date_local - gc_created_date - gc_updated_date - quantity type: object additionalProperties: false ExpandedInventoryByLocation: properties: id: $ref: '#/components/schemas/UUID' description: The primary key in the record crb_id: $ref: '#/components/schemas/UUID' description: ID of the CRB pos_type: $ref: '#/components/schemas/FriendlyPosName' description: The PosType the inventory record is sourced from product_id: $ref: '#/components/schemas/NullableUUID' description: >- The id of the product from the pos system. Soon will be required and populated name: type: string description: Name of the product sku: type: string nullable: true description: SKU for the product. May or may not be provided by the POS barcode: type: string nullable: true description: >- The tag from the track and trace system that uniquely identifies this product for tracking purposes. May or may not be provided by the POS total_quantity: $ref: '#/components/schemas/PositiveDouble' description: Total inventory quantity on record across all locations pos_updated_date: $ref: '#/components/schemas/NullableUtcDateTime' description: >- Timestamp reported by the pos for the last update to this record. May or may not be provided by the POS type: string nullable: true format: date-time pos_updated_date_local: $ref: '#/components/schemas/NullableLocalDateTime' description: >- CRB local timestamp reported by the pos for the last update to this record. May or may not be provided by the POS type: string nullable: true pattern: >- ^[2][0][0-9]{2}[-]([0][0-9]|[1][0-2])[-]([0-2][0-9]|[3][0-1]\s([0-1][0-9]|[2][0-3])[:][0-5][0-9][:][0-5][0-9]([.][0-9]{1,3})? gc_created_date: $ref: '#/components/schemas/UtcDateTime' description: >- Timestamp for when this inventory record was processed by green check type: string format: date-time gc_updated_date: $ref: '#/components/schemas/UtcDateTime' type: string format: date-time quantity: $ref: '#/components/schemas/PositiveInteger' description: Quantity in this location product: allOf: - $ref: '#/components/schemas/Product' nullable: true type: string required: - id - crb_id - pos_type - product_id - name - sku - barcode - total_quantity - pos_updated_date - pos_updated_date_local - gc_created_date - gc_updated_date - quantity - product type: object additionalProperties: false PagedLocationInventory: properties: metadata: properties: total: $ref: '#/components/schemas/PositiveInteger' count: type: string description: Range of items returned required: - total - count type: object data: anyOf: - items: $ref: '#/components/schemas/InventoryByLocation' type: array - items: $ref: '#/components/schemas/ExpandedInventoryByLocation' type: array required: - metadata - data type: object additionalProperties: false DocumentDownload: properties: id: type: string org_id: type: string s3_key: type: string file_name: type: string uploaded_by: type: string upload_date: type: string deleted: type: boolean download_link: type: string description: Link to download a document. Expires in one hour expires_at: type: number format: double description: Expiration time in UTC milliseconds required: - id - org_id - s3_key - file_name - uploaded_by - upload_date - deleted - download_link - expires_at type: object additionalProperties: false Gender: enum: - Male - Female - Other type: string Customer: properties: crb_id: $ref: '#/components/schemas/UUID' description: ID of the CRB the customer record belongs to. id: $ref: '#/components/schemas/UUID' description: The unique ID of this customer record. pos_type: $ref: '#/components/schemas/FriendlyPosName' description: the PosType the customer record is sourced from pos_customer_id: type: string description: ID of the customer in the POS first_name: type: string nullable: true description: Hashed first name last_name: type: string nullable: true description: Hashed last name middle_name: type: string nullable: true description: Hashed middle name dob: type: string nullable: true description: Plain date field for customer date of birth address_1: type: string nullable: true description: Customer address address_2: type: string nullable: true description: Additional Customer address city: type: string nullable: true description: City state: type: string nullable: true description: State zip_code: type: string nullable: true description: Zip code phone: type: string nullable: true description: Hashed phone number cell_phone: type: string nullable: true description: Hashed cell phone number email_address: type: string nullable: true description: Hashed email address gender: allOf: - $ref: '#/components/schemas/Gender' nullable: true description: Gender type: string pos_identification_type: type: string nullable: true description: Main form of identification used by the customer pos_customer_type: type: string nullable: true description: >- Raw POS value for customer type, used to determine if medical or recreational gc_customer_type: allOf: - $ref: '#/components/schemas/MedicalOrRec' nullable: true description: Customer type determined by GCV, Medical or Recreational type: string medical_id: type: string nullable: true description: Hashed medical ID medical_id_expiration_date: type: string nullable: true description: Medical ID expiration date drivers_license_id: type: string nullable: true description: Hashed drivers license ID drivers_license_expiration_date: type: string nullable: true description: Drivers license expiration date other_id: type: string nullable: true description: Hashed other license ID other_id_expiration_date: type: string nullable: true description: Other ID expiration caregiver: type: boolean nullable: true description: True if this customer is a caregiver loyalty_member: type: boolean nullable: true description: True if this customer is a loyalty member loyalty_points: allOf: - $ref: '#/components/schemas/PositiveDouble' nullable: true description: Number of accrued loyalty points type: string anonymous: type: boolean nullable: true description: True if this is an anonymous customer, can depend on the state pos_updated_date: type: string nullable: true description: >- the timestamp reported by the pos for the last update to this record in UTC pos_updated_date_local: type: string nullable: true description: >- the timestamp reported by the pos for the last update to this record in the crb local time gc_updated_date: type: string nullable: true description: the timestamp of this records insertion/updates in UTC gc_created_date: type: string nullable: true required: - crb_id - id - pos_type - pos_customer_id - first_name - last_name - middle_name - dob - address_1 - address_2 - city - state - zip_code - phone - cell_phone - email_address - gender - pos_identification_type - pos_customer_type - gc_customer_type - medical_id - medical_id_expiration_date - drivers_license_id - drivers_license_expiration_date - other_id - other_id_expiration_date - caregiver - loyalty_member - loyalty_points - anonymous - pos_updated_date - pos_updated_date_local - gc_updated_date - gc_created_date type: object additionalProperties: false PagedCustomers: properties: metadata: properties: total: $ref: '#/components/schemas/PositiveInteger' count: type: string description: Range of items returned required: - total - count type: object data: items: $ref: '#/components/schemas/Customer' type: array required: - metadata - data type: object additionalProperties: false Customers: items: $ref: '#/components/schemas/Customer' type: array Document: properties: id: type: string org_id: type: string s3_key: type: string file_name: type: string uploaded_by: type: string upload_date: type: string deleted: type: boolean required: - id - org_id - s3_key - file_name - uploaded_by - upload_date - deleted type: object additionalProperties: false AccessScopes: enum: - service-provider:read - service-provider:write - crb:read - point-of-sale:read - point-of-sale:write - trace - admin - ein:read - crb-id-request:read - create-crb-api-key:write - connect-crb-to-sp:write type: string AuthResponse: properties: access_token: type: string description: Bearer token passed with request token_type: type: string enum: - Bearer nullable: false description: Access returns a Bearer token scope: items: $ref: '#/components/schemas/AccessScopes' type: array description: List of scopes this token has access to expires_at: type: number format: double description: Seconds until this token expires client_id: type: string description: Your client Id issued_at: type: number format: double description: >- When the token was issued, expressed as the number of seconds since the Unix epoch required: - access_token - token_type - scope - expires_at - client_id - issued_at type: object additionalProperties: false AccessGrantType: enum: - client_credentials type: string TokenRequestBody: properties: client_id: type: string client_secret: type: string grant_type: $ref: '#/components/schemas/AccessGrantType' scope: items: $ref: '#/components/schemas/AccessScopes' type: array required: - client_id - client_secret - grant_type type: object additionalProperties: false securitySchemes: access_auth: type: apiKey name: Authorization in: header x-amazon-apigateway-authtype: custom x-amazon-apigateway-authorizer: type: request identitySource: method.request.header.Authorization authorizerUri: Fn::Sub: >- arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${AccessAuthorizerLambda.Arn}/invocations authorizerCredentials: Fn::Sub: ${AccessApiGatewayRole.Arn} authorizerResultTtlInSeconds: 60 info: title: Green Check Access version: 1.0.0 description: Green Check Access contact: {} paths: /trace/*: options: operationId: ProxyOptions responses: '200': description: Ok content: application/json: schema: {} '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Proxy Trace Options Requests tags: - Trace security: - access_auth: - trace - admin parameters: [] get: operationId: ProxyGet responses: '200': description: Ok content: application/json: schema: {} '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Proxy Trace Get Requests tags: - Trace security: - access_auth: - trace - admin parameters: [] patch: operationId: ProxyPatch responses: '200': description: Ok content: application/json: schema: {} '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Proxy Trace Patch Requests tags: - Trace security: - access_auth: - trace - admin parameters: [] post: operationId: ProxyPost responses: '200': description: Ok content: application/json: schema: {} '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Proxy Trace Post Requests tags: - Trace security: - access_auth: - trace - admin parameters: [] put: operationId: ProxyPut responses: '200': description: Ok content: application/json: schema: {} '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Proxy Trace Put Requests tags: - Trace security: - access_auth: - trace - admin parameters: [] delete: operationId: ProxyDelete responses: '200': description: Ok content: application/json: schema: {} '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Proxy Trace Delete Requests tags: - Trace security: - access_auth: - trace - admin parameters: [] /service-providers/{sp_id}: get: operationId: get-service-provider responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ServiceProvider' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get service provider tags: - Service Provider security: - access_auth: - service-provider:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ /service-providers/{sp_id}/crbs: get: operationId: get-service-provider-crbs responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ServiceProviderCrbs' examples: Example 1: value: nisi_2: pos_configs: - name: Dutchie Wholesale status: Connected updated_date: '2023-10-31T15:21:57.000Z' org_type: muo business_type: wholesale template_id: 5d53d7a2-2D86-c5Cb-8F2e-541dcD31a3cB template_result_id: 6622efbD-aAdb-ff0b-58C2-ebB4C9D972fc status: bank_approved mailing_street_address: 161 Main St mailing_city: Chicago mailing_state: WA mailing_postal_code: '97201' established_date: '2022-02-02T00:00:00.000Z' ftEmployees: null ptEmployees: 6 entityType: sole dba: Green Check Dispensary monthlySales: '20000' monthlyCustomers: 2500 id: CdCFCfEF-ebdf-0578-a5bF-713c66B43e11 name: Dispensary1 street_address: 78685 Ben Harbor street_address_2: Suite 901 city: North Annamae ein: 55-5555555 phone_number: (555) 555-5555 postal_code: '55437' country: unitedstates state: SC website: null timezone: America/Juneau pariatur3c_: pos_configs: - name: GrowFlow status: Needs Attention updated_date: '2023-10-31T15:18:22.000Z' - name: Proteus420 status: Connected updated_date: '2023-10-31T15:18:22.000Z' org_type: dispensary business_type: wholesale template_id: 35fAaa1F-C959-F02f-D7E1-Dd76AAB78bA2 template_result_id: AFFef922-1F6C-CeD3-14B0-BCB94d49a5d8 status: bank_approved mailing_street_address: 789 Main St mailing_city: Phoenix mailing_state: NJ mailing_postal_code: '80202' established_date: '2019-10-10T00:00:00.000Z' ftEmployees: 22 ptEmployees: null entityType: sole dba: Green Check Dispensary monthlySales: '20000' monthlyCustomers: null id: 5c88c7D3-e395-c601-625C-71Cd6DBCEB3E name: Dispensary2 street_address: 65467 Clarence Street street_address_2: Apt. 635 city: null ein: 55-5555555 phone_number: (555) 555-5555 postal_code: null country: unitedstates state: OR website: null timezone: America/Los_Angeles '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' description: Get all CRBs for service provider summary: Get service provider CRBs tags: - Service Provider security: - access_auth: - service-provider:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ post: operationId: create-crb-for-service-provider responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/CRB' examples: Example 1: value: mailing_street_address: 131 Main St mailing_city: Los Angeles mailing_state: MI mailing_postal_code: '80202' established_date: '2021-06-06T00:00:00.000Z' ftEmployees: null ptEmployees: 43 entityType: llc dba: Green Check Dispensary monthlySales: '20000' monthlyCustomers: null id: 6c1E91E6-1ffA-C89D-E2Be-7f48EeF58DCd name: Dispensary2 street_address: 30776 Berge Mountain street_address_2: null city: null ein: 55-5555555 phone_number: (555) 555-5555 postal_code: null country: unitedstates state: NM website: https://genuine-parsley.name/ timezone: Pacific/Guam '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' examples: Example 1: value: message: Unauthorized details: >- We were unable to connect to [POS] using the credentials provided. Please check them and try again '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ConflictError' examples: Example 1: value: message: Conflict details: >- The following organization(s) already exist and are connected to your account data: org_id: c6d67e98-83ea-49f0-8812-e4abae2b68bc name: AlreadyConnectedDispensary '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' examples: Example 1: value: message: Validation Failed details: org.business_type: message: Business type and point of sale type mismatch value: wholesale pos_info.pos_type: message: Business type and point of sale type mismatch value: GrowFlow Example 2: value: message: Validation Failed details: locations: message: Available locations value: - id: '1' name: Example Dispensary address: 420 Main St - id: '2' name: Example Dispensary Center Street address: 22 Center Street data: locations: - id: '1' name: Example Dispensary address: 420 Main St - id: '2' name: Example Dispensary Center Street address: 22 Center Street Example 3: value: users: message: >- Users are required when POS credentials are not supplied. value: [] pos_info.pos_credentials: message: >- POS credentials are required when users are not supplied. message: >- If POS credentials are not provided, users are required so that they can be invited to the app to input credentials. If users are not invited, POS credentials are required to prevent duplicate or empty organizations from being created. description: >- Create a new CRB and associate with service provider. There are two supported onboarding workflows: 1. Provide POS Credentials Up Front (`pos_info`) - Use when the CRB has already provided their POS credentials. - Include the `pos_info` object in your request. - Inviting users is optional. 2. Invite the CRB for In-App Onboarding - Use when you don't have the CRB's POS credentials yet. - Do NOT include `pos_info`. - MUST include at least one user in the `users` array to send an invite. Note: You MUST provide either `pos_info` OR `users` with at least one entry. You may also provide both. ------------------------- Validation Rules ------------------------- If `pos_info` is provided: - Org `business_type` must match `pos_type` (e.g. wholesale org must use a wholesale POS like "Dutchie Wholesale"). - Credentials must be valid; a test POS call is made. - If the POS requires a `location_id`, it must be valid. - If missing or invalid, a validation error is returned with valid options. - The org must not already be connected to your account. If `pos_info` is NOT provided: - At least one user must be included in the `users` array. ------------------------- Testing Scenarios (Sandbox Only) ------------------------- 1. Provide `pos_info` with a wholesale POS, but `business_type = "retail"` → Expect validation error. 2. Provide `pos_info` with: - `pos_type = "Greenbits"` - `username = "testing"` - `password = "invalid_testing"` → Simulates invalid credentials - `password = "testing"` → Simulates valid credentials 3. Leave `location_id` empty → Simulates missing required location, returns available options. 4. Set `location_id = "invalidLocation"` → Simulates invalid location, returns available options. 5. Set `location_id = "testing"` → Simulates successful connection (no actual POS connection made). summary: Create CRB tags: - Service Provider security: - access_auth: - service-provider:write - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CrbCreationParams' /service-providers/{sp_id}/pos-credentials-schema: get: operationId: get-service-provider-pos-credentials-schema responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PosCredentialInformation' examples: Example 1: value: Alleaves: pos_type: Alleaves business_type: retail location_required: false pos_credentials_schema: credentials_name: AlleavesTestAuth credentials_description: >- You can connect your Alleaves account to Green Check by simply using your Alleaves username and password. First, you'll want to ensure that your user has the proper API access permissions in order for the integration to succeed. If your user has admin permissions, it should have the proper access by default. https://support.greencheckverified.com/knowledge/connect-alleaves-to-green-check credentials_properties: username: type: string password: type: string required_properties: - password - username BioTrack: pos_type: BioTrack business_type: retail location_required: true pos_credentials_schema: credentials_name: BiotrackTestAuth credentials_description: >- BioTrack enables its users to connect to other systems like Green Check with something called a SQL to SQL Pipeline. This simply means that Green Check will have read-only access to your BioTrack data. First, you'll need to ask BioTrack to email you the necessary credentials for the integration. Copy and paste the email below and send it to Support@biotrackthc.com. Then, you'll need to configure BioTrack to grant Green Check access, follow the instructions found here: https://f.hubspotusercontent20.net/hubfs/5237927/Connect%20BioTrack%20to%20Green%20Check.pdf. If your Network Connection requires you to whitelist Green Check's IP, please add these IP addresses to your whitelist: 52.4.48.232 and 35.169.209.100 Hello, I need some assistance. I would like to integrate our system with the Green Check system. Please provide me with the necessary information about our database that the Green Check team needs for Read Only access. https://support.greencheckverified.com/knowledge/connect-biotrack-to-green-check https://support.greencheckverified.com/knowledge/how-to-handle-biotrack-connection-refusal-errors https://support.greencheckverified.com/knowledge/how-to-handle-biotrack-pg_hba.conf-errors credentials_properties: port: type: number username: type: string password: type: string server_ip: type: string database_name: type: string required_properties: - database_name - password - port - server_ip - username BioTrack Wholesale: pos_type: BioTrack Wholesale business_type: wholesale location_required: true pos_credentials_schema: credentials_name: BiotrackTestAuth credentials_description: >- BioTrack enables its users to connect to other systems like Green Check with something called a SQL to SQL Pipeline. This simply means that Green Check will have read-only access to your BioTrack data. First, you'll need to ask BioTrack to email you the necessary credentials for the integration. Copy and paste the email below and send it to Support@biotrackthc.com. Then, you'll need to configure BioTrack to grant Green Check access, follow the instructions found here: https://f.hubspotusercontent20.net/hubfs/5237927/Connect%20BioTrack%20to%20Green%20Check.pdf. If your Network Connection requires you to whitelist Green Check's IP, please add these IP addresses to your whitelist: 52.4.48.232 and 35.169.209.100 Hello, I need some assistance. I would like to integrate our system with the Green Check system. Please provide me with the necessary information about our database that the Green Check team needs for Read Only access. https://support.greencheckverified.com/knowledge/connect-biotrack-to-green-check https://support.greencheckverified.com/knowledge/how-to-handle-biotrack-connection-refusal-errors https://support.greencheckverified.com/knowledge/how-to-handle-biotrack-pg_hba.conf-errors credentials_properties: port: type: number username: type: string password: type: string server_ip: type: string database_name: type: string required_properties: - database_name - password - port - server_ip - username Blaze: pos_type: Blaze business_type: retail location_required: false pos_credentials_schema: credentials_name: BlazeTestAuth credentials_description: >- Blaze provides its users with a unique Developer Key that can be used to integrate with other systems like Green Check. In order to connect with third party applications, you will need to generate a developer key from the backend of BLAZE Retail. Follow the instructions in the link below to generate a key. https://support.greencheckverified.com/knowledge/connect-blaze-to-green-check credentials_properties: Authorization: type: string required_properties: - Authorization Canix: pos_type: Canix business_type: wholesale location_required: true pos_credentials_schema: credentials_name: CanixTestAuth credentials_description: >- Canix provides its users with a unique API key that can be used to integrate with other systems like Green Check. Go to your Canix settingsToggle the switch next to Green Check Verified to the on position. Copy your client API key. https://support.greencheckverified.com/knowledge/connect-canix-to-green-check credentials_properties: key: type: string required_properties: - key Dutchie: pos_type: Dutchie business_type: retail location_required: false pos_credentials_schema: credentials_name: DutchieTestAuth credentials_description: >- Leaf Logix/Dutchie provides its users with unique API keys that can be used to integrate with other systems like Green Check. First, you'll need to ask Leaf Logix to email you your API credentials. Copy and paste the email below and send it to possupport@dutchie.com. Please note: If your location is licensed for both medical and recreational sales, you will have two separate API keys for this location. Hello, I need some assistance. I would like to integrate our system with the Green Check system. Please help me locate my API key(s) so that I can provide this to the Green Check team to set up the integration. https://support.greencheckverified.com/knowledge/connect-leaf-logix-to-green-check credentials_properties: medApiKey: type: string recApiKey: type: string required_properties: [] Dutchie Wholesale: pos_type: Dutchie Wholesale business_type: wholesale location_required: false pos_credentials_schema: credentials_name: DutchieTestAuth credentials_description: >- Leaf Logix/Dutchie provides its users with unique API keys that can be used to integrate with other systems like Green Check. First, you'll need to ask Leaf Logix to email you your API credentials. Copy and paste the email below and send it to possupport@dutchie.com. Please note: If your location is licensed for both medical and recreational sales, you will have two separate API keys for this location. Hello, I need some assistance. I would like to integrate our system with the Green Check system. Please help me locate my API key(s) so that I can provide this to the Green Check team to set up the integration. https://support.greencheckverified.com/knowledge/connect-leaf-logix-to-green-check credentials_properties: medApiKey: type: string recApiKey: type: string required_properties: [] Flowhub: pos_type: Flowhub business_type: retail location_required: true pos_credentials_schema: credentials_name: FlowhubTestAuth credentials_description: >- Flowhub provides its users with a unique API key that can be used to integrate with other systems like Green Check. First, you'll need to ask Flowhub to email you your API credentials. Please initiate the process by following this link to the Flowhub Integration Request form: https://flowhub.com/api-integration-request. Please fill out all fields and select Green Check as the desired partner and Submit. https://support.greencheckverified.com/knowledge/connecting-flowhub-to-green-check credentials_properties: key: type: string clientId: type: string required_properties: - clientId - key Flourish Wholesale: pos_type: Flourish Wholesale business_type: wholesale location_required: true pos_credentials_schema: credentials_name: FlourishTestAuth credentials_description: >- To connect this integration, you’ll need your Flourish Username and API Key. Go to the following URL for a full guide on how to do this: https://docs.flourishsoftware.com/article/xsefgb8b0s-external-api-generate-or-reset-api-key https://support.greencheckverified.com/knowledge/connect-flourish-to-green-check credentials_properties: api_key: type: string required_properties: - api_key Greenbits: pos_type: Greenbits business_type: retail location_required: true pos_credentials_schema: credentials_name: GreenbitsTestAuth credentials_description: >- To share your API token with Green Check, you will need to set up a new Role and User account in Greenbits that Green Check will use to access the token. Ensure this role has the following permissions: View Products, Access Backoffice, View product types, View brands, View strains, View suppliers. Follow the instructions in the link below to set this up. https://support.greencheckverified.com/en/knowledge/connect-greenbits-to-green-check credentials_properties: username: type: string password: type: string required_properties: - password - username GrowFlow: pos_type: GrowFlow business_type: retail location_required: true pos_credentials_schema: credentials_name: GrowFlowTestAuth credentials_description: >- First, you'll need to ask GrowFlow to enable the Green Check integration. Log into your GrowFlow account. Using the chat bubble, ask their Support team to enable the Green Check integration for all of your locations. Then use your client ID, found in the URL of any growflow page, like: https://retail.growflow.com/c/CLIENT_ID/ https://support.greencheckverified.com/knowledge/connect-growflow-to-green-check credentials_properties: client_id_name: type: string required_properties: - client_id_name GrowFlow Wholesale: pos_type: GrowFlow Wholesale business_type: wholesale location_required: false pos_credentials_schema: credentials_name: GrowFlowWholesaleTestAuth credentials_description: >- To connect this integration, you'll need your cannabis license number and the state it was issued in credentials_properties: state: type: string license_number: type: string required_properties: - license_number - state IndicaOnline: pos_type: IndicaOnline business_type: retail location_required: false pos_credentials_schema: credentials_name: IndicaOnlineTestAuth credentials_description: >- To connect this integration, you’ll need your IndicaOnline API Key credentials_properties: apiKey: type: string officeId: type: number required_properties: - apiKey - officeId Meadow: pos_type: Meadow business_type: retail location_required: false pos_credentials_schema: credentials_name: MeadowTestAuth credentials_description: >- You can connect your Meadow account to Green Check by simply using your Meadow API Key. Generate a key by navigating to your organization's API Settings page at https://admin.getmeadow.com/settings/api. Click the "Add Integration" button. Click the Company drop-down and select "Green Check Verified". Select the "Analytics Access" checkbox. https://support.greencheckverified.com/knowledge/connect-meadow-to-green-check credentials_properties: clientKey: type: string required_properties: - clientKey POSaBIT: pos_type: POSaBIT business_type: retail location_required: false pos_credentials_schema: credentials_name: POSaBITTestAuth credentials_description: >- POSaBIT provides its users with a unique API Token that can be used to integrate with other systems like Green Check. Please contact POSaBIT for help in creating an api key. https://support.greencheckverified.com/knowledge/connect-posabit-to-green-check credentials_properties: apiToken: type: string required_properties: - apiToken Proteus420: pos_type: Proteus420 business_type: retail location_required: false pos_credentials_schema: credentials_name: Proteus420TestAuth credentials_description: >- To configure this integration, you’ll need your Proteus420 Client Name and API Key. The Client Name will be the Proteus420 account name that shows on the top of the Proteus420 homepage when logged in. The API Key can be accessed and generated on the web services page (Settings>webservices). There will be a unique API Key for each location. https://support.greencheckverified.com/knowledge/connect-proteus420-to-green-check credentials_properties: clientName: type: string apiKey: type: string required_properties: - apiKey - clientName Sage Intacct: pos_type: Sage Intacct business_type: wholesale location_required: true pos_credentials_schema: credentials_name: IntacctTestAuth credentials_description: >- To configure this integration, you’ll need to enable access for the Green Check Web Sender ID in your Sage Intacct system and create a Green Check Web Services User. You will then need to gather the credentials listed below. Follow the steps in the following link to help you facilitate this setup. https://support.greencheckverified.com/knowledge/connect-sage-intacct-to-green-check credentials_properties: user_id: description: >- The username of the Web Services user created by the customer type: string company_id: description: The company of the customer as assigned by Sage type: string user_password: description: >- The password of the Web Services user created by the customer type: string required_properties: - company_id - user_id - user_password Treez: pos_type: Treez business_type: retail location_required: false pos_credentials_schema: credentials_name: TreezTestAuth credentials_description: >- Treez provides its users with a unique API key that can be used to integrate with other systems like Green Check. First, you'll need to ask Treez to email you your API credentials. Copy and paste the email below and send it to support@treez.io. You will also need the organization's name, found in the portal URL like: https://sampleorgname.treez.io Hello, I need some assistance. I would like to integrate our system with the Green Check system. Please provide my API credentials so that I can provide them to the Green Check team to set up the integration. https://support.greencheckverified.com/knowledge/connect-treez-to-green-check credentials_properties: apiKey: type: string dispensaryName: type: string required_properties: - apiKey - dispensaryName Weave: pos_type: Weave business_type: retail location_required: false pos_credentials_schema: credentials_name: WeaveTestAuth credentials_description: >- To configure this integration, you’ll need your Weave API Key. To generate your Weave API Key, you’ll navigate to https://retail.weaveiq.com/location/overview/api-integrations then click the checkbox to enable Greencheck. https://support.greencheckverified.com/knowledge/connect-weave-to-green-check credentials_properties: apiKey: type: string required_properties: - apiKey '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get POS Credentials Schema tags: - Service Provider security: - access_auth: - service-provider:read - admin parameters: - in: path name: sp_id required: true schema: type: string /service-providers/{sp_id}/licenses-search: get: operationId: get-service-provider-licenses-search responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PagedBusinessLicenseResponse' examples: Example 1: value: data: - licensee: tempor veniam do eiusmod license_identifier: null med_rec_classification: null locality: ad et cillum amet licensing_authority_name: labore sint licensing_authority_tier: locality licensing_authority_address: sub_premise: consectetur country: null box_number: enim cillum Lorem commodo sub_locality: ipsum adipisicing quis updated_at: null premise: null street: null locality: null created_at: null region: culpa proident magna veniam sub_region: null postal_code: commodo ad labore qui aliquip state_license_class_description: null state_license_status_description: adipisicing cillum do enim state_license_sub_class_description: elit irure reported_license_type_description: magna cupidatat anim consectetur reported_license_status: dolore fugiat quis sint reported_license_sub_type: null uniform_license_type_description: Unknown uniform_license_status_description: Unlicensed status_date: aliquip laboris proident amet ut issued_at: sed in labore expires_at: aliquip created_at: ut ea ad updated_at: sit edited_at: elit businesses: - name: ipsum exercitation eu - name: consectetur deserunt - name: minim ex laboris - name: in sed laborum cupidatat dolore individuals: - name: veniam nostrud minim - name: reprehenderit exercitation sed ipsum est - name: occaecat amet ea nisi laboris - licensee: null license_identifier: et reprehenderit aliqua consectetur esse med_rec_classification: both locality: null licensing_authority_name: Duis minim sit licensing_authority_tier: other licensing_authority_address: sub_premise: null country: null box_number: null sub_locality: amet updated_at: null premise: null street: null locality: null created_at: consectetur sit laborum ad aliqua region: null sub_region: id eiusmod postal_code: null state_license_class_description: null state_license_status_description: laboris Ut anim ipsum pariatur state_license_sub_class_description: null reported_license_type_description: Ut culpa ullamco reported_license_status: consectetur anim quis laboris reported_license_sub_type: anim uniform_license_type_description: Manufacturer/Processor uniform_license_status_description: Unlicensed status_date: non nostrud in officia issued_at: cupidatat ex ea cillum voluptate expires_at: null created_at: pariatur sit esse proident quis updated_at: non eu Ut minim sit edited_at: est elit sunt businesses: - name: veniam commodo voluptate proident dolore - name: ea - name: ullamco Duis in - name: pariatur sint commodo fugiat individuals: - name: ex cupidatat dolore - licensee: ut in cillum nisi license_identifier: commodo ut eu qui occaecat med_rec_classification: both locality: mollit exercitation irure sit licensing_authority_name: fugiat ut eiusmod veniam sed licensing_authority_tier: sub_region licensing_authority_address: sub_premise: null country: voluptate minim veniam eiusmod box_number: null sub_locality: null updated_at: adipisicing premise: null street: null locality: ad enim ipsum id nulla created_at: null region: tempor Duis fugiat sub_region: null postal_code: consectetur et mollit laboris id state_license_class_description: null state_license_status_description: aliquip minim state_license_sub_class_description: null reported_license_type_description: nulla non ut reported_license_status: ex reported_license_sub_type: sint sit occaecat in uniform_license_type_description: Unknown uniform_license_status_description: Inactive status_date: aute reprehenderit issued_at: voluptate sint dolor expires_at: laboris quis voluptate created_at: nisi laborum cupidatat updated_at: consequat proident aliqua edited_at: magna dolor dolor mollit businesses: - name: culpa laborum non - name: sint eiusmod do magna est - name: labore mollit tempor pariatur est individuals: - name: ea ad nisi - name: magna Excepteur in laboris in - licensee: laborum sed sint license_identifier: null med_rec_classification: null locality: null licensing_authority_name: tempor Excepteur licensing_authority_tier: sub_region licensing_authority_address: sub_premise: nulla incididunt country: null box_number: null sub_locality: null updated_at: null premise: null street: null locality: null created_at: null region: null sub_region: null postal_code: dolore irure state_license_class_description: null state_license_status_description: null state_license_sub_class_description: null reported_license_type_description: reprehenderit velit occaecat Lorem reported_license_status: nostrud consequat reported_license_sub_type: null uniform_license_type_description: Testing uniform_license_status_description: Unlicensed status_date: aliquip aliqua ex tempor issued_at: null expires_at: null created_at: Excepteur reprehenderit updated_at: fugiat sint et deserunt sit edited_at: nisi anim cupidatat ex pariatur businesses: - name: ea deserunt eu Ut in - name: mollit velit commodo consequat Lorem - name: voluptate dolor magna reprehenderit esse individuals: - name: id sit - licensee: null license_identifier: null med_rec_classification: recreational locality: sint enim laboris sed licensing_authority_name: incididunt ut irure licensing_authority_tier: other licensing_authority_address: sub_premise: magna country: null box_number: null sub_locality: est updated_at: laboris voluptate consequat est fugiat premise: elit ut voluptate street: dolore dolor dolore locality: null created_at: est minim cupidatat elit region: null sub_region: sunt sint dolore Ut minim postal_code: null state_license_class_description: anim mollit Duis state_license_status_description: amet irure dolor tempor pariatur state_license_sub_class_description: null reported_license_type_description: labore aute occaecat Duis culpa reported_license_status: et aliquip qui eu reported_license_sub_type: dolor elit ut consectetur ea uniform_license_type_description: Retail/Dispensary uniform_license_status_description: Active status_date: est cupidatat ea issued_at: null expires_at: consectetur ut created_at: sunt officia magna non updated_at: commodo ullamco magna edited_at: ut businesses: - name: est - name: nulla consequat tempor labore sint - name: eiusmod individuals: - name: amet fugiat in magna ut metadata: count: 100 - 172 total: 75128306 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Search for cannabis licenses tags: - Service Provider security: - access_auth: - service-provider:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: The page size in: query name: limit required: false schema: default: 1000 format: int32 type: integer minimum: 1 maximum: 1000 - description: The page offset in: query name: offset required: false schema: default: 0 format: int32 type: integer minimum: 0 - description: License number / identifier in: query name: licenseNumber required: false schema: type: string - description: Name of licensee or holding business in: query name: name required: false schema: type: string - description: >- State of Licensing Authority (CAN = Cananda, NLA = No Licensing Authority) in: query name: state required: false schema: $ref: '#/components/schemas/BusinessLicenseState' - description: License Type in: query name: licenseType required: false schema: $ref: '#/components/schemas/CRBMUniformLicenseTypeDescription' /service-providers/{sp_id}/onboarding-templates: get: operationId: get-service-provider-onboarding-templates responses: '200': description: Ok content: application/json: schema: items: $ref: '#/components/schemas/OnboardingTemplate' type: array '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' description: Get all onboarding templates summary: Get service provider onboarding templates tags: - Service Provider security: - access_auth: - service-provider:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ /service-providers/{sp_id}/ein-search: get: operationId: get-crbs-by-ein responses: '200': description: Ok content: application/json: schema: items: $ref: '#/components/schemas/ThinCrbInfo' type: array '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' description: Checks to see if any CRBs in our system have the provided EIN. summary: Search for CRB info by EIN. tags: - Service Provider security: - access_auth: - ein:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: EIN of potential CRB in system in: query name: ein required: true schema: type: string pattern: ^\d{2}-\d{7}$ /service-providers/{sp_id}/connect-crb: post: operationId: connect-crb-by-id responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/CRB' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' description: Connects a CRB to a Service Provider by CRB_ID. summary: Connect a CRB to a SP by CRB_ID. tags: - Service Provider security: - access_auth: - admin - connect-crb-to-sp:write parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ConnectCrbParams' /service-providers/{sp_id}/crbs/{crb_id}: get: operationId: get-crb-info responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ServiceProviderCRB' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get Service Provider CRB tags: - CRB Info security: - access_auth: - service-provider:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ put: operationId: update-crb-info responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ServiceProviderCRB' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Update business details of a CRB tags: - CRB Info security: - access_auth: - service-provider:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateCrbInput' /service-providers/{sp_id}/crbs/{crb_id}/access: post: operationId: generate-crb-access-creds responses: '200': description: Ok content: application/json: schema: title: GenerateCrbApiCredentialsResponse properties: secret: type: string client_id: type: string required: - secret - client_id type: object '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' description: >- Generates GCV Access credentials on behalf of the CRB, allowing the Service Provider to operate their document management API calls. summary: Generate GCV Access credentials on behalf of a CRB. tags: - CRB Info security: - access_auth: - admin - create-crb-api-key:write parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ /service-providers/{sp_id}/crbs/{crb_id}/onboarding-template: get: operationId: get-crb-onboarding-template responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/OnboardingTemplateResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB's onboarding template for service provider tags: - CRB Templates security: - access_auth: - service-provider:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ /service-providers/{sp_id}/crbs/{crb_id}/onboarding-template/requirements/{requirement_id}/documents: put: operationId: put-crb-onboarding-document responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/AddDocumentToOnboardingTemplateResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' description: |- Add a document to a requirement in a CRB's onboarding template response. Note - Only documents up to 5MB are supported You always must include: - file_name - Full file name, including the file extension (ex: "statment.pdf") - file_type - File mime type, to ensure only allowed types are uploaded. See AllowedS3FileMimeTypes - base64 - A base 64 encoded string of the file contents. summary: >- Add a new or existing document to a requirement in a CRB's onboarding template response tags: - CRB Templates security: - access_auth: - service-provider:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: Requirement Id in: path name: requirement_id required: true schema: type: string requestBody: required: true content: application/json: schema: title: PutCrbOnboardingTemplateDocumentRequestBody anyOf: - $ref: '#/components/schemas/AddDocumentToOnboardingTemplateRequest' - $ref: >- #/components/schemas/AddExistingDocumentToOnboardingTemplateRequest /service-providers/{sp_id}/crbs/{crb_id}/onboarding-template/requirements/{requirement_id}/documents/{document_id}: put: operationId: update-crb-onboarding-document responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/DocumentRequirementResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Update a document's status tags: - CRB Templates security: - access_auth: - service-provider:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: Requirement Id in: path name: requirement_id required: true schema: type: string - description: Document Id in: path name: document_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateDocumentRequest' delete: operationId: delete-crb-onboarding-document responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/DocumentRequirementResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Delete a document from an onboarding requirement tags: - CRB Templates security: - access_auth: - service-provider:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: Requirement Id in: path name: requirement_id required: true schema: type: string - description: Document Id in: path name: document_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ /service-providers/{sp_id}/crbs/{crb_id}/sales: get: operationId: get-crb-sales responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PagedSales' examples: Example 1: value: data: - type: retail customer: customer_id: null pos_customer_id: sint in cupidatat in elit type: rec dob: '1960-07-29T00:00:00.000Z' id_type: medical id_expiration_date: '2025-11-08T00:00:00.000Z' compliance_status: warning compliance_exceptions: - Excepteur culpa commodo sit voluptate - proident nisi officia Excepteur eu - irure consequat in nisi aute compliance_warnings: - velit voluptate - cupidatat in nisi esse do id: 870cb44e-A5A4-dED8-BA29-BdBeEB1eD677 pos_sale_id: null crb_id: F9F6F024-A7CB-8154-0cb2-3Ca5EBE7Fd37 subtotal: 4050 total_discounts: 10300 tax_paid: 49 total_paid: 10000 date: '2023-10-30T13:57:30.000Z' local_date: '2023-10-31T15:21:57.167Z' gc_created_date: '2023-10-31T15:18:22.000Z' gc_updated_date: '2023-09-18T20:57:34.000Z' transaction_type: return pos_name: Treez employee_id: null line_items: - product_id: null pos_product_id: qui ullamco dolor fugiat product_name: Preroll Bulk - GG2B num_units: 2 price_per_unit: 12500 grams: 1 product_type: flower cannabis_product: null line_item_discounts: - flat_amount: 19000 pct_amount: 0.08 name: Employee line_item_taxes: - flat_amount: 22914 pct_amount: 0.95 name: County - 2.5 line_item_fees: - fee_name: Card fee percent_amount: 0.95 flat_amount: 375 included_in_subtotal: null - fee_name: Card fee percent_amount: 0.08 flat_amount: 375 included_in_subtotal: null - fee_name: Donation percent_amount: 0.95 flat_amount: 500 included_in_subtotal: null - fee_name: Donation percent_amount: 0.25 flat_amount: 375 included_in_subtotal: null - fee_name: Card fee percent_amount: 0.95 flat_amount: 500 included_in_subtotal: false - product_id: in eu pos_product_id: in minim reprehenderit consectetur cillum product_name: Rocket Fuel .85 Cart num_units: 7 price_per_unit: 4500 grams: 3.5 product_type: other cannabis_product: null line_item_discounts: - flat_amount: 22914 pct_amount: 0.08 name: Buy two - $5 discount - flat_amount: 6480 pct_amount: 0.95 name: Employee line_item_taxes: - flat_amount: 10000 pct_amount: 0.08 name: State - flat_amount: 22914 pct_amount: 0.25 name: County - 2.5 - flat_amount: 4050 pct_amount: 0.25 name: County - 2.5 line_item_fees: - fee_name: Card fee percent_amount: 0.95 flat_amount: 375 included_in_subtotal: null discounts: [] taxes: - flat_amount: 6480 pct_amount: 0.25 name: State - flat_amount: 4880 pct_amount: 0.25 name: County - 2.5 - flat_amount: 5240 pct_amount: 0.25 name: State - flat_amount: 10000 pct_amount: 0.95 name: State - flat_amount: 6480 pct_amount: 0.25 name: State payments: - type: store_credit amount_paid: 6176 - type: cash amount_paid: 23046 - type: check amount_paid: 35000 fees: [] metadata: count: 100 - 172 total: 40836116 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get sales for service provider's CRB tags: - CRB Sales security: - access_auth: - point-of-sale:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: The page size in: query name: limit required: false schema: default: 1000 format: int32 type: integer minimum: 1 maximum: 1000 - description: The page offset in: query name: offset required: false schema: default: 0 format: int32 type: integer minimum: 0 - description: 'Start Date: yyyy-MM-dd' in: query name: start_date required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ - description: 'End Date: yyyy-MM-dd' in: query name: end_date required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ - description: Customer ID, our internal customer ID available on retail POS only in: query name: customer_id required: false schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: >- POS Customer ID, the customer ID internal to the specific POS, works available for both retail and wholesale POS in: query name: pos_customer_id required: false schema: type: string - description: 'Last updated from date: yyyy-MM-dd' in: query name: last_updated_from required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ - description: 'Last updated to date: yyyy-MM-dd' in: query name: last_updated_to required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ /service-providers/{sp_id}/crbs/{crb_id}/products: get: operationId: get-crb-products responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PagedProducts' examples: Example 1: value: data: - crb_id: 8Ed5c3ed-18D8-abeA-C14F-aa5aAE3b8Bdf id: 1B3eF4eb-ca44-C1C8-DeE3-Da6B893Cfd60 pos_product_id: do pariatur Lorem commodo pos_type: GrowFlow name: Rudeboi OG gc_product_category_name: extract pos_product_category_name: Edible pos_product_subcategory_name: Topical-Dermal-Balm pos_strain_name: Cherry Bang Bang pos_brand_name: Lookah medicated: null sku: '10563228' description: >- These pre-rolls are perfect for a portable smoking experience gc_net_weight_grams: 69517386.46189576 pos_unit_of_measure: Qty price: null unit_cost: 8761151.729771521 pos_updated_date: '2023-09-18T20:57:34.917Z' pos_updated_date_local: '2023-10-31T15:18:22.652Z' gc_created_date: '2023-10-31T15:18:22.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' price_tiers: - tier_name: Bulk Flower Deals tier_price: 5824797 pos_tier_type: Weight pos_tier_type_condition_value: Special Offer tier_valid_until_date: '2023-10-31T15:21:57.167Z' tier_valid_until_date_local: '2023-02-28T14:00:33.603Z' - tier_name: Bulk Flower Deals tier_price: 9430357 pos_tier_type: Time Limited pos_tier_type_condition_value: 3.5 - 7 tier_valid_until_date: null tier_valid_until_date_local: '2023-10-31T15:21:57.167Z' - tier_name: Weight Tiers tier_price: 4990149 pos_tier_type: Time Limited pos_tier_type_condition_value: 3.5 - 7 tier_valid_until_date: null tier_valid_until_date_local: '2023-10-31T15:21:57.167Z' images: - url: culpa description: null - url: laboris description: null - url: anim laboris voluptate Ut description: ullamco adipisicing - url: fugiat description: null - crb_id: e207Da9d-Efb0-E0B6-7840-32AcB87E01Ef id: 39FFba0C-0Dcd-57eb-bD4a-E1e5C57daff6 pos_product_id: qui pos_type: Jane name: Preroll Bulk - GG2B gc_product_category_name: marijuana_product pos_product_category_name: Prerolls pos_product_subcategory_name: Candy Bar pos_strain_name: Purple Haze pos_brand_name: Trulieve medicated: true sku: '12894689' description: >- These pre-rolls are perfect for a portable smoking experience gc_net_weight_grams: 36999729.80599808 pos_unit_of_measure: Wgt price: null unit_cost: 34347266.477119364 pos_updated_date: '2023-02-28T14:00:33.603Z' pos_updated_date_local: null gc_created_date: '2023-10-28T17:31:35.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' price_tiers: null images: null - crb_id: fc8e5B5E-ac95-79Fc-1f9B-8B4CBF54ceA8 id: DB65DC2c-9f4C-3689-7Ea2-c6fB559F8eE5 pos_product_id: in pos_type: Weave name: Blue Raspberry Gummies - 10 Pieces gc_product_category_name: null pos_product_category_name: Prerolls pos_product_subcategory_name: Candy Bar pos_strain_name: Rocket Pop pos_brand_name: Lookah medicated: false sku: '54389678' description: A 20 pack of 5mg sativa gummies. gc_net_weight_grams: null pos_unit_of_measure: Wgt price: null unit_cost: 13532136.136655027 pos_updated_date: '2023-10-31T15:18:22.650Z' pos_updated_date_local: '2023-10-28T11:31:35.563Z' gc_created_date: '2023-02-28T14:01:33.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' price_tiers: [] images: null - crb_id: AA801f80-ecDD-Cd74-36F9-b8dbfad1F55E id: 432bBeE5-eF6e-7D67-46D2-44cFC557eA2e pos_product_id: nisi mollit laborum in quis pos_type: IndicaOnline name: Hypnos Cartridge gc_product_category_name: plant pos_product_category_name: Infused Flower pos_product_subcategory_name: Topical-Dermal-Balm pos_strain_name: Kush Berry pos_brand_name: Lookah medicated: false sku: '12385689' description: A 20 pack of 5mg sativa gummies. gc_net_weight_grams: null pos_unit_of_measure: Wgt price: 31305303 unit_cost: 81165954.95578116 pos_updated_date: null pos_updated_date_local: null gc_created_date: '2023-09-18T20:57:34.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' price_tiers: [] images: null metadata: count: 1 - 100 total: 86475544 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB products tags: - CRB Products security: - access_auth: - point-of-sale:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: The page size in: query name: limit required: false schema: default: 1000 format: int32 type: integer minimum: 1 maximum: 1000 - description: The page offset in: query name: offset required: false schema: default: 0 format: int32 type: integer minimum: 0 - description: 'Last updated from date: yyyy-MM-dd' in: query name: last_updated_from required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ - description: 'Last updated to date: yyyy-MM-dd' in: query name: last_updated_to required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ /service-providers/{sp_id}/crbs/{crb_id}/products-by-barcode/{barcode}: get: operationId: get-crb-products-by-barcode responses: '200': description: Ok content: application/json: schema: items: $ref: '#/components/schemas/Product' type: array examples: Example 1: value: data: - crb_id: 8Ed5c3ed-18D8-abeA-C14F-aa5aAE3b8Bdf id: 1B3eF4eb-ca44-C1C8-DeE3-Da6B893Cfd60 pos_product_id: do pariatur Lorem commodo pos_type: GrowFlow name: Rudeboi OG gc_product_category_name: extract pos_product_category_name: Edible pos_product_subcategory_name: Topical-Dermal-Balm pos_strain_name: Cherry Bang Bang pos_brand_name: Lookah medicated: null sku: '10563228' description: >- These pre-rolls are perfect for a portable smoking experience gc_net_weight_grams: 69517386.46189576 pos_unit_of_measure: Qty price: null unit_cost: 8761151.729771521 pos_updated_date: '2023-09-18T20:57:34.917Z' pos_updated_date_local: '2023-10-31T15:18:22.652Z' gc_created_date: '2023-10-31T15:18:22.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' price_tiers: - tier_name: Bulk Flower Deals tier_price: 5824797 pos_tier_type: Weight pos_tier_type_condition_value: Special Offer tier_valid_until_date: '2023-10-31T15:21:57.167Z' tier_valid_until_date_local: '2023-02-28T14:00:33.603Z' - tier_name: Bulk Flower Deals tier_price: 9430357 pos_tier_type: Time Limited pos_tier_type_condition_value: 3.5 - 7 tier_valid_until_date: null tier_valid_until_date_local: '2023-10-31T15:21:57.167Z' - tier_name: Weight Tiers tier_price: 4990149 pos_tier_type: Time Limited pos_tier_type_condition_value: 3.5 - 7 tier_valid_until_date: null tier_valid_until_date_local: '2023-10-31T15:21:57.167Z' images: - url: culpa description: null - url: laboris description: null - url: anim laboris voluptate Ut description: ullamco adipisicing - url: fugiat description: null - crb_id: e207Da9d-Efb0-E0B6-7840-32AcB87E01Ef id: 39FFba0C-0Dcd-57eb-bD4a-E1e5C57daff6 pos_product_id: qui pos_type: Jane name: Preroll Bulk - GG2B gc_product_category_name: marijuana_product pos_product_category_name: Prerolls pos_product_subcategory_name: Candy Bar pos_strain_name: Purple Haze pos_brand_name: Trulieve medicated: true sku: '12894689' description: >- These pre-rolls are perfect for a portable smoking experience gc_net_weight_grams: 36999729.80599808 pos_unit_of_measure: Wgt price: null unit_cost: 34347266.477119364 pos_updated_date: '2023-02-28T14:00:33.603Z' pos_updated_date_local: null gc_created_date: '2023-10-28T17:31:35.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' price_tiers: null images: null - crb_id: fc8e5B5E-ac95-79Fc-1f9B-8B4CBF54ceA8 id: DB65DC2c-9f4C-3689-7Ea2-c6fB559F8eE5 pos_product_id: in pos_type: Weave name: Blue Raspberry Gummies - 10 Pieces gc_product_category_name: null pos_product_category_name: Prerolls pos_product_subcategory_name: Candy Bar pos_strain_name: Rocket Pop pos_brand_name: Lookah medicated: false sku: '54389678' description: A 20 pack of 5mg sativa gummies. gc_net_weight_grams: null pos_unit_of_measure: Wgt price: null unit_cost: 13532136.136655027 pos_updated_date: '2023-10-31T15:18:22.650Z' pos_updated_date_local: '2023-10-28T11:31:35.563Z' gc_created_date: '2023-02-28T14:01:33.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' price_tiers: [] images: null - crb_id: AA801f80-ecDD-Cd74-36F9-b8dbfad1F55E id: 432bBeE5-eF6e-7D67-46D2-44cFC557eA2e pos_product_id: nisi mollit laborum in quis pos_type: IndicaOnline name: Hypnos Cartridge gc_product_category_name: plant pos_product_category_name: Infused Flower pos_product_subcategory_name: Topical-Dermal-Balm pos_strain_name: Kush Berry pos_brand_name: Lookah medicated: false sku: '12385689' description: A 20 pack of 5mg sativa gummies. gc_net_weight_grams: null pos_unit_of_measure: Wgt price: 31305303 unit_cost: 81165954.95578116 pos_updated_date: null pos_updated_date_local: null gc_created_date: '2023-09-18T20:57:34.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' price_tiers: [] images: null metadata: count: 1 - 100 total: 86475544 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB products by Barcode tags: - CRB Products security: - access_auth: - point-of-sale:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: The Barcode in: path name: barcode required: true schema: type: string /service-providers/{sp_id}/crbs/{crb_id}/products/{product_id}: get: operationId: get-crb-product-by-id responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Product' examples: Example 1: value: crb_id: e9eEb5Df-d00d-DcE5-9012-e572B6d3B00c id: 5FcBc1A5-e0bA-bb1B-eB02-884Ee0d5AfFB pos_product_id: esse ex magna pos_type: Metrc S2S name: Blue Raspberry Gummies - 10 Pieces gc_product_category_name: edible pos_product_category_name: Non-Cannabis Retail pos_product_subcategory_name: Topical-Dermal-Balm pos_strain_name: Cherry Bang Bang pos_brand_name: Avexia medicated: null sku: '23895623' description: >- Night Rider is a hybrid strain created by Greenpoint Seeds. gc_net_weight_grams: null pos_unit_of_measure: Qty price: null unit_cost: 22422728.271413006 pos_updated_date: '2023-09-18T20:57:34.917Z' pos_updated_date_local: '2023-10-28T11:31:35.563Z' gc_created_date: '2023-10-31T15:21:57.000Z' gc_updated_date: '2023-09-18T20:57:34.000Z' price_tiers: null images: - url: sit qui non est consequat description: occaecat in ea '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB product record by ID tags: - CRB Products security: - access_auth: - point-of-sale:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: Product Id in: path name: product_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ /service-providers/{sp_id}/crbs/{crb_id}/inventory-locations: get: operationId: get-crb-inventory-locations responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PagedLocations' examples: Example 1: value: data: - id: 92C42BDC-c220-9E65-c79D-0Be2D85276AB crb_id: 0992e7c5-9eaE-ad23-1b1C-A58Cbaa18Adf name: Delivery pos_type: Blaze pos_location_id: '4306' pos_location_type: Distribution pos_updated_date: null pos_updated_date_local: '2023-10-28T11:31:35.563Z' gc_created_date: '2023-10-31T15:18:22.650Z' gc_created_date_local: null metadata: count: 1 - 100 total: 36618859 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB Inventory Locations tags: - CRB Inventory Locations security: - access_auth: - point-of-sale:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: The page size in: query name: limit required: false schema: default: 1000 format: int32 type: integer minimum: 1 maximum: 1000 - description: The page offset in: query name: offset required: false schema: default: 0 format: int32 type: integer minimum: 0 /service-providers/{sp_id}/crbs/{crb_id}/inventory-locations/{location_id}: get: operationId: get-crb-inventory-location-by-id responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Location' examples: Example 1: value: id: Cdb4ffff-a2FA-Cce1-547F-b8CDebFf8FcE crb_id: F9Fc6Fa3-ac42-8E7c-5e1B-Dc1D325E9Ecd name: Warehouse pos_type: MJ Freeway pos_location_id: '4328' pos_location_type: Delivery pos_updated_date: null pos_updated_date_local: '2023-10-28T11:31:35.563Z' gc_created_date: null gc_created_date_local: '2023-02-28T14:00:33.603Z' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB Inventory Location by ID tags: - CRB Inventory Locations security: - access_auth: - point-of-sale:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: The ID of the location in: path name: location_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ /service-providers/{sp_id}/crbs/{crb_id}/inventory: get: operationId: get-crb-inventory responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PagedInventory' examples: Example 1: value: data: - id: 493bf7De-Cfb2-F297-cB74-738985DF0471 crb_id: C08EaBD1-cf02-b41D-17Fe-5F7ca0d6FF8f pos_type: MJ Freeway product_id: 8378981A-8f9D-AeCD-fdc3-F5ccAE8a3aeA name: Kief Bulk - Blissful Wizard sku: '12385689' barcode: 1A40F01000000C9000009645 total_quantity: 39 pos_updated_date: '2023-09-18T20:57:34.917Z' pos_updated_date_local: null gc_created_date: '2023-10-31T15:21:57.000Z' gc_updated_date: '2023-09-18T20:57:34.000Z' location_data: - name: Main Inventory quantity: 45 location_id: 505aCEdc-cccb-91fc-ac5d-FaE7cA39703C pos_location_type: qui ut - name: Store 4 quantity: 47 location_id: Cf93014D-eab3-B3BA-ce09-fB9D76dACAa7 pos_location_type: null - name: Main Inventory quantity: 16 location_id: 4EbDbf7E-b8d5-Ba61-c961-24Bda1C959Fc pos_location_type: consequat Excepteur deserunt - name: Store 4 quantity: 29 location_id: adCCA7Ca-A77f-40DD-9aA4-02e2C8e6Bd6f pos_location_type: null - id: ADC8a4Eb-Cd0f-aed4-eABa-5ccBE3cbdc2C crb_id: 626de38E-04Cd-5cbB-bBEc-C5eFBEbE129a pos_type: Treez product_id: null name: Kief Bulk - Blissful Wizard sku: '82734891' barcode: '01506' total_quantity: 39 pos_updated_date: null pos_updated_date_local: null gc_created_date: '2023-10-31T15:18:22.000Z' gc_updated_date: '2023-10-31T15:21:57.000Z' location_data: - name: Main Store quantity: 16 location_id: 5eDfBfEA-5aCe-5D81-6FAa-7FfF1aF9A924 pos_location_type: aliqua - name: Store 4 quantity: 100 location_id: f8F545eE-BCe7-986F-b7E1-70E8a8A7Fa5A pos_location_type: null - name: Bulk Inventory quantity: 18 location_id: c7f7Fa74-fEff-AfD7-6Cda-2bc04E658a9B pos_location_type: null - id: 7252FDcB-c608-Ed21-e72F-E937cF6595F9 crb_id: C4F2dEB7-7FdF-6BF4-0cC7-160C5dF2FddE pos_type: POSaBIT product_id: BbDad04D-Ed14-BCe8-3FB5-ad05a5df9AA5 name: Rudeboi OG sku: '30752973' barcode: 1A40F0100000B55000005484 total_quantity: 47 pos_updated_date: '2023-02-28T14:00:33.603Z' pos_updated_date_local: '2023-09-18T20:57:34.917Z' gc_created_date: '2023-10-31T15:18:22.000Z' gc_updated_date: '2023-02-28T14:01:33.000Z' location_data: - name: Store 3 quantity: 29 location_id: 840BE69F-57BC-3f28-10ca-bFB7C41a98d6 pos_location_type: esse minim irure anim - name: Store 3 quantity: 39 location_id: 0c0a088C-988f-a3C3-56f5-3298bdc34d60 pos_location_type: est - id: 6Ae2bc05-bD3b-4251-f4EE-de9f730d2CBC crb_id: 290CEbcD-cde5-A08E-F4bE-E5AF9cDE9fd0 pos_type: Cova product_id: 64f480A3-3bc6-56Ae-daF1-f1A9BEC512EF name: Bulk Batter (GG4) sku: '12894689' barcode: '01506' total_quantity: 39 pos_updated_date: '2023-10-31T15:18:22.650Z' pos_updated_date_local: null gc_created_date: '2023-02-28T14:01:33.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' location_data: - name: Store 3 quantity: 16 location_id: dCbd9dE8-ABED-D3D1-cFFa-8a1c4CC0EC5F pos_location_type: null - name: Bulk Inventory quantity: 200 location_id: 9ecea46E-cA3F-84ec-2bFF-84bb9eC7ddA7 pos_location_type: Ut in - name: Store 4 quantity: 39 location_id: 1711B9Fc-FE4E-8eB1-2d9B-CC81DFBced0A pos_location_type: et esse officia metadata: count: 1 - 100 total: 45223798 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB inventory tags: - CRB Inventory security: - access_auth: - point-of-sale:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: The page size in: query name: limit required: false schema: default: 1000 format: int32 type: integer minimum: 1 maximum: 1000 - description: The page offset in: query name: offset required: false schema: default: 0 format: int32 type: integer minimum: 0 - description: >- Expands the response by including product data related to this resource in: query name: expand required: false schema: type: boolean - description: 'Last updated from date: yyyy-MM-dd' in: query name: last_updated_from required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ - description: 'Last updated to date: yyyy-MM-dd' in: query name: last_updated_to required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ /service-providers/{sp_id}/crbs/{crb_id}/inventory/{inventory_id}: get: operationId: get-crb-inventory-by-id responses: '200': description: Ok content: application/json: schema: title: GetSpCrbInventoryByIdResponse anyOf: - $ref: '#/components/schemas/Inventory' - $ref: '#/components/schemas/ExpandedInventory' examples: Example 1: value: id: 2284c0E4-62B2-33F5-FaC5-0FdC1d2dDb6a crb_id: B8cDDF80-04e0-87CE-A7d9-a55d95049DBA pos_type: Treez product_id: 130eD1De-CA28-4690-396c-cc55eB2198f2 name: Kief Bulk - Blissful Wizard sku: '54389678' barcode: '03508' total_quantity: 45 pos_updated_date: '2023-02-28T14:00:33.603Z' pos_updated_date_local: '2023-09-18T20:57:34.917Z' gc_created_date: '2023-09-18T20:57:34.000Z' gc_updated_date: '2023-10-31T15:21:57.000Z' location_data: - name: Main Inventory quantity: 47 location_id: dF6D5fDa-00EC-AeFA-3bdf-3d86BA592f95 pos_location_type: null - name: Store 3 quantity: 200 location_id: BEeCF70A-430B-86A5-FAaA-fEd5Baf63eeB pos_location_type: null Example 2: value: product: crb_id: 631412dB-92DE-edcA-66c8-AA1559Ab29Fa id: 7cdd91b0-DF8c-0bbD-44F7-2737bCFaa61b pos_product_id: fugiat elit veniam pos_type: Quickbooks name: Preroll Bulk - GG2B gc_product_category_name: edible pos_product_category_name: Edible pos_product_subcategory_name: Mad Terps - Terpstix pos_strain_name: Kush Berry pos_brand_name: Trulieve medicated: false sku: '54389678' description: >- Night Rider is a hybrid strain created by Greenpoint Seeds. gc_net_weight_grams: 35924299.84716305 pos_unit_of_measure: Wgt price: 64239145 unit_cost: null pos_updated_date: '2023-10-31T15:21:57.167Z' pos_updated_date_local: '2023-10-31T15:18:22.652Z' gc_created_date: '2023-02-28T14:01:33.000Z' gc_updated_date: '2023-02-28T14:01:33.000Z' price_tiers: - tier_name: Bulk Flower Deals tier_price: 85413970 pos_tier_type: Quantity pos_tier_type_condition_value: 3.5 - 7 tier_valid_until_date: null tier_valid_until_date_local: null - tier_name: Weight Tiers tier_price: 20413893 pos_tier_type: Time Limited pos_tier_type_condition_value: 3.5 - 7 tier_valid_until_date: '2023-02-28T14:00:33.603Z' tier_valid_until_date_local: '2023-10-31T15:18:22.652Z' - tier_name: Free Offers tier_price: 81427503 pos_tier_type: Quantity pos_tier_type_condition_value: '10' tier_valid_until_date: '2023-10-28T17:31:35.563Z' tier_valid_until_date_local: null - tier_name: Free Offers tier_price: 92630953 pos_tier_type: Quantity pos_tier_type_condition_value: 1 - 3.5 tier_valid_until_date: '2023-10-31T15:21:57.167Z' tier_valid_until_date_local: '2023-10-28T11:31:35.563Z' images: - url: sit description: null - url: pariatur minim magna in description: proident - url: culpa description: null id: CE82d84B-28Ab-0FcA-cdFD-28DFbD720EE9 crb_id: a4C9adA3-0F1B-6bF0-CaF6-B3840738f18e pos_type: Cova product_id: FF3BF8f9-165F-7cd9-eBB6-d5aD3ccadeCA name: Kief Bulk - Blissful Wizard sku: '12385689' barcode: '03508' total_quantity: 29 pos_updated_date: description: >- Timestamp reported by the pos for the last update to this record. May or may not be provided by the POS pos_updated_date_local: description: >- CRB local timestamp reported by the pos for the last update to this record. May or may not be provided by the POS gc_created_date: '2023-10-31T15:18:22.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' location_data: - name: Store 4 quantity: 47 location_id: F6da3A66-FEFB-d00C-A53A-0e16DC2Ad10E pos_location_type: in elit nulla aute Duis - name: Bulk Inventory quantity: 16 location_id: 7e9CAEEE-9Ed8-a7B1-E39A-9dAB8b44729A pos_location_type: null - name: Store 4 quantity: 1000 location_id: EC9faf5e-2142-32fe-F32B-78b39af1d4E6 pos_location_type: adipisicing fugiat '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB inventory record by ID tags: - CRB Inventory security: - access_auth: - point-of-sale:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: Inventory Id in: path name: inventory_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: >- Expands the response by including product data related to this resource in: query name: expand required: false schema: type: boolean /service-providers/{sp_id}/crbs/{crb_id}/inventory-locations/{location_id}/inventory: get: operationId: get-crb-inventory-by-location responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PagedLocationInventory' examples: Example 1: value: data: - product: null id: 671ceaad-D1B7-A6C2-1Bdb-10d04eb30dBD crb_id: FaC8Ce51-FA7d-7Ac2-CBeA-24135c505AcB pos_type: Cova product_id: null name: Rocket Fuel .85 Cart sku: '30752973' barcode: 1A40F01000000C9000009645 total_quantity: 52842866.87700297 pos_updated_date: null pos_updated_date_local: null gc_created_date: '2023-09-18T20:57:34.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' quantity: 40 - product: crb_id: C3aeAc6B-F1Ba-b753-4E7A-824618dFbEfa id: C3b8903f-f557-E3AE-E67A-863cfCF5cdff pos_product_id: labore pos_type: description: The POS system that this data is sourced from. name: Hypnos Cartridge gc_product_category_name: null pos_product_category_name: Merch pos_product_subcategory_name: Live Resin (Bulk) pos_strain_name: Sweet Sticky Melon pos_brand_name: Reserve medicated: null sku: '10563228' description: A 20 pack of 5mg sativa gummies. gc_net_weight_grams: null pos_unit_of_measure: Qty price: 78760823 unit_cost: null pos_updated_date: '2023-10-31T15:21:57.167Z' pos_updated_date_local: '2023-10-28T11:31:35.563Z' gc_created_date: '2023-10-31T15:21:57.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' price_tiers: - tier_name: Free Offers tier_price: 64434514 pos_tier_type: Quantity pos_tier_type_condition_value: '10' tier_valid_until_date: description: >- Datetime that this tier stops being valid, if applicable tier_valid_until_date_local: '2023-10-31T15:21:57.167Z' - tier_name: Bulk Flower Deals tier_price: 83757010 pos_tier_type: Weight pos_tier_type_condition_value: Special Offer tier_valid_until_date: null tier_valid_until_date_local: '2023-10-31T15:21:57.167Z' - tier_name: Bulk Flower Deals tier_price: 65784219 pos_tier_type: Time Limited pos_tier_type_condition_value: '10' tier_valid_until_date: null tier_valid_until_date_local: '2023-09-18T20:57:34.917Z' - tier_name: Bulk Flower Deals tier_price: 16481713 pos_tier_type: Quantity pos_tier_type_condition_value: 1 - 3.5 tier_valid_until_date: '2023-10-31T15:18:22.650Z' tier_valid_until_date_local: '2023-10-28T11:31:35.563Z' - tier_name: Bulk Flower Deals tier_price: 83622811 pos_tier_type: Weight pos_tier_type_condition_value: 3.5 - 7 tier_valid_until_date: '2023-10-31T15:21:57.167Z' tier_valid_until_date_local: null images: - url: sit description: enim - url: est occaecat eiusmod aute amet description: et nisi pariatur dolore voluptate - url: pariatur reprehenderit description: labore esse pariatur proident irure - url: adipisicing est description: null - url: in consectetur do description: aliqua labore id: ebdf900f-4ef2-91DA-Da07-Aa4EE5CA0F97 crb_id: ea9De3aA-1df6-aFAC-DFD2-e26FDCbd2e5b pos_type: Treez product_id: 61abcb32-3171-B793-fbe4-fa8bdcEC0c5D name: Trim - White Fire OG sku: '64392902' barcode: 1A40F0100000191000001750 total_quantity: 19865073.36509391 pos_updated_date: description: >- Timestamp reported by the pos for the last update to this record. May or may not be provided by the POS pos_updated_date_local: description: >- CRB local timestamp reported by the pos for the last update to this record. May or may not be provided by the POS gc_created_date: '2023-10-31T15:21:57.000Z' gc_updated_date: '2023-02-28T14:01:33.000Z' quantity: 5 - product: {} id: da5E025A-Fbef-db8D-cCe8-4e1E61F2a382 crb_id: b240b4DE-cFbc-9eC5-6bCB-7c75db884C86 pos_type: POSaBIT product_id: null name: Plant Material - Cuvée sku: '12385689' barcode: '01506' total_quantity: 52998213.93217628 pos_updated_date: null pos_updated_date_local: null gc_created_date: '2023-02-28T14:01:33.000Z' gc_updated_date: '2023-02-28T14:01:33.000Z' quantity: 5 - product: {} id: 98dFd33c-e6fc-dBc2-a6c6-fbBeDbe2D06a crb_id: 94CeC7F4-b12A-E138-C5a9-B8e90A7a55D2 pos_type: Blaze product_id: null name: Preroll Bulk - GG2B sku: '64392902' barcode: '03508' total_quantity: 13004278.620693022 pos_updated_date: description: >- Timestamp reported by the pos for the last update to this record. May or may not be provided by the POS pos_updated_date_local: description: >- CRB local timestamp reported by the pos for the last update to this record. May or may not be provided by the POS gc_created_date: '2023-10-31T15:21:57.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' quantity: 16 metadata: count: 1 - 100 total: 65920250 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get Inventory by Location tags: - CRB Inventory security: - access_auth: - point-of-sale:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: Location Id in: path name: location_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: The page size in: query name: limit required: false schema: default: 1000 format: int32 type: integer minimum: 1 maximum: 1000 - description: The page offset in: query name: offset required: false schema: default: 0 format: int32 type: integer minimum: 0 - description: 'Inventory snapshot date: yyyy-MM-dd' in: query name: date required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ - description: >- Expands the response by including product data related to this resource in: query name: expand required: false schema: type: boolean - description: 'Last updated from date: yyyy-MM-dd' in: query name: last_updated_from required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ - description: 'Last updated to date: yyyy-MM-dd' in: query name: last_updated_to required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ /service-providers/{sp_id}/crbs/{crb_id}/documents/{doc_id}/download: get: operationId: get-crb-document-download-link responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/DocumentDownload' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' description: >- Get a download link for a document. The download link will return a base64 encoded blob. Download links expire after one hour. summary: Get Download Link tags: - CRB Documents security: - access_auth: - service-provider:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: Document Id in: path name: doc_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ /service-providers/{sp_id}/crbs/{crb_id}/customers: get: operationId: get-crb-customers responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PagedCustomers' examples: Example 1: value: data: - crb_id: 8b352f73-6f14-5C6C-F3B4-BAEEBd9a93Eb id: Ac379bE0-fDf0-9eDF-EAD2-23bDC674C9A1 pos_type: Greenbits pos_customer_id: ut dolor deserunt first_name: non adipisicing anim last_name: null middle_name: reprehenderit in dolor laborum cupidatat dob: Excepteur reprehenderit eiusmod fugiat address_1: reprehenderit esse minim enim ex address_2: null city: null state: aliquip zip_code: null phone: deserunt sunt sit mollit in cell_phone: tempor email_address: null gender: Other pos_identification_type: null pos_customer_type: null gc_customer_type: null medical_id: ea medical_id_expiration_date: null drivers_license_id: null drivers_license_expiration_date: null other_id: non other_id_expiration_date: null caregiver: null loyalty_member: true loyalty_points: null anonymous: false pos_updated_date: fugiat velit aliqua pos_updated_date_local: null gc_updated_date: null gc_created_date: ad sed officia - crb_id: E5DB7F9D-7f1D-5cb0-Ae55-bF2db1078b8D id: 1FbA0A0B-cfbC-41B0-0eB7-b2FF52Cc6fad pos_type: Sweed pos_customer_id: commodo in do first_name: null last_name: null middle_name: minim dob: null address_1: fugiat dolor Lorem address_2: commodo sit eiusmod dolor city: null state: null zip_code: null phone: proident officia ad cell_phone: null email_address: elit esse gender: Female pos_identification_type: in nostrud Ut ad pos_customer_type: nulla dolor eiusmod non incididunt gc_customer_type: rec medical_id: sit sunt exercitation medical_id_expiration_date: null drivers_license_id: null drivers_license_expiration_date: non occaecat nostrud aliquip est other_id: null other_id_expiration_date: aliquip dolor in reprehenderit caregiver: null loyalty_member: null loyalty_points: -18166257.855527416 anonymous: true pos_updated_date: null pos_updated_date_local: laborum amet mollit gc_updated_date: dolor minim occaecat elit non gc_created_date: null - crb_id: a8BaacC6-A0eD-BC52-bFE5-ec7A5cF4aEBA id: AA410fbe-9e6B-1C98-b663-dcCa6be38FEb pos_type: Sweed pos_customer_id: reprehenderit voluptate esse fugiat exercitation first_name: null last_name: null middle_name: null dob: null address_1: null address_2: mollit dolore eu consequat city: commodo ullamco exercitation Ut aliquip state: null zip_code: ut nulla quis phone: null cell_phone: enim dolor ullamco veniam do email_address: null gender: null pos_identification_type: null pos_customer_type: dolor officia consequat gc_customer_type: medical medical_id: nostrud aliqua sit Ut et medical_id_expiration_date: null drivers_license_id: mollit in dolore enim est drivers_license_expiration_date: consequat proident irure aute sint other_id: null other_id_expiration_date: ad ipsum et culpa caregiver: true loyalty_member: null loyalty_points: null anonymous: null pos_updated_date: null pos_updated_date_local: ex Ut sint exercitation gc_updated_date: est commodo gc_created_date: null metadata: count: 1 - 100 total: 80223367 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB customers tags: - CRB Customers security: - access_auth: - point-of-sale:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: The page size in: query name: limit required: false schema: default: 1000 format: int32 type: integer minimum: 1 maximum: 1000 - description: The page offset in: query name: offset required: false schema: default: 0 format: int32 type: integer minimum: 0 - description: 'Last updated from date: yyyy-MM-dd' in: query name: last_updated_from required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ - description: 'Last updated to date: yyyy-MM-dd' in: query name: last_updated_to required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ /service-providers/{sp_id}/crbs/{crb_id}/customers/{customer_id}: get: operationId: get-crb-customer-by-id responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Customer' examples: Example 1: value: crb_id: 8F9A2C62-8058-f7DA-cFfc-CFBe27b66BFe id: bd3BB6EA-B99B-2eF4-EceF-EEBa975E61cd pos_type: Green Bits Test Account pos_customer_id: laboris first_name: null last_name: null middle_name: null dob: null address_1: anim voluptate laborum nulla consectetur address_2: laboris dolore city: et Duis state: enim laborum consectetur zip_code: null phone: aliqua sed ipsum ex aute cell_phone: Ut sit adipisicing email_address: null gender: null pos_identification_type: null pos_customer_type: null gc_customer_type: rec medical_id: null medical_id_expiration_date: null drivers_license_id: voluptate cupidatat dolor ut drivers_license_expiration_date: null other_id: enim other_id_expiration_date: null caregiver: null loyalty_member: null loyalty_points: null anonymous: true pos_updated_date: nisi labore Lorem consectetur pos_updated_date_local: null gc_updated_date: exercitation voluptate nulla gc_created_date: null '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB customer record by ID tags: - CRB Customers security: - access_auth: - point-of-sale:read - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: Customer Id in: path name: customer_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ /service-providers/{sp_id}/crbs/{crb_id}/customers-search: get: operationId: get-crb-customers-search responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Customers' examples: Example 1: value: - crb_id: EEe1dcc2-78A4-B37e-09f9-6dCddaE1dfA1 id: 17c646f7-f7fb-C538-F4d7-b5CcFeD8C25F pos_type: Cova Test Account pos_customer_id: labore occaecat et adipisicing first_name: null last_name: id Duis amet middle_name: null dob: elit sint veniam proident address_1: null address_2: ad city: null state: null zip_code: ipsum est labore ut phone: null cell_phone: null email_address: null gender: Female pos_identification_type: in pariatur pos_customer_type: esse anim gc_customer_type: null medical_id: exercitation incididunt medical_id_expiration_date: dolore drivers_license_id: nisi irure commodo magna drivers_license_expiration_date: in labore sunt consectetur other_id: dolor dolore do other_id_expiration_date: null caregiver: null loyalty_member: false loyalty_points: null anonymous: null pos_updated_date: null pos_updated_date_local: null gc_updated_date: null gc_created_date: null - crb_id: beB1dFfB-dC3F-cAc4-52f3-eE6Ee3eBa79A id: 5B94dAaf-1fDB-CE7E-31Bc-9D9feD8bD6CB pos_type: MJ Freeway pos_customer_id: eu first_name: ullamco ea last_name: tempor exercitation consequat middle_name: null dob: null address_1: null address_2: null city: in state: null zip_code: consectetur ut incididunt minim in phone: pariatur do anim exercitation cell_phone: null email_address: null gender: Other pos_identification_type: et esse pos_customer_type: null gc_customer_type: medical medical_id: do anim medical_id_expiration_date: eiusmod deserunt nostrud esse drivers_license_id: aliquip Ut laboris cupidatat aute drivers_license_expiration_date: exercitation ipsum other_id: ipsum other_id_expiration_date: null caregiver: null loyalty_member: true loyalty_points: -26767127.28545803 anonymous: null pos_updated_date: labore ex elit pos_updated_date_local: null gc_updated_date: null gc_created_date: null - crb_id: e87dD46B-0495-0d01-6F38-aBFaAC8FbA67 id: 6E8Ce7A4-cC69-76BD-CaDE-F369647BAeDa pos_type: Sweed pos_customer_id: est esse aliqua cupidatat first_name: reprehenderit elit aliquip culpa consectetur last_name: ut middle_name: null dob: null address_1: sint mollit address_2: null city: null state: Ut dolor esse labore zip_code: null phone: null cell_phone: null email_address: Duis culpa minim gender: Female pos_identification_type: null pos_customer_type: consequat laborum gc_customer_type: null medical_id: null medical_id_expiration_date: null drivers_license_id: adipisicing eiusmod drivers_license_expiration_date: null other_id: null other_id_expiration_date: null caregiver: null loyalty_member: false loyalty_points: 64491749.31684977 anonymous: null pos_updated_date: null pos_updated_date_local: null gc_updated_date: pariatur aliqua in dolor ullamco gc_created_date: ipsum - crb_id: EC6dB8C0-8d7A-592d-1Bcd-b8e0d58C307F id: 88A79Ab7-2fD2-4A1F-eeeF-C9EEedDDDdd8 pos_type: Cova pos_customer_id: voluptate exercitation sed nisi aliqua first_name: mollit amet non last_name: reprehenderit esse velit magna laboris middle_name: ut proident nisi laborum dolore dob: aliquip veniam tempor voluptate ex address_1: ad do in address_2: null city: eu occaecat elit laborum state: dolor zip_code: aute reprehenderit phone: aliquip fugiat occaecat Excepteur anim cell_phone: null email_address: null gender: Male pos_identification_type: fugiat Excepteur aute pos_customer_type: officia Lorem gc_customer_type: medical medical_id: null medical_id_expiration_date: anim drivers_license_id: null drivers_license_expiration_date: null other_id: incididunt other_id_expiration_date: null caregiver: true loyalty_member: true loyalty_points: 94060816.08359602 anonymous: false pos_updated_date: Duis pariatur laboris anim pos_updated_date_local: proident gc_updated_date: null gc_created_date: deserunt '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Search for Customers tags: - CRB Customers security: - access_auth: - point-of-sale:write - admin parameters: - description: Service Provider Id in: path name: sp_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: Customer phone number in: query name: phone required: false schema: type: string - description: Customer email in: query name: email required: false schema: type: string - description: Customer first name in: query name: first_name required: false schema: type: string - description: Customer last name in: query name: last_name required: false schema: type: string - description: Customer ID in external POS system in: query name: pos_customer_id required: false schema: type: string /crbs/{crb_id}: get: operationId: get-crb responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/CRB' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB tags: - CRB security: - access_auth: - crb:read - admin parameters: - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ /crbs/{crb_id}/sales: get: operationId: get-sales responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PagedSales' examples: Example 1: value: data: - type: retail customer: customer_id: null pos_customer_id: sint in cupidatat in elit type: rec dob: '1960-07-29T00:00:00.000Z' id_type: medical id_expiration_date: '2025-11-08T00:00:00.000Z' compliance_status: warning compliance_exceptions: - Excepteur culpa commodo sit voluptate - proident nisi officia Excepteur eu - irure consequat in nisi aute compliance_warnings: - velit voluptate - cupidatat in nisi esse do id: 870cb44e-A5A4-dED8-BA29-BdBeEB1eD677 pos_sale_id: null crb_id: F9F6F024-A7CB-8154-0cb2-3Ca5EBE7Fd37 subtotal: 4050 total_discounts: 10300 tax_paid: 49 total_paid: 10000 date: '2023-10-30T13:57:30.000Z' local_date: '2023-10-31T15:21:57.167Z' gc_created_date: '2023-10-31T15:18:22.000Z' gc_updated_date: '2023-09-18T20:57:34.000Z' transaction_type: return pos_name: Treez employee_id: null line_items: - product_id: null pos_product_id: qui ullamco dolor fugiat product_name: Preroll Bulk - GG2B num_units: 2 price_per_unit: 12500 grams: 1 product_type: flower cannabis_product: null line_item_discounts: - flat_amount: 19000 pct_amount: 0.08 name: Employee line_item_taxes: - flat_amount: 22914 pct_amount: 0.95 name: County - 2.5 line_item_fees: - fee_name: Card fee percent_amount: 0.95 flat_amount: 375 included_in_subtotal: null - fee_name: Card fee percent_amount: 0.08 flat_amount: 375 included_in_subtotal: null - fee_name: Donation percent_amount: 0.95 flat_amount: 500 included_in_subtotal: null - fee_name: Donation percent_amount: 0.25 flat_amount: 375 included_in_subtotal: null - fee_name: Card fee percent_amount: 0.95 flat_amount: 500 included_in_subtotal: false - product_id: in eu pos_product_id: in minim reprehenderit consectetur cillum product_name: Rocket Fuel .85 Cart num_units: 7 price_per_unit: 4500 grams: 3.5 product_type: other cannabis_product: null line_item_discounts: - flat_amount: 22914 pct_amount: 0.08 name: Buy two - $5 discount - flat_amount: 6480 pct_amount: 0.95 name: Employee line_item_taxes: - flat_amount: 10000 pct_amount: 0.08 name: State - flat_amount: 22914 pct_amount: 0.25 name: County - 2.5 - flat_amount: 4050 pct_amount: 0.25 name: County - 2.5 line_item_fees: - fee_name: Card fee percent_amount: 0.95 flat_amount: 375 included_in_subtotal: null discounts: [] taxes: - flat_amount: 6480 pct_amount: 0.25 name: State - flat_amount: 4880 pct_amount: 0.25 name: County - 2.5 - flat_amount: 5240 pct_amount: 0.25 name: State - flat_amount: 10000 pct_amount: 0.95 name: State - flat_amount: 6480 pct_amount: 0.25 name: State payments: - type: store_credit amount_paid: 6176 - type: cash amount_paid: 23046 - type: check amount_paid: 35000 fees: [] metadata: count: 100 - 172 total: 40836116 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB sales tags: - Sales security: - access_auth: - point-of-sale:read - admin parameters: - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: 'Start Date: yyyy-MM-dd' in: query name: start_date required: true schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ - description: 'End Date: yyyy-MM-dd' in: query name: end_date required: true schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ - description: The page size in: query name: limit required: false schema: default: 1000 format: int32 type: integer minimum: 1 maximum: 1000 - description: The page offset in: query name: offset required: false schema: default: 0 format: int32 type: integer minimum: 0 - description: Customer ID, our internal customer ID available on retail POS only in: query name: customer_id required: false schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: >- POS Customer ID, the customer ID internal to the specific POS, works available for both retail and wholesale POS in: query name: pos_customer_id required: false schema: type: string - description: 'Last updated from date: yyyy-MM-dd' in: query name: last_updated_from required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ - description: 'Last updated to date: yyyy-MM-dd' in: query name: last_updated_to required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ /crbs/{crb_id}/products: get: operationId: get-products responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PagedProducts' examples: Example 1: value: data: - crb_id: 8Ed5c3ed-18D8-abeA-C14F-aa5aAE3b8Bdf id: 1B3eF4eb-ca44-C1C8-DeE3-Da6B893Cfd60 pos_product_id: do pariatur Lorem commodo pos_type: GrowFlow name: Rudeboi OG gc_product_category_name: extract pos_product_category_name: Edible pos_product_subcategory_name: Topical-Dermal-Balm pos_strain_name: Cherry Bang Bang pos_brand_name: Lookah medicated: null sku: '10563228' description: >- These pre-rolls are perfect for a portable smoking experience gc_net_weight_grams: 69517386.46189576 pos_unit_of_measure: Qty price: null unit_cost: 8761151.729771521 pos_updated_date: '2023-09-18T20:57:34.917Z' pos_updated_date_local: '2023-10-31T15:18:22.652Z' gc_created_date: '2023-10-31T15:18:22.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' price_tiers: - tier_name: Bulk Flower Deals tier_price: 5824797 pos_tier_type: Weight pos_tier_type_condition_value: Special Offer tier_valid_until_date: '2023-10-31T15:21:57.167Z' tier_valid_until_date_local: '2023-02-28T14:00:33.603Z' - tier_name: Bulk Flower Deals tier_price: 9430357 pos_tier_type: Time Limited pos_tier_type_condition_value: 3.5 - 7 tier_valid_until_date: null tier_valid_until_date_local: '2023-10-31T15:21:57.167Z' - tier_name: Weight Tiers tier_price: 4990149 pos_tier_type: Time Limited pos_tier_type_condition_value: 3.5 - 7 tier_valid_until_date: null tier_valid_until_date_local: '2023-10-31T15:21:57.167Z' images: - url: culpa description: null - url: laboris description: null - url: anim laboris voluptate Ut description: ullamco adipisicing - url: fugiat description: null - crb_id: e207Da9d-Efb0-E0B6-7840-32AcB87E01Ef id: 39FFba0C-0Dcd-57eb-bD4a-E1e5C57daff6 pos_product_id: qui pos_type: Jane name: Preroll Bulk - GG2B gc_product_category_name: marijuana_product pos_product_category_name: Prerolls pos_product_subcategory_name: Candy Bar pos_strain_name: Purple Haze pos_brand_name: Trulieve medicated: true sku: '12894689' description: >- These pre-rolls are perfect for a portable smoking experience gc_net_weight_grams: 36999729.80599808 pos_unit_of_measure: Wgt price: null unit_cost: 34347266.477119364 pos_updated_date: '2023-02-28T14:00:33.603Z' pos_updated_date_local: null gc_created_date: '2023-10-28T17:31:35.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' price_tiers: null images: null - crb_id: fc8e5B5E-ac95-79Fc-1f9B-8B4CBF54ceA8 id: DB65DC2c-9f4C-3689-7Ea2-c6fB559F8eE5 pos_product_id: in pos_type: Weave name: Blue Raspberry Gummies - 10 Pieces gc_product_category_name: null pos_product_category_name: Prerolls pos_product_subcategory_name: Candy Bar pos_strain_name: Rocket Pop pos_brand_name: Lookah medicated: false sku: '54389678' description: A 20 pack of 5mg sativa gummies. gc_net_weight_grams: null pos_unit_of_measure: Wgt price: null unit_cost: 13532136.136655027 pos_updated_date: '2023-10-31T15:18:22.650Z' pos_updated_date_local: '2023-10-28T11:31:35.563Z' gc_created_date: '2023-02-28T14:01:33.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' price_tiers: [] images: null - crb_id: AA801f80-ecDD-Cd74-36F9-b8dbfad1F55E id: 432bBeE5-eF6e-7D67-46D2-44cFC557eA2e pos_product_id: nisi mollit laborum in quis pos_type: IndicaOnline name: Hypnos Cartridge gc_product_category_name: plant pos_product_category_name: Infused Flower pos_product_subcategory_name: Topical-Dermal-Balm pos_strain_name: Kush Berry pos_brand_name: Lookah medicated: false sku: '12385689' description: A 20 pack of 5mg sativa gummies. gc_net_weight_grams: null pos_unit_of_measure: Wgt price: 31305303 unit_cost: 81165954.95578116 pos_updated_date: null pos_updated_date_local: null gc_created_date: '2023-09-18T20:57:34.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' price_tiers: [] images: null metadata: count: 1 - 100 total: 86475544 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB products tags: - Products security: - access_auth: - point-of-sale:read - admin parameters: - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: The page size in: query name: limit required: false schema: default: 1000 format: int32 type: integer minimum: 1 maximum: 1000 - description: The page offset in: query name: offset required: false schema: default: 0 format: int32 type: integer minimum: 0 - description: 'Last updated from date: yyyy-MM-dd' in: query name: last_updated_from required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ - description: 'Last updated to date: yyyy-MM-dd' in: query name: last_updated_to required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ /crbs/{crb_id}/products-by-barcode/{barcode}: get: operationId: get-products-by-barcode responses: '200': description: Ok content: application/json: schema: items: $ref: '#/components/schemas/Product' type: array examples: Example 1: value: data: - crb_id: 8Ed5c3ed-18D8-abeA-C14F-aa5aAE3b8Bdf id: 1B3eF4eb-ca44-C1C8-DeE3-Da6B893Cfd60 pos_product_id: do pariatur Lorem commodo pos_type: GrowFlow name: Rudeboi OG gc_product_category_name: extract pos_product_category_name: Edible pos_product_subcategory_name: Topical-Dermal-Balm pos_strain_name: Cherry Bang Bang pos_brand_name: Lookah medicated: null sku: '10563228' description: >- These pre-rolls are perfect for a portable smoking experience gc_net_weight_grams: 69517386.46189576 pos_unit_of_measure: Qty price: null unit_cost: 8761151.729771521 pos_updated_date: '2023-09-18T20:57:34.917Z' pos_updated_date_local: '2023-10-31T15:18:22.652Z' gc_created_date: '2023-10-31T15:18:22.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' price_tiers: - tier_name: Bulk Flower Deals tier_price: 5824797 pos_tier_type: Weight pos_tier_type_condition_value: Special Offer tier_valid_until_date: '2023-10-31T15:21:57.167Z' tier_valid_until_date_local: '2023-02-28T14:00:33.603Z' - tier_name: Bulk Flower Deals tier_price: 9430357 pos_tier_type: Time Limited pos_tier_type_condition_value: 3.5 - 7 tier_valid_until_date: null tier_valid_until_date_local: '2023-10-31T15:21:57.167Z' - tier_name: Weight Tiers tier_price: 4990149 pos_tier_type: Time Limited pos_tier_type_condition_value: 3.5 - 7 tier_valid_until_date: null tier_valid_until_date_local: '2023-10-31T15:21:57.167Z' images: - url: culpa description: null - url: laboris description: null - url: anim laboris voluptate Ut description: ullamco adipisicing - url: fugiat description: null - crb_id: e207Da9d-Efb0-E0B6-7840-32AcB87E01Ef id: 39FFba0C-0Dcd-57eb-bD4a-E1e5C57daff6 pos_product_id: qui pos_type: Jane name: Preroll Bulk - GG2B gc_product_category_name: marijuana_product pos_product_category_name: Prerolls pos_product_subcategory_name: Candy Bar pos_strain_name: Purple Haze pos_brand_name: Trulieve medicated: true sku: '12894689' description: >- These pre-rolls are perfect for a portable smoking experience gc_net_weight_grams: 36999729.80599808 pos_unit_of_measure: Wgt price: null unit_cost: 34347266.477119364 pos_updated_date: '2023-02-28T14:00:33.603Z' pos_updated_date_local: null gc_created_date: '2023-10-28T17:31:35.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' price_tiers: null images: null - crb_id: fc8e5B5E-ac95-79Fc-1f9B-8B4CBF54ceA8 id: DB65DC2c-9f4C-3689-7Ea2-c6fB559F8eE5 pos_product_id: in pos_type: Weave name: Blue Raspberry Gummies - 10 Pieces gc_product_category_name: null pos_product_category_name: Prerolls pos_product_subcategory_name: Candy Bar pos_strain_name: Rocket Pop pos_brand_name: Lookah medicated: false sku: '54389678' description: A 20 pack of 5mg sativa gummies. gc_net_weight_grams: null pos_unit_of_measure: Wgt price: null unit_cost: 13532136.136655027 pos_updated_date: '2023-10-31T15:18:22.650Z' pos_updated_date_local: '2023-10-28T11:31:35.563Z' gc_created_date: '2023-02-28T14:01:33.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' price_tiers: [] images: null - crb_id: AA801f80-ecDD-Cd74-36F9-b8dbfad1F55E id: 432bBeE5-eF6e-7D67-46D2-44cFC557eA2e pos_product_id: nisi mollit laborum in quis pos_type: IndicaOnline name: Hypnos Cartridge gc_product_category_name: plant pos_product_category_name: Infused Flower pos_product_subcategory_name: Topical-Dermal-Balm pos_strain_name: Kush Berry pos_brand_name: Lookah medicated: false sku: '12385689' description: A 20 pack of 5mg sativa gummies. gc_net_weight_grams: null pos_unit_of_measure: Wgt price: 31305303 unit_cost: 81165954.95578116 pos_updated_date: null pos_updated_date_local: null gc_created_date: '2023-09-18T20:57:34.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' price_tiers: [] images: null metadata: count: 1 - 100 total: 86475544 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB products by Barcode tags: - Products security: - access_auth: - point-of-sale:read - admin parameters: - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: The Barcode in: path name: barcode required: true schema: type: string /crbs/{crb_id}/products/{product_id}: get: operationId: get-product-by-id responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Product' examples: Example 1: value: crb_id: e9eEb5Df-d00d-DcE5-9012-e572B6d3B00c id: 5FcBc1A5-e0bA-bb1B-eB02-884Ee0d5AfFB pos_product_id: esse ex magna pos_type: Metrc S2S name: Blue Raspberry Gummies - 10 Pieces gc_product_category_name: edible pos_product_category_name: Non-Cannabis Retail pos_product_subcategory_name: Topical-Dermal-Balm pos_strain_name: Cherry Bang Bang pos_brand_name: Avexia medicated: null sku: '23895623' description: >- Night Rider is a hybrid strain created by Greenpoint Seeds. gc_net_weight_grams: null pos_unit_of_measure: Qty price: null unit_cost: 22422728.271413006 pos_updated_date: '2023-09-18T20:57:34.917Z' pos_updated_date_local: '2023-10-28T11:31:35.563Z' gc_created_date: '2023-10-31T15:21:57.000Z' gc_updated_date: '2023-09-18T20:57:34.000Z' price_tiers: null images: - url: sit qui non est consequat description: occaecat in ea '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB product record by ID tags: - Products security: - access_auth: - point-of-sale:read - admin parameters: - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: Product Id in: path name: product_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ /crbs/{crb_id}/inventory-locations: get: operationId: get-inventory-locations responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PagedLocations' examples: Example 1: value: data: - id: 92C42BDC-c220-9E65-c79D-0Be2D85276AB crb_id: 0992e7c5-9eaE-ad23-1b1C-A58Cbaa18Adf name: Delivery pos_type: Blaze pos_location_id: '4306' pos_location_type: Distribution pos_updated_date: null pos_updated_date_local: '2023-10-28T11:31:35.563Z' gc_created_date: '2023-10-31T15:18:22.650Z' gc_created_date_local: null metadata: count: 1 - 100 total: 36618859 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get Inventory Locations tags: - Inventory Locations security: - access_auth: - point-of-sale:read - admin parameters: - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: The page size in: query name: limit required: false schema: default: 1000 format: int32 type: integer minimum: 1 maximum: 1000 - description: The page offset in: query name: offset required: false schema: default: 0 format: int32 type: integer minimum: 0 /crbs/{crb_id}/inventory-locations/{location_id}: get: operationId: get-inventory-location-by-id responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Location' examples: Example 1: value: id: Cdb4ffff-a2FA-Cce1-547F-b8CDebFf8FcE crb_id: F9Fc6Fa3-ac42-8E7c-5e1B-Dc1D325E9Ecd name: Warehouse pos_type: MJ Freeway pos_location_id: '4328' pos_location_type: Delivery pos_updated_date: null pos_updated_date_local: '2023-10-28T11:31:35.563Z' gc_created_date: null gc_created_date_local: '2023-02-28T14:00:33.603Z' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get Inventory Location by ID tags: - Inventory Locations security: - access_auth: - point-of-sale:read - admin parameters: - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: The ID of the location in: path name: location_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ /crbs/{crb_id}/inventory: get: operationId: get-inventory responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PagedInventory' examples: Example 1: value: data: - id: 493bf7De-Cfb2-F297-cB74-738985DF0471 crb_id: C08EaBD1-cf02-b41D-17Fe-5F7ca0d6FF8f pos_type: MJ Freeway product_id: 8378981A-8f9D-AeCD-fdc3-F5ccAE8a3aeA name: Kief Bulk - Blissful Wizard sku: '12385689' barcode: 1A40F01000000C9000009645 total_quantity: 39 pos_updated_date: '2023-09-18T20:57:34.917Z' pos_updated_date_local: null gc_created_date: '2023-10-31T15:21:57.000Z' gc_updated_date: '2023-09-18T20:57:34.000Z' location_data: - name: Main Inventory quantity: 45 location_id: 505aCEdc-cccb-91fc-ac5d-FaE7cA39703C pos_location_type: qui ut - name: Store 4 quantity: 47 location_id: Cf93014D-eab3-B3BA-ce09-fB9D76dACAa7 pos_location_type: null - name: Main Inventory quantity: 16 location_id: 4EbDbf7E-b8d5-Ba61-c961-24Bda1C959Fc pos_location_type: consequat Excepteur deserunt - name: Store 4 quantity: 29 location_id: adCCA7Ca-A77f-40DD-9aA4-02e2C8e6Bd6f pos_location_type: null - id: ADC8a4Eb-Cd0f-aed4-eABa-5ccBE3cbdc2C crb_id: 626de38E-04Cd-5cbB-bBEc-C5eFBEbE129a pos_type: Treez product_id: null name: Kief Bulk - Blissful Wizard sku: '82734891' barcode: '01506' total_quantity: 39 pos_updated_date: null pos_updated_date_local: null gc_created_date: '2023-10-31T15:18:22.000Z' gc_updated_date: '2023-10-31T15:21:57.000Z' location_data: - name: Main Store quantity: 16 location_id: 5eDfBfEA-5aCe-5D81-6FAa-7FfF1aF9A924 pos_location_type: aliqua - name: Store 4 quantity: 100 location_id: f8F545eE-BCe7-986F-b7E1-70E8a8A7Fa5A pos_location_type: null - name: Bulk Inventory quantity: 18 location_id: c7f7Fa74-fEff-AfD7-6Cda-2bc04E658a9B pos_location_type: null - id: 7252FDcB-c608-Ed21-e72F-E937cF6595F9 crb_id: C4F2dEB7-7FdF-6BF4-0cC7-160C5dF2FddE pos_type: POSaBIT product_id: BbDad04D-Ed14-BCe8-3FB5-ad05a5df9AA5 name: Rudeboi OG sku: '30752973' barcode: 1A40F0100000B55000005484 total_quantity: 47 pos_updated_date: '2023-02-28T14:00:33.603Z' pos_updated_date_local: '2023-09-18T20:57:34.917Z' gc_created_date: '2023-10-31T15:18:22.000Z' gc_updated_date: '2023-02-28T14:01:33.000Z' location_data: - name: Store 3 quantity: 29 location_id: 840BE69F-57BC-3f28-10ca-bFB7C41a98d6 pos_location_type: esse minim irure anim - name: Store 3 quantity: 39 location_id: 0c0a088C-988f-a3C3-56f5-3298bdc34d60 pos_location_type: est - id: 6Ae2bc05-bD3b-4251-f4EE-de9f730d2CBC crb_id: 290CEbcD-cde5-A08E-F4bE-E5AF9cDE9fd0 pos_type: Cova product_id: 64f480A3-3bc6-56Ae-daF1-f1A9BEC512EF name: Bulk Batter (GG4) sku: '12894689' barcode: '01506' total_quantity: 39 pos_updated_date: '2023-10-31T15:18:22.650Z' pos_updated_date_local: null gc_created_date: '2023-02-28T14:01:33.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' location_data: - name: Store 3 quantity: 16 location_id: dCbd9dE8-ABED-D3D1-cFFa-8a1c4CC0EC5F pos_location_type: null - name: Bulk Inventory quantity: 200 location_id: 9ecea46E-cA3F-84ec-2bFF-84bb9eC7ddA7 pos_location_type: Ut in - name: Store 4 quantity: 39 location_id: 1711B9Fc-FE4E-8eB1-2d9B-CC81DFBced0A pos_location_type: et esse officia metadata: count: 1 - 100 total: 45223798 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB inventory tags: - Inventory security: - access_auth: - point-of-sale:read - admin parameters: - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: The page size in: query name: limit required: false schema: default: 1000 format: int32 type: integer minimum: 1 maximum: 1000 - description: The page offset in: query name: offset required: false schema: default: 0 format: int32 type: integer minimum: 0 - description: >- Expands the response by including product data related to this resource in: query name: expand required: false schema: type: boolean - description: 'Last updated from date: yyyy-MM-dd' in: query name: last_updated_from required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ - description: 'Last updated to date: yyyy-MM-dd' in: query name: last_updated_to required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ /crbs/{crb_id}/inventory/{inventory_id}: get: operationId: get-inventory-by-id responses: '200': description: Ok content: application/json: schema: title: GetCrbInventoryByIdResponse anyOf: - $ref: '#/components/schemas/Inventory' - $ref: '#/components/schemas/ExpandedInventory' examples: Example 1: value: id: 2284c0E4-62B2-33F5-FaC5-0FdC1d2dDb6a crb_id: B8cDDF80-04e0-87CE-A7d9-a55d95049DBA pos_type: Treez product_id: 130eD1De-CA28-4690-396c-cc55eB2198f2 name: Kief Bulk - Blissful Wizard sku: '54389678' barcode: '03508' total_quantity: 45 pos_updated_date: '2023-02-28T14:00:33.603Z' pos_updated_date_local: '2023-09-18T20:57:34.917Z' gc_created_date: '2023-09-18T20:57:34.000Z' gc_updated_date: '2023-10-31T15:21:57.000Z' location_data: - name: Main Inventory quantity: 47 location_id: dF6D5fDa-00EC-AeFA-3bdf-3d86BA592f95 pos_location_type: null - name: Store 3 quantity: 200 location_id: BEeCF70A-430B-86A5-FAaA-fEd5Baf63eeB pos_location_type: null Example 2: value: product: crb_id: 631412dB-92DE-edcA-66c8-AA1559Ab29Fa id: 7cdd91b0-DF8c-0bbD-44F7-2737bCFaa61b pos_product_id: fugiat elit veniam pos_type: Quickbooks name: Preroll Bulk - GG2B gc_product_category_name: edible pos_product_category_name: Edible pos_product_subcategory_name: Mad Terps - Terpstix pos_strain_name: Kush Berry pos_brand_name: Trulieve medicated: false sku: '54389678' description: >- Night Rider is a hybrid strain created by Greenpoint Seeds. gc_net_weight_grams: 35924299.84716305 pos_unit_of_measure: Wgt price: 64239145 unit_cost: null pos_updated_date: '2023-10-31T15:21:57.167Z' pos_updated_date_local: '2023-10-31T15:18:22.652Z' gc_created_date: '2023-02-28T14:01:33.000Z' gc_updated_date: '2023-02-28T14:01:33.000Z' price_tiers: - tier_name: Bulk Flower Deals tier_price: 85413970 pos_tier_type: Quantity pos_tier_type_condition_value: 3.5 - 7 tier_valid_until_date: null tier_valid_until_date_local: null - tier_name: Weight Tiers tier_price: 20413893 pos_tier_type: Time Limited pos_tier_type_condition_value: 3.5 - 7 tier_valid_until_date: '2023-02-28T14:00:33.603Z' tier_valid_until_date_local: '2023-10-31T15:18:22.652Z' - tier_name: Free Offers tier_price: 81427503 pos_tier_type: Quantity pos_tier_type_condition_value: '10' tier_valid_until_date: '2023-10-28T17:31:35.563Z' tier_valid_until_date_local: null - tier_name: Free Offers tier_price: 92630953 pos_tier_type: Quantity pos_tier_type_condition_value: 1 - 3.5 tier_valid_until_date: '2023-10-31T15:21:57.167Z' tier_valid_until_date_local: '2023-10-28T11:31:35.563Z' images: - url: sit description: null - url: pariatur minim magna in description: proident - url: culpa description: null id: CE82d84B-28Ab-0FcA-cdFD-28DFbD720EE9 crb_id: a4C9adA3-0F1B-6bF0-CaF6-B3840738f18e pos_type: Cova product_id: FF3BF8f9-165F-7cd9-eBB6-d5aD3ccadeCA name: Kief Bulk - Blissful Wizard sku: '12385689' barcode: '03508' total_quantity: 29 pos_updated_date: description: >- Timestamp reported by the pos for the last update to this record. May or may not be provided by the POS pos_updated_date_local: description: >- CRB local timestamp reported by the pos for the last update to this record. May or may not be provided by the POS gc_created_date: '2023-10-31T15:18:22.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' location_data: - name: Store 4 quantity: 47 location_id: F6da3A66-FEFB-d00C-A53A-0e16DC2Ad10E pos_location_type: in elit nulla aute Duis - name: Bulk Inventory quantity: 16 location_id: 7e9CAEEE-9Ed8-a7B1-E39A-9dAB8b44729A pos_location_type: null - name: Store 4 quantity: 1000 location_id: EC9faf5e-2142-32fe-F32B-78b39af1d4E6 pos_location_type: adipisicing fugiat '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB inventory record by ID tags: - Inventory security: - access_auth: - point-of-sale:read - admin parameters: - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: Inventory Id in: path name: inventory_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: >- Expands the response by including product data related to this resource in: query name: expand required: false schema: type: boolean /crbs/{crb_id}/inventory-locations/{location_id}/inventory: get: operationId: get-inventory-by-location responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PagedLocationInventory' examples: Example 1: value: data: - product: null id: 671ceaad-D1B7-A6C2-1Bdb-10d04eb30dBD crb_id: FaC8Ce51-FA7d-7Ac2-CBeA-24135c505AcB pos_type: Cova product_id: null name: Rocket Fuel .85 Cart sku: '30752973' barcode: 1A40F01000000C9000009645 total_quantity: 52842866.87700297 pos_updated_date: null pos_updated_date_local: null gc_created_date: '2023-09-18T20:57:34.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' quantity: 40 - product: crb_id: C3aeAc6B-F1Ba-b753-4E7A-824618dFbEfa id: C3b8903f-f557-E3AE-E67A-863cfCF5cdff pos_product_id: labore pos_type: description: The POS system that this data is sourced from. name: Hypnos Cartridge gc_product_category_name: null pos_product_category_name: Merch pos_product_subcategory_name: Live Resin (Bulk) pos_strain_name: Sweet Sticky Melon pos_brand_name: Reserve medicated: null sku: '10563228' description: A 20 pack of 5mg sativa gummies. gc_net_weight_grams: null pos_unit_of_measure: Qty price: 78760823 unit_cost: null pos_updated_date: '2023-10-31T15:21:57.167Z' pos_updated_date_local: '2023-10-28T11:31:35.563Z' gc_created_date: '2023-10-31T15:21:57.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' price_tiers: - tier_name: Free Offers tier_price: 64434514 pos_tier_type: Quantity pos_tier_type_condition_value: '10' tier_valid_until_date: description: >- Datetime that this tier stops being valid, if applicable tier_valid_until_date_local: '2023-10-31T15:21:57.167Z' - tier_name: Bulk Flower Deals tier_price: 83757010 pos_tier_type: Weight pos_tier_type_condition_value: Special Offer tier_valid_until_date: null tier_valid_until_date_local: '2023-10-31T15:21:57.167Z' - tier_name: Bulk Flower Deals tier_price: 65784219 pos_tier_type: Time Limited pos_tier_type_condition_value: '10' tier_valid_until_date: null tier_valid_until_date_local: '2023-09-18T20:57:34.917Z' - tier_name: Bulk Flower Deals tier_price: 16481713 pos_tier_type: Quantity pos_tier_type_condition_value: 1 - 3.5 tier_valid_until_date: '2023-10-31T15:18:22.650Z' tier_valid_until_date_local: '2023-10-28T11:31:35.563Z' - tier_name: Bulk Flower Deals tier_price: 83622811 pos_tier_type: Weight pos_tier_type_condition_value: 3.5 - 7 tier_valid_until_date: '2023-10-31T15:21:57.167Z' tier_valid_until_date_local: null images: - url: sit description: enim - url: est occaecat eiusmod aute amet description: et nisi pariatur dolore voluptate - url: pariatur reprehenderit description: labore esse pariatur proident irure - url: adipisicing est description: null - url: in consectetur do description: aliqua labore id: ebdf900f-4ef2-91DA-Da07-Aa4EE5CA0F97 crb_id: ea9De3aA-1df6-aFAC-DFD2-e26FDCbd2e5b pos_type: Treez product_id: 61abcb32-3171-B793-fbe4-fa8bdcEC0c5D name: Trim - White Fire OG sku: '64392902' barcode: 1A40F0100000191000001750 total_quantity: 19865073.36509391 pos_updated_date: description: >- Timestamp reported by the pos for the last update to this record. May or may not be provided by the POS pos_updated_date_local: description: >- CRB local timestamp reported by the pos for the last update to this record. May or may not be provided by the POS gc_created_date: '2023-10-31T15:21:57.000Z' gc_updated_date: '2023-02-28T14:01:33.000Z' quantity: 5 - product: {} id: da5E025A-Fbef-db8D-cCe8-4e1E61F2a382 crb_id: b240b4DE-cFbc-9eC5-6bCB-7c75db884C86 pos_type: POSaBIT product_id: null name: Plant Material - Cuvée sku: '12385689' barcode: '01506' total_quantity: 52998213.93217628 pos_updated_date: null pos_updated_date_local: null gc_created_date: '2023-02-28T14:01:33.000Z' gc_updated_date: '2023-02-28T14:01:33.000Z' quantity: 5 - product: {} id: 98dFd33c-e6fc-dBc2-a6c6-fbBeDbe2D06a crb_id: 94CeC7F4-b12A-E138-C5a9-B8e90A7a55D2 pos_type: Blaze product_id: null name: Preroll Bulk - GG2B sku: '64392902' barcode: '03508' total_quantity: 13004278.620693022 pos_updated_date: description: >- Timestamp reported by the pos for the last update to this record. May or may not be provided by the POS pos_updated_date_local: description: >- CRB local timestamp reported by the pos for the last update to this record. May or may not be provided by the POS gc_created_date: '2023-10-31T15:21:57.000Z' gc_updated_date: '2023-10-28T17:31:35.000Z' quantity: 16 metadata: count: 1 - 100 total: 65920250 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get Inventory by Location tags: - Inventory security: - access_auth: - point-of-sale:read - admin parameters: - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: Location Id in: path name: location_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: The page size in: query name: limit required: false schema: default: 1000 format: int32 type: integer minimum: 1 maximum: 1000 - description: The page offset in: query name: offset required: false schema: default: 0 format: int32 type: integer minimum: 0 - description: 'Inventory snapshot date: yyyy-MM-dd' in: query name: date required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ - description: >- Expands the response by including product data related to this resource in: query name: expand required: false schema: type: boolean - description: 'Last updated from date: yyyy-MM-dd' in: query name: last_updated_from required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ - description: 'Last updated to date: yyyy-MM-dd' in: query name: last_updated_to required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ /crbs/{crb_id}/documents: get: operationId: get-documents responses: '200': description: Ok content: application/json: schema: items: $ref: '#/components/schemas/Document' type: array '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB documents tags: - Documents security: - access_auth: - crb:read - admin parameters: - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ /crbs/{crb_id}/documents/{doc_id}: get: operationId: get-document-by-id responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Document' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB document by Id tags: - Documents security: - access_auth: - crb:read - admin parameters: - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: Document Id in: path name: doc_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ /crbs/{crb_id}/customers: get: operationId: get-customers responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PagedCustomers' examples: Example 1: value: data: - crb_id: 8b352f73-6f14-5C6C-F3B4-BAEEBd9a93Eb id: Ac379bE0-fDf0-9eDF-EAD2-23bDC674C9A1 pos_type: Greenbits pos_customer_id: ut dolor deserunt first_name: non adipisicing anim last_name: null middle_name: reprehenderit in dolor laborum cupidatat dob: Excepteur reprehenderit eiusmod fugiat address_1: reprehenderit esse minim enim ex address_2: null city: null state: aliquip zip_code: null phone: deserunt sunt sit mollit in cell_phone: tempor email_address: null gender: Other pos_identification_type: null pos_customer_type: null gc_customer_type: null medical_id: ea medical_id_expiration_date: null drivers_license_id: null drivers_license_expiration_date: null other_id: non other_id_expiration_date: null caregiver: null loyalty_member: true loyalty_points: null anonymous: false pos_updated_date: fugiat velit aliqua pos_updated_date_local: null gc_updated_date: null gc_created_date: ad sed officia - crb_id: E5DB7F9D-7f1D-5cb0-Ae55-bF2db1078b8D id: 1FbA0A0B-cfbC-41B0-0eB7-b2FF52Cc6fad pos_type: Sweed pos_customer_id: commodo in do first_name: null last_name: null middle_name: minim dob: null address_1: fugiat dolor Lorem address_2: commodo sit eiusmod dolor city: null state: null zip_code: null phone: proident officia ad cell_phone: null email_address: elit esse gender: Female pos_identification_type: in nostrud Ut ad pos_customer_type: nulla dolor eiusmod non incididunt gc_customer_type: rec medical_id: sit sunt exercitation medical_id_expiration_date: null drivers_license_id: null drivers_license_expiration_date: non occaecat nostrud aliquip est other_id: null other_id_expiration_date: aliquip dolor in reprehenderit caregiver: null loyalty_member: null loyalty_points: -18166257.855527416 anonymous: true pos_updated_date: null pos_updated_date_local: laborum amet mollit gc_updated_date: dolor minim occaecat elit non gc_created_date: null - crb_id: a8BaacC6-A0eD-BC52-bFE5-ec7A5cF4aEBA id: AA410fbe-9e6B-1C98-b663-dcCa6be38FEb pos_type: Sweed pos_customer_id: reprehenderit voluptate esse fugiat exercitation first_name: null last_name: null middle_name: null dob: null address_1: null address_2: mollit dolore eu consequat city: commodo ullamco exercitation Ut aliquip state: null zip_code: ut nulla quis phone: null cell_phone: enim dolor ullamco veniam do email_address: null gender: null pos_identification_type: null pos_customer_type: dolor officia consequat gc_customer_type: medical medical_id: nostrud aliqua sit Ut et medical_id_expiration_date: null drivers_license_id: mollit in dolore enim est drivers_license_expiration_date: consequat proident irure aute sint other_id: null other_id_expiration_date: ad ipsum et culpa caregiver: true loyalty_member: null loyalty_points: null anonymous: null pos_updated_date: null pos_updated_date_local: ex Ut sint exercitation gc_updated_date: est commodo gc_created_date: null metadata: count: 1 - 100 total: 80223367 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB customers tags: - Customers security: - access_auth: - point-of-sale:read - admin parameters: - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: The page size in: query name: limit required: false schema: default: 1000 format: int32 type: integer minimum: 1 maximum: 1000 - description: The page offset in: query name: offset required: false schema: default: 0 format: int32 type: integer minimum: 0 - description: 'Last updated from date: yyyy-MM-dd' in: query name: last_updated_from required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ - description: 'Last updated to date: yyyy-MM-dd' in: query name: last_updated_to required: false schema: type: string pattern: ^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ /crbs/{crb_id}/customers/{customer_id}: get: operationId: get-customer-by-id responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Customer' examples: Example 1: value: crb_id: 8F9A2C62-8058-f7DA-cFfc-CFBe27b66BFe id: bd3BB6EA-B99B-2eF4-EceF-EEBa975E61cd pos_type: Green Bits Test Account pos_customer_id: laboris first_name: null last_name: null middle_name: null dob: null address_1: anim voluptate laborum nulla consectetur address_2: laboris dolore city: et Duis state: enim laborum consectetur zip_code: null phone: aliqua sed ipsum ex aute cell_phone: Ut sit adipisicing email_address: null gender: null pos_identification_type: null pos_customer_type: null gc_customer_type: rec medical_id: null medical_id_expiration_date: null drivers_license_id: voluptate cupidatat dolor ut drivers_license_expiration_date: null other_id: enim other_id_expiration_date: null caregiver: null loyalty_member: null loyalty_points: null anonymous: true pos_updated_date: nisi labore Lorem consectetur pos_updated_date_local: null gc_updated_date: exercitation voluptate nulla gc_created_date: null '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' summary: Get CRB customer record by ID tags: - Customers security: - access_auth: - point-of-sale:read - admin parameters: - description: CRB Id in: path name: crb_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ - description: Customer Id in: path name: customer_id required: true schema: type: string pattern: >- ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$ /auth/token: post: operationId: get-token responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/AuthResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '422': description: Validation Failed content: application/json: schema: $ref: '#/components/schemas/ValidateError' description: Exchange credentials for an bearer token. summary: Get Bearer Token tags: - Authentication security: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TokenRequestBody' servers: - url: https://sandbox-api.greencheckverified.com description: Sandbox server - url: https://prod-api.greencheckverified.com description: Production server x-amazon-apigateway-request-validators: all: validateRequestBody: true validateRequestParameters: true params: validateRequestBody: true validateRequestParameters: true body: validateRequestBody: true validateRequestParameters: false x-amazon-apigateway-api-key-source: AUTHORIZER x-tagGroups: - name: '' tags: - Authentication - name: Service Provider tags: - Service Provider - CRB Info - CRB Customers - CRB Documents - CRB Inventory - CRB Inventory Locations - CRB Products - CRB Sales - CRB Templates - name: CRB tags: - CRB - Customers - Documents - Inventory - Inventory Locations - Products - Sales x-amazon-apigateway-gateway-responses: ACCESS_DENIED: statusCode: '403' responseTemplates: application/json: '{"message":"$context.authorizer.context.messageString"}' EXPIRED_TOKEN: statusCode: '403' responseTemplates: application/json: '{"message":"$context.error.message", "details":"EXPIRED_TOKEN"}' INVALID_API_KEY: statusCode: '403' responseTemplates: application/json: '{"message":"$context.error.message", "details":"INVALID_API_KEY"}' INVALID_SIGNATURE: statusCode: '403' responseTemplates: application/json: '{"message":"$context.error.message", "details":"INVALID_SIGNATURE"}' MISSING_AUTHENTICATION_TOKEN: statusCode: '403' responseTemplates: application/json: >- {"message":"Missing Authentication Header", "details":"MISSING_AUTHENTICATION_TOKEN"} QUOTA_EXCEEDED: statusCode: '429' responseTemplates: application/json: '{"message":"$context.error.message", "details":"QUOTA_EXCEEDED"}' REQUEST_TOO_LARGE: statusCode: '413' responseTemplates: application/json: '{"message":"$context.error.message", "details":"REQUEST_TOO_LARGE"}' RESOURCE_NOT_FOUND: statusCode: '404' responseTemplates: application/json: '{"message":"$context.error.message", "details":"RESOURCE_NOT_FOUND"}' THROTTLED: statusCode: '429' responseTemplates: application/json: '{"message":"$context.error.message", "details":"THROTTLED"}' UNAUTHORIZED: statusCode: '401' responseTemplates: application/json: '{"message":"$context.error.message", "details":"UNAUTHORIZED"}' UNSUPPORTED_MEDIA_TYPE: statusCode: '415' responseTemplates: application/json: '{"message":"$context.error.message", "details":"UNSUPPORTED_MEDIA_TYPE"}' DEFAULT_4XX: statusCode: '404' responseTemplates: application/json: '{"message":"The requested URL is invalid"}' INTEGRATION_FAILURE: statusCode: '404' responseTemplates: application/json: >- {"message":"Request too long. Ensure any request body or file you are sending is less than 5MB"} WAF_FILTERED: statusCode: '403' responseTemplates: application/json: '{"message":"$context.error.message", "details":"FORBIDDEN"}'