v2

latestOpenAPI 3.0.12026-07-263104131.9 MB
Billing

Creates a product

Creates a new product in the catalog.

The content field structure varies by quantity type and must include all required fields for that type:

  • Required for all types: price, cost, taxable, billing
  • MANUAL: quantity, productIds
  • DEVICE_COUNTS: anyRole, groupIds, allGroups, nodeRoles (optional), productIds
  • END_USER_COUNTS: anyRole, endUserRoles (optional), matchAllRoles, productIds
  • BACKUP_STORAGE_COUNTS: anyRole, groupIds, allGroups, nodeRoles (optional), isStorageIncludedPerDevice, includedStorage, productIds
  • TIME_ENTRIES: autoRoundTimeEntries, laborCodes, userRoles, onSiteMultiplier, offHoursMultiplier, remoteMultiplier, normalHoursMultiplier, scheduleTypeOffHours, scheduleTypeNormalHours, locationTypeOnSite, locationTypeRemote, includeTime, includedTimeAmountUnlimited, includedHours, unusedCarryOverUnlimited, carryOverLimit, productIds

The productUserRole field controls which technicians can use this product.

post/v2/billing/products

Response

Product successfully created

idinteger

Unique identifier of the product.

namestring

Name of the product.

descriptionstring

Description of the product.

quantityType'MANUAL' | 'DEVICE_COUNTS' | 'TIME_ENTRIES' | 'END_USER_COUNTS' | 'BACKUP_STORAGE_COUNTS' | 'SOFTWARE_LICENSE'

Quantity type of the product.

contentobject

Additional content/configuration for the product. Structure varies by quantity type.

integrationSettingsobject

If 3rd party integration is enabled, the settings for exporting invoices with this product.

createTimenumber double

Timestamp when the product was created.

updateTimenumber double

Timestamp when the product was last updated.

accountIdinteger

Account ID associated with the product.

groupboolean

Whether the product is a group product.

taxIdinteger nullable

Tax ID associated with the product. Null if no specific tax is set.

inheritTaxFromAgreementboolean

Whether the product inherits tax from the agreement.

activeboolean

Indicates if the product is active.

Example response

{
  "id": 1,
  "name": "Hardware Support",
  "description": "Monthly hardware support service",
  "quantityType": "DEVICE_COUNTS",
  "productUserRole": {
    "allowAllTechnicians": true,
    "userRoles": [
      {
        "id": 1,
        "name": "Admin"
      }
    ]
  },
  "accountId": 8,
  "taxId": 1,
  "inheritTaxFromAgreement": true,
  "active": true
}