Authentication
Base URL: https://accounts.iqmetrix.net
API | Description |
---|---|
POST v1/oauth2/token |
Base URL: https://accounts.iqmetrix.net |
DataPlatform
Data Platform API endpoints aggregate information from many services into once convenient model.
- Product Properties
- Specifications
- Stock levels (Availability)
- Pricing
- Taxes
- Cannabis Package Details
In Depth Documentation
For a deep dive into Cova Data Platform, see Cova Data Platform API guide
API | Description |
---|---|
POST v1/companies/{companyId}/DetailedProductData |
This call is intended for an initial synchronization of all product related data or occasional updates. However, it is crucial to note that continuous usage of this endpoint is strongly discouraged |
POST v1/companies/{companyId}/DetailedProductData/UpdatedAsOf/{updatedAsOfUTC} |
This call is intended for incremental updates. |
POST v1/companies/{companyId}/DetailedProductData/ByProductIdList |
This call is intended to target data for a list of specific products |
SalesOrder
- Cova Order and Cova Payment Intake Call Base URL: https://api.covasoft.net/covaorderintake
- Cova Order Completion, Cova Order Delete(Cancel), and Fullfilment Status Calls Base URL: https://api.covasoft.net/pointofsale
Cova now supports Tax Inclusive Pricing. As such, we recommend moving to the TIP and TEP endpoints discussed below.
In Depth Documentation
For a deep dive into Cova Sales Orders, see Cova Sales Order API guide
API | Description |
---|---|
PUT v1/TIPCovaOrder({orderId}) |
This call creates a Sales Order for a location with Tax Inclusive Pricing. This call creates a Sales Order at the Location specified within the Company and requires an Integrator Id. The integrator Id will identify the source of the order within Cova. This is needed to distinguish order sources when multiple integrators are creating orders. |
PUT v1/TEPCovaOrder({orderId}) |
This call creates a Sales Order for a location with Tax Exclusive Pricing. This call creates a Sales Order at the Location specified within the Company and requires an Integrator Id. The integrator Id will identify the source of the order within Cova. This is needed to distinguish order sources when multiple integrators are creating orders. |
GET v2/Companies({CompanyId})/CovaOrder({SalesOrderId})/Status |
Returns the status of the order and payment (if applicable) |
POST v1/CovaOrderPayment |
This Call Marks a Sales Order as PaidWaitingForCompletion at the Location specified within the Company |
POST Companies({CompanyId})/Sales({SalesOrderId})/Complete |
This Call Marks a Sales Order as Complete and Converts it to a Sales Invoice at the Location specified within the Company |
GET v1/companies/{CompanyId}/entities/{LocationId}/integrators/{IntegratorId}/RefundInvoices?EntityId={EntityId}&DateSince={DateSince}&PaymentTypeName={PaymentTypeName} |
Get all refund invoices by company and location, originating from an order created by the integrator, since a date. |
GET v1/companies/{CompanyId}/entities/{LocationId}/integrators/{IntegratorId}/RefundInvoices/{InvoiceId}?EntityId={EntityId} |
Get the refund invoice details of a refunded order. |
GET v1/companies/{CompanyId}/entities/{LocationId}/integrators/{IntegratorId}/Orders/{OrderId}?EntityId={EntityId} |
Get order details by order Id |
GET v1/companies/{CompanyId}/entities/{LocationId}/integrators/{IntegratorId}/CompletedOrders?EntityId={EntityId}&DateSince={DateSince}&OrderSource={OrderSource} |
Get all orders that were completed since date |
GET v1/Companies({CompanyId})/CovaOrder({SalesOrderId})/Status |
NOTE: This call should no longer be used. Move to v2 Status endpoint. |
PUT v2/CovaOrder({orderId}) |
NOTE: This call is not compatible for Tax Inclusive locations. Please use TIP/TEP endpoints. This call creates a Sales Order at the Location specified within the Company and requires an Integrator Id. The integrator Id will identify the source of the order within Cova. This is needed to distinguish order sources when multiple integrators are creating orders. |
Customer
Base URL: https://api.covasoft.net/crm
API | Description |
---|---|
GET v1/Companies({CompanyId})/Customers |
This call returns all the Customers in a Company |
GET v1/Companies({CompanyId})/CustomerFull({CustomerId}) |
This call returns the Full Customer by id, including Addresses, Contact info, Extended Attributes, Documents, etc. |
POST v1/Companies({CompanyId})/CustomerFull |
This call creates a Customer in Cova will all their attributes |
GET v1/Companies({CompanyId})/CustomerFull?LastModifiedDateUtc={LastModifiedDateUtc} |
This call returns all the Customers that have been Added or Modified since the DateTime Provided |
GET v1/Companies({CompanyId})/Customers?UniqueIdentifier={UniqueIdentifier} |
This call returns the Customer that has the Unique Indentifer Provided from an External System |
GET v1/Companies({CompanyId})/CustomerSearch?filterCriteria={filterCriteria} |
This call returns the Customers that match your Search Criteria |
GET v1/Companies({CompanyId})/SearchCapabilites |
This call returns SearchCapabilities which can be used with the /Search endpoint |
POST v1/Companies({CompanyId})/Search |
This call returns Customers which match supplied criteria and is more versatile than the /CustomerSearch endpoint |
Additional APIs
Catalog
Note: Catalog data has been moved to the DataPlatform area.
See Detailed Product Data - Updated As Of
or Detailed Product Data
or Detailed Product Data - By Product Id List
API | Description |
---|---|
GET v1/Companies/Catalog/Items |
This call is OBSOLETE. See the DataPlatform area on the main API Documentation page |
ClassificationTree
Base URL: https://api.covasoft.net/productlibrary
API | Description |
---|---|
GET v1/ClassificationTrees({ClassificationTreeId}) |
Returns all the Categories from the Classification Tree for a Company |
GET v1/projections/{SlugId} |
This calls shows the LastModifiedUtc date that a product group has and is called by the Slug |
CompanyTree
Base URL: https://api.covasoft.net/entitymanager
API | Description |
---|---|
GET v1/Companies({CompanyId})/Tree?roleDepth={roleDepth} |
This Call gets the Company Tree including Locations |
GET v1/Companies({CompanyId})/Locations |
This Call gets Location Details from the Company Tree |
CovaPayCanada
For a deeper dive into Cova Pay Canada, see Cova Pay Canada guide
Base URL: https://api.covasoft.net/covapaycanada
API | Description |
---|---|
POST v1/companies/{companyId}/locations/{locationid}/checkout-session |
The first step toward taking an integrated online payment |
POST v1/companies/{companyId}/locations/{locationid}/ecomm-refund |
Refund a full or partial payment |
Dispensary
Base URL: https://api.covasoft.net/dispensary
API | Description |
---|---|
GET Companies({CompanyId})/ProductTestResults?filter={filter} |
Returns Dispensary Package Testing Details |
GET CannabinoidTypes |
Returns All Cannabinoid Types in Cova |
GET Companies({CompanyId})/Entities({LocationId})/EquivalencyPurchasingLimits |
Returns Equivalency Purchasing Limit by Location |
GET v1/companies/{CompanyId}/locations/{LocationId}/customer/{CustomerId}/cannabispurchasesummary/today |
Returns a Customers Purchased THC Amounts for the Day |
GET Companies({CompanyId})/Entities({LocationId})/purchaselimits |
Returns a Location's Purchase Tranaction Limit for the Day |
GET Companies({CompanyId})/SupplierLicensing({SupplierId} |
Returns Dispensary Suppliers Licensing Details by SupplierId |
GeneralLedger
Base URL: https://api.covasoft.net/generalledger
API | Description |
---|---|
GET v1/Companies({CompanyId})/Accounts |
Returns All the General Ledger Accounts in a Company |
GET v1/Companies({CompanyId})/Accounts({GLAccountId}) |
Returns Details for a General Ledger Account |
GET v1/Companies({CompanyId})/Transactions?filter={filter} |
Returns General Ledger Transactions by Date Range |
InventoryAvailablity
Note: Availability data has been moved to the DataPlatform area.
See Detailed Product Data - Updated As Of
or Detailed Product Data
or Detailed Product Data - By Product Id List
API | Description |
---|---|
GET v1/Companies/{CompanyId}/Locations/{LocationId}/Rooms |
Returns all rooms for a location, and specifies if the room is the default selling room or default receiving room. |
ItemPricing
Base URL: https://api.covasoft.net/pricing
In Depth Documentation
For a deep dive into Cova Product Pricing, see Cova Pricing API guide
Also see Cova Data Platform API guide for enhanced full product detail endpoints
API | Description |
---|---|
GET v1/Companies/{CompanyId}/Locations/{LocationId}/ChangedPrices/{asOfDateUtc} |
This call returns all current pricing at a location for products where prices have been updated |
GET v1/Companies/{CompanyId}/ChangedPrices/{asOfDateUtc} |
This call returns all current pricing for products where prices have been updated |
GET v1/Companies({CompanyId})/ProductPrices?EntityId={EntityId} |
Returns Pricing Details for all Products at the specified Location within the Company. |
GET v1/Companies({CompanyId})/ProductPrices?EntityId={EntityId}&CatalogItemId={CatalogItemId} |
This call returns Pricing Details for the specified item at the specified Location within the Company. |
GET v1/Companies({CompanyId})/PricingGroups |
This call returns all Pricing Groups within the Company |
GET v1/Companies({CompanyId})/PricingGroups({GroupId}) |
This call returns details for a Particular Pricing Group within the Company |
GET v1/Companies({CompanyId})/PricingTiers |
This call returns all Pricing Tiers within the Company |
GET v1/Companies({CompanyId})/PricingTiers({TierId}) |
This call returns a Particular Pricing Tier within the Company |
GET v1/Companies({CompanyId})/PricingShelves |
This call returns all Pricing Shelves within the Company |
GET v1/Companies({CompanyId})/PricingShelves({ShelfId}) |
This call returns a Particular Pricing Shelf Details within the Company |
LoyaltyPoints
Base URL: https://api.covasoft.net/iqloyalty
API | Description |
---|---|
GET v1/Companies({CompanyId})/Entities({LocationId})/Rewards |
Returns All the Loyalty Rewards for a Location in a Company |
GET v2/cova/companies({CompanyId})/loyalty/adjustment-history?DateRange={DateRange} |
Returns All Loyalty Adjustment Report for a Company based on Timeframe |
GET v1/Companies({CompanyId})/Entities({LocationId})/customers({CustomerId})/summary |
Returns All the Loyalty Points for a Customer |
GET v1/Companies({CompanyId})/Entities({LocationId})/Invoices({InvoiceId}) |
Returns the Loyalty Points for an Invoice |
POST v1/Companies({CompanyId})/Entities({LocationId})/customers({CustomerId})/adjustment |
Post Loyalty Point Adjustments to a Customer |
PaymentMethod
Base URL: https://api.covasoft.net/paymentmethods
API | Description |
---|---|
GET v1/Companies({CompanyId})/MappedPayments |
Returns All the Payment Methods for a Company |
PointOfSale
Base URL: https://api.covasoft.net/pointofsale
API | Description |
---|---|
GET Companies({CompanyId})/Locations({LocationId})/SalesToFulfill?filter={filter} |
Pulls Sales Order to be Fulfilled at a Location in a Company with Filtering |
GET Companies({CompanyId})/Sales({SalesOrderId}) |
Returns Details for the Sales Order Id provided |
DELETE Companies({CompanyId})/Sales({SalesOrderId} |
This Call Marks a Sales Order as Cancelled and at the Location specified within the Company |
PUT Companies({CompanyId})/OrderStatus({SalesOrderId} |
This Call updates the fulfillment status of the Sales Order specified and at the Location specified within the Company |
GET Companies({CompanyId})/SalesInvoiceDetails({InvoiceId}) |
Returns Details for the Sales Invoice Id provided |
GET Companies({CompanyId})/SalesInvoiceSummaries?filter={filter} |
Returns Invoice Summaries for a Company with Filtering |
GET Companies({CompanyId})/Locations({LocationId})/CompletedOrders?filter={filter} |
Returns Completed orders for a Company by Date Range with Filtering |
POSReports
Base URL:
POSReports Calls: https://api.covasoft.net/posreports
InvoiceReporting Calls: https://api.covasoft.net/invoicereporting
API | Description |
---|---|
GET v1/Companies({CompanyId})/Entities({LocationId})/ByInvoiceWithProducts?filter={filter} |
Returns Completed orders for a Company by Date Range with Filtering |
GET v1/Companies({CompanyId})/ByProductByCustomerByInvoice?filter={filter} |
Returns Completed orders for a Company by Date Range Broken up by Products and by Customer |
GET v1/invoice/report?filter={filter} |
Returns Invoice details by Invoice Number |
Promotions
Cova Promotion API endpoints for retrieval of complex promotions
Promotions such as:
-
Buy X Get Y
-
Bundles
-
Buy One Get One
-
% or $ Discounts
In Depth Documenation
For a deep dive into Cova Promotions, see Cova Promotion API guide
API | Description |
---|---|
GET v1/Companies/{companyId}/ConditionCapabilities/{condBits}/PromotionTypeCapabilities/{proBits}/Promotions |
This call is used to fetch all existing promotions for a company constrained by the specified capabilities. |
GET v1/Companies/{companyId}/PromotionsForMenuBoard |
This call is used to fetch all existing promotions for a company with a list of catalogIds that may apply to each promotion. Does not include information about the discount or how to apply it. |
PromotionsLegacy
Note: These POSPromotions represent the Legacy Cova promotions. We are transitioning retailers away from these over time. See Promotions by Capability or the Promotions API area above. Base URL: https://api.covasoft.net/pospromotions
API | Description |
---|---|
GET v2/Companies/{CompanyId}/Entities/{LocationId}/Promotions?EntityId={EntityId} |
Returns promotions at and under a specific node in the company tree. |
ReasonCodes
Base URL: https://api.covasoft.net/reasoncode
API | Description |
---|---|
GET Companies({CompanyId})/ReasonCodes |
Returns All the Reason Codes for a Company |
GET Companies({CompanyId})/ReasonCodes({ReasonCodeId}) |
Returns Details for a Reason Code |
POST Companies({CompanyId})/ReasonCodes |
Creates a Reason Code for a Company |
DELETE Companies({CompanyId})/ReasonCodes({ReasonCodeId}) |
Delete a Reason Code in a Company |
SalesInvoice
Sale Invoice Calls: https://api.covasoft.net/invoice/
API | Description |
---|---|
GET v1/Companies({CompanyId})/Invoices({InvoiceId}) |
This call returns a finalized sale invoice by ID |
GET v1/Companies({CompanyId})/InvoiceSummaries?filter={filter} |
Gets Invoice Summaries for a Company with Filtering |
Taxes
Base URL: https://api.covasoft.net/taxes
API | Description |
---|---|
GET v1/Companies({CompanyId})/TaxPricingConfiguration |
Returns the Tax pricing configuration values for the company. Tax Pricing Configuration reveals whether a location has "Tax Inclusive Pricing". If a location is not configured, the default is "Tax Exclusive". |
GET v1/Companies({companyId})/TaxRates |
Return all Tax Rates for a Company |
GET v1/Companies({CompanyId})/TaxRates({TaxRateId}) |
Returns Tax Details for a Tax Rate |
GET v1/Companies({CompanyId})/TaxCategories |
Returns all Tax Categories for a Company |
GET v1/Companies({CompanyId})/TaxCategories({TaxCategoryId} |
Returns the Tax Category Details for a Tax Category |
POST v2/TaxCalculation |
Returns applicable taxes for the Catalog Items in the body of the call. Only valid for Tax Exclusive locations, which apply taxes in addition to the selling price. |
POST v2/TaxInclusiveCalculation |
Reverse calculates and returns taxes for the catalog items supplied. Only valid for Tax Inclusive locations, which start with an 'out the door' price and applicable taxes are calculate to achieve that end price. |
UserAccessManagement
Base URL: https://api.covasoft.net/usermanager
API | Description |
---|---|
POST v1/users({UserId})/temporaryPassword |
Set a Temporary Password for a User |
POST v1/users({UserId})/changePassword |
Password Change for a User |
PUT v1/users({UserId})/password |
Set a Permanent Password for a User |
GET v1/Entities({CompanyId})/lockReasons |
Returns All the Lock Reasons for a Company |
GET v1/Entities({CompanyId})/lockReasons({LockReasonId}) |
Returns Lock Reason By Id |
POST v1/users({UserId})/lock |
Lock A User |
POST v1/users({UserId})/unlock |
Unlock A User |
POST v1/entities({CompanyId})/lockReasons |
Post a Lock Reason for a Company |
PUT v1/entities({CompanyId})/lockReasons({LockReasonId}) |
Update a Lock Reason for a Company |
DELETE v1/entities({CompanyId})/lockReasons({LockReasonId}) |
Delete a Lock Reason for a Company |
DELETE v1/users({UserId}) |
Disable a User for a Company |
POST v1/users({UserId})/enable |
Re-Enable a User for a Company |
UserManagement
Base URL: https://api.covasoft.net/usermanager
API | Description |
---|---|
GET v2/entities({CompanyId})/users |
Returns All the Users in a Company |
GET v2/entities({CompanyId})/securityRoles({SecurityRoleId})/users |
Returns All the Users in a Company with a given Security Role |
GET v1/users({UserId}) |
Returns Details for a User |
POST v1/users |
Creates a New User in a company |
PUT v1/users({UserId}) |
Updates a User in a company |
GET v1/users({UserId})/locations |
Returns Assigned Locations for a User |
GET v1/entities({CompanyId})/users/getCount |
Returns Number of Users in a Company |
PUT v1/users({UserId})/locations({LocationId}) |
Assigns a User to a Location in a Company |
DELETE v1/users({UserId})/locations({LocationId}) |
Unassign a User to a Location in a Company |
UserSecurityRoles
Base URL: https://api.covasoft.net/usermanager