Authentication

Base URL: https://accounts.iqmetrix.net

APIDescription
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
Cova Data Platform API Guide

APIDescription
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
Cova Sales Orders API Guide

APIDescription
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

APIDescription
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

APIDescription
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

APIDescription
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

APIDescription
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
Cova Data Platform API Guide
Base URL: https://api.covasoft.net/covapaycanada

APIDescription
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

APIDescription
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

APIDescription
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

APIDescription
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
Cova Pricing API Guide
Also see Cova Data Platform API guide for enhanced full product detail endpoints
Cova Data Platform API Guide

APIDescription
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

APIDescription
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

APIDescription
GET v1/Companies({CompanyId})/MappedPayments

Returns All the Payment Methods for a Company

PointOfSale

Base URL: https://api.covasoft.net/pointofsale

APIDescription
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

APIDescription
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
Cova Promotion API Guide

APIDescription
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

APIDescription
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

APIDescription
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/

APIDescription
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

APIDescription
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

APIDescription
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

APIDescription
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

APIDescription
GET v1/Entities({CompanyId})/SecurityRoles

Returns All the Security Roles in a Company

GET v1/Users({UserId})/AssignedRoles

Returns All the Security Roles for a User

GET v1/Entities({CompanyId})/Permissions

Returns All the Permissions in a Company

GET v1/Entities({CompanyId})/SecurityRoles({SecurityRoleId})/Permissions

Returns All the Permissions for a Security Role in a Company

POST v1/Entities({CompanyId})/SecurityRoles

Create a Security Role in a Company

DELETE v1/Entities({CompanyId})/SecurityRoles({SecurityRoleId})

Delete a Security Role in a Company

PUT v1/Entities({CompanyId})/SecurityRoles({SecurityRoleId})/Permissions({PermissionId})

Enable a Permission for a Security Role

DELETE v1/Entities({CompanyId})/SecurityRoles({SecurityRoleId})/Permissions({PermissionId})

Disable a Permission for a Security Role

POST v1/Users({UserId})/AssignedRoles

Assign a Security Role to a User

DELETE v1/Users({UserId})/AssignedRoles({SecurityRoleAssignmentId})

Disable a Permission for a Security Role