# Green Check Access Green Check Access Version: 1.0.0 ## Servers Sandbox server ``` https://sandbox-api.greencheckverified.com ``` Production server ``` https://prod-api.greencheckverified.com ``` ## Security ### access_auth Type: apiKey In: header Name: Authorization ## Download OpenAPI description [Green Check Access](https://developer.greencheckverified.com/_bundle/apis/swagger.yaml) ## Authentication ### Get Bearer Token - [POST /auth/token](https://developer.greencheckverified.com/apis/swagger/authentication/get-token.md): Exchange credentials for an bearer token. ## Service Provider ### Get service provider - [GET /service-providers/{sp_id}](https://developer.greencheckverified.com/apis/swagger/service-provider/get-service-provider.md) ### Get service provider CRBs - [GET /service-providers/{sp_id}/crbs](https://developer.greencheckverified.com/apis/swagger/service-provider/get-service-provider-crbs.md): Get all CRBs for service provider ### Create CRB - [POST /service-providers/{sp_id}/crbs](https://developer.greencheckverified.com/apis/swagger/service-provider/create-crb-for-service-provider.md): 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). ### Get POS Credentials Schema - [GET /service-providers/{sp_id}/pos-credentials-schema](https://developer.greencheckverified.com/apis/swagger/service-provider/get-service-provider-pos-credentials-schema.md) ### Search for cannabis licenses - [GET /service-providers/{sp_id}/licenses-search](https://developer.greencheckverified.com/apis/swagger/service-provider/get-service-provider-licenses-search.md) ### Get service provider onboarding templates - [GET /service-providers/{sp_id}/onboarding-templates](https://developer.greencheckverified.com/apis/swagger/service-provider/get-service-provider-onboarding-templates.md): Get all onboarding templates ## CRB Info ### Get Service Provider CRB - [GET /service-providers/{sp_id}/crbs/{crb_id}](https://developer.greencheckverified.com/apis/swagger/crb-info/get-crb-info.md) ### Update business details of a CRB - [PUT /service-providers/{sp_id}/crbs/{crb_id}](https://developer.greencheckverified.com/apis/swagger/crb-info/update-crb-info.md) ## CRB Customers ### Get CRB customers - [GET /service-providers/{sp_id}/crbs/{crb_id}/customers](https://developer.greencheckverified.com/apis/swagger/crb-customers/get-crb-customers.md) ### Get CRB customer record by ID - [GET /service-providers/{sp_id}/crbs/{crb_id}/customers/{customer_id}](https://developer.greencheckverified.com/apis/swagger/crb-customers/get-crb-customer-by-id.md) ### Search for Customers - [GET /service-providers/{sp_id}/crbs/{crb_id}/customers-search](https://developer.greencheckverified.com/apis/swagger/crb-customers/get-crb-customers-search.md) ## CRB Documents ### Get Download Link - [GET /service-providers/{sp_id}/crbs/{crb_id}/documents/{doc_id}/download](https://developer.greencheckverified.com/apis/swagger/crb-documents/get-crb-document-download-link.md): Get a download link for a document. The download link will return a base64 encoded blob. Download links expire after one hour. ## CRB Inventory ### Get CRB inventory - [GET /service-providers/{sp_id}/crbs/{crb_id}/inventory](https://developer.greencheckverified.com/apis/swagger/crb-inventory/get-crb-inventory.md) ### Get CRB inventory record by ID - [GET /service-providers/{sp_id}/crbs/{crb_id}/inventory/{inventory_id}](https://developer.greencheckverified.com/apis/swagger/crb-inventory/get-crb-inventory-by-id.md) ### Get Inventory by Location - [GET /service-providers/{sp_id}/crbs/{crb_id}/inventory-locations/{location_id}/inventory](https://developer.greencheckverified.com/apis/swagger/crb-inventory/get-crb-inventory-by-location.md) ## CRB Inventory Locations ### Get CRB Inventory Locations - [GET /service-providers/{sp_id}/crbs/{crb_id}/inventory-locations](https://developer.greencheckverified.com/apis/swagger/crb-inventory-locations/get-crb-inventory-locations.md) ### Get CRB Inventory Location by ID - [GET /service-providers/{sp_id}/crbs/{crb_id}/inventory-locations/{location_id}](https://developer.greencheckverified.com/apis/swagger/crb-inventory-locations/get-crb-inventory-location-by-id.md) ## CRB Products ### Get CRB products - [GET /service-providers/{sp_id}/crbs/{crb_id}/products](https://developer.greencheckverified.com/apis/swagger/crb-products/get-crb-products.md) ### Get CRB product record by ID - [GET /service-providers/{sp_id}/crbs/{crb_id}/products/{product_id}](https://developer.greencheckverified.com/apis/swagger/crb-products/get-crb-product-by-id.md) ## CRB Sales ### Get sales for service provider's CRB - [GET /service-providers/{sp_id}/crbs/{crb_id}/sales](https://developer.greencheckverified.com/apis/swagger/crb-sales/get-crb-sales.md) ## CRB Templates ### Get CRB's onboarding template for service provider - [GET /service-providers/{sp_id}/crbs/{crb_id}/onboarding-template](https://developer.greencheckverified.com/apis/swagger/crb-templates/get-crb-onboarding-template.md) ### Add a document to a requirement in a CRB's onboarding template response - [PUT /service-providers/{sp_id}/crbs/{crb_id}/onboarding-template/requirements/{requirement_id}/documents](https://developer.greencheckverified.com/apis/swagger/crb-templates/put-crb-onboarding-document.md): 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. ### Update a document's status - [PUT /service-providers/{sp_id}/crbs/{crb_id}/onboarding-template/requirements/{requirement_id}/documents/{document_id}](https://developer.greencheckverified.com/apis/swagger/crb-templates/update-crb-onboarding-document.md) ### Delete a document from an onboarding requirement - [DELETE /service-providers/{sp_id}/crbs/{crb_id}/onboarding-template/requirements/{requirement_id}/documents/{document_id}](https://developer.greencheckverified.com/apis/swagger/crb-templates/delete-crb-onboarding-document.md) ## CRB ### Get CRB - [GET /crbs/{crb_id}](https://developer.greencheckverified.com/apis/swagger/crb/get-crb.md) ## Customers ### Get CRB customers - [GET /crbs/{crb_id}/customers](https://developer.greencheckverified.com/apis/swagger/customers/get-customers.md) ### Get CRB customer record by ID - [GET /crbs/{crb_id}/customers/{customer_id}](https://developer.greencheckverified.com/apis/swagger/customers/get-customer-by-id.md) ## Documents ### Get CRB documents - [GET /crbs/{crb_id}/documents](https://developer.greencheckverified.com/apis/swagger/documents/get-documents.md) ### Get CRB document by Id - [GET /crbs/{crb_id}/documents/{doc_id}](https://developer.greencheckverified.com/apis/swagger/documents/get-document-by-id.md) ## Inventory ### Get CRB inventory - [GET /crbs/{crb_id}/inventory](https://developer.greencheckverified.com/apis/swagger/inventory/get-inventory.md) ### Get CRB inventory record by ID - [GET /crbs/{crb_id}/inventory/{inventory_id}](https://developer.greencheckverified.com/apis/swagger/inventory/get-inventory-by-id.md) ### Get Inventory by Location - [GET /crbs/{crb_id}/inventory-locations/{location_id}/inventory](https://developer.greencheckverified.com/apis/swagger/inventory/get-inventory-by-location.md) ## Inventory Locations ### Get Inventory Locations - [GET /crbs/{crb_id}/inventory-locations](https://developer.greencheckverified.com/apis/swagger/inventory-locations/get-inventory-locations.md) ### Get Inventory Location by ID - [GET /crbs/{crb_id}/inventory-locations/{location_id}](https://developer.greencheckverified.com/apis/swagger/inventory-locations/get-inventory-location-by-id.md) ## Products ### Get CRB products - [GET /crbs/{crb_id}/products](https://developer.greencheckverified.com/apis/swagger/products/get-products.md) ### Get CRB product record by ID - [GET /crbs/{crb_id}/products/{product_id}](https://developer.greencheckverified.com/apis/swagger/products/get-product-by-id.md) ## Sales ### Get CRB sales - [GET /crbs/{crb_id}/sales](https://developer.greencheckverified.com/apis/swagger/sales/get-sales.md)