Features

Methods

GET

Retrieve Single Feature

/backend/api/v1/features/ID - fetch feature with specified ID.

List Features

/backend/api/v1/features/ - list all features.

/backend/api/v1/customers/ID/features/ - list features belonging to customer with specified ID.

/backend/api/v1/customers/ID/features/?includeNumbers - list features belonging to customer with specified ID, including those on numbers owned by the customer.

/backend/api/v1/numbers/ID/features/ - list features belonging to number with specified ID.

Additional Query Parameters
ParameterTypeRequiredDescription
CRMReferencestringNoSearch for features by exact CRM reference
droppedflagNoShow only dropped features
activeflagNoShow only active features
featureTypestringNoShow features of the specified type
droppedSincedatetimeNoOnly include features dropped since
reinstatedSincedatetimeNoOnly include features reinstated since

Search Example:

# Find feature by CRM reference
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "/backend/api/v1/features?CRMReference=CRM-12345"

# Find only active features by CRM reference
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "/backend/api/v1/features?CRMReference=CRM-12345&active=true"

# Search within a specific customer's features
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "/backend/api/v1/customers/123/features?CRMReference=CRM-12345"

# Search within a specific number's features
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "/backend/api/v1/numbers/456/features?CRMReference=CRM-12345"

Search Notes:

  • The CRMReference parameter performs an exact match
  • Returns an array containing a single feature (or empty array if not found)
  • CRM references are unique, so only one result is expected
  • Can be used with customer-specific or number-specific endpoints
  • Combining with filters like active can exclude dropped features
  • Optimised for performance using indexed fields

POST

/backend/api/v1/customers/ID/features/ - add a new feature to the specified customer, the newly-added feature will be returned.

/backend/api/v1/numbers/ID/features/ - add a new feature to the specified number, the newly-added feature will be returned.

PATCH

/backend/api/v1/features/ID - update feature with specified ID. The modified feature will be returned.

DELETE

/backend/api/v1/features/ID - delete feature with specified ID.

Actions

Available Actions

drop

Drop (deactivate) a feature. This action changes the feature’s status to dropped and records the drop date.

Parameters:

  • status (required) - The status name for the dropped feature (e.g., “Dropped”)
  • dateDrop (required) - The date the feature was dropped (format: YYYY-MM-DD)
  • dateBillTo (optional) - Override the calculated bill-to date. If not provided, the system calculates the appropriate date based on the feature type, drop date, and notice period
  • statusReason (optional) - Text explanation for dropping the feature

Example:

curl -X POST https://example.com/backend/api/v1/features/123?action=drop \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "Dropped",
    "dateDrop": "2025-01-24",
    "statusReason": "Customer requested cancellation"
  }'
reinstate

Reinstate a previously dropped feature, returning it to active status.

Parameters:

  • status (required) - The status name for the reinstated feature (e.g., “Active”)
  • dateReinstate (required) - The date the feature is reinstated (format: YYYY-MM-DD)
  • statusReason (optional) - Text explanation for reinstating the feature

Example:

curl -X POST https://example.com/backend/api/v1/features/123?action=reinstate \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "Active",
    "dateReinstate": "2025-01-24"
  }'

Response Format

Actions return the updated feature object in JSON format, using the same structure as GET requests.

Error Handling

If an action fails, the API will return an appropriate HTTP status code with error details:

{
    "error": "Invalid Action",
    "error_code": 400502,
    "hint": "The action was not performed"
}

Common error codes:

  • 400501 - Action not recognised
  • 400502 - Action failed to execute
  • 400503 - Missing required parameters
  • 403xxx - Permission denied

Fields

FieldNameTypeDescription
standardFeatureStandard FeaturePreset ValuePredefined feature template to apply standard pricing and settings to this feature
featureTypeFeature TypePreset ValueThe type of service this feature represents, which will be shown on invoices if no description is given
featureCountFeature CountNumberThe number of instances of this feature being provided, which will multiply charges and discount allowances
featureCountCommittedFeature Committed CountNumberThe minimum number of features the customer should be billed for, even if actual feature count drops below this number
featureCountCommittedAutoFeature Auto Committed CountPreset ValueAutomatic calculation method for committed count, either using initial or peak feature count
descriptionDescriptionTextDescription of the feature that will appear on invoices instead of the feature type if specified
siteSiteTextSite location where this feature is being provided
campaignCampaignTextSales or marketing campaign associated with this feature
customerProductsCustomer ProductsPreset Value(s)Products associated with this feature for product-based reporting and filtering
internalUseInternal UseTextInternal notes about this feature (not visible to customers)
CRMReferenceCRM ReferenceTextExternal CRM system reference number for this feature
statusFeature StatusPreset ValueStatus name representing the current state of this feature
statusChangedStampStatus Changed DateDateDate when the feature status was most recently changed
statusReasonStatus ReasonPreset ValueReason for the current status (e.g., reason for dropping or reinstating)
soldDateSold DateDateDate when the feature was sold, which may differ from when billing begins
enteredDateEntered DateDateDate when this feature was initially entered into the system
startDateStart DateDateDate from which the feature is active and billing begins
endDateEnd DateDateDate until which the feature is active (inclusive); leave blank for ongoing features
dueDateDue DateDateDate from which the next recurring charge will be made
annualIncreaseReferenceDateAnnual Increase Reference DateDateDate when the next annual increase is due for this feature
annualIncreaseProfileAnnual Increase ProfilePreset ValueAnnual increase profile name for this feature
cancellationNoticeGivenDateCancellation Notice GivenDateDate when cancellation notice was received for this feature
renewalDateRenewal DateDateDate when the feature is due for renewal (informational only, no billing effect)
minimumTermDateMinimum Term DateDateDate until which the feature will be billed even if dropped before this date
committedTermDateCommitted Count Term DateDateDate until which the committed count applies for billing purposes
totalFeatureValueTotal Feature ValueCurrencyTotal value of the feature over its lifetime, used for tracking total value charged and remaining
instalmentsInstalmentsNumberNumber of instalments over which the total feature value is split
connectionTransactionTypeTransaction Type (One-Off)Preset ValueType of transaction for one-off charges, determining how they appear on invoices
connectionChargeOne-Off ChargeCurrencyOne-off charge applied on the start date of the feature
connectionTransactionCodeTransaction Code (One-Off)TextCode for one-off transactions that can be included in invoice reports for accounting
serviceTransactionTypeTransaction Type (Recurring)Preset ValueType of transaction for recurring charges, determining how they appear on invoices
serviceChargeRecurring ChargeCurrencyCharge applied periodically according to the recurring charge interval
serviceChargeIntervalS/C IntervalPreset ValueFrequency of recurring charges and whether they are calendar-aligned or prorated
serviceTransactionCodeTransaction Code (Recurring)TextCode for recurring transactions that can be included in invoice reports for accounting
callsTransactionCodeTransaction Code (Calls)TextCode for call/usage transactions that can be included in invoice reports for accounting
VATRateVAT RatePreset ValueVAT rate to apply to one-off and recurring charges; uses customer default if not specified
VATRateCallsVAT Rate (Calls)Preset ValueVAT rate to apply to call/usage charges; uses customer default if not specified
totalValueChargedTotal Value ChargedCurrencyTotal amount of value charged for this feature to date
totalValueRemainingTotal Value RemainingCurrencyRemaining value to be charged for this feature (total feature value - total value charged)
initialFeatureDiscountSchemeInitial Discount SchemePreset ValueInitial discount scheme to apply to this feature
initialFeatureDiscountSchemeEndDateInitial Discount Scheme End DateDateDate when the initial discount scheme expires
ongoingFeatureDiscountSchemeOngoing Discount SchemePreset ValueOngoing discount scheme to apply after the initial discount scheme expires
ongoingFeatureDiscountSchemeEndDateOngoing Discount Scheme End DateDateDate when the ongoing discount scheme expires
fixedFeeTariffFixed Fee TariffPreset ValueFixed fee tariff to apply to this feature, overriding customer or number defaults
inboundTariffInboundPreset ValueTariff to use for inbound calls, overriding customer/number defaults
nationalTariffNationalPreset ValueTariff to use for national calls, overriding customer/number defaults
mobileTariffMobilePreset ValueTariff to use for mobile calls, overriding customer/number defaults
nongeographicTariffNon-geographicPreset ValueTariff to use for non-geographic calls, overriding customer/number defaults
serviceNumbersTariffService NumbersPreset ValueTariff to use for service numbers, overriding customer/number defaults
internationalTariffInternationalPreset ValueTariff to use for international calls, overriding customer/number defaults
extendedInternationalTariffExtended InternationalPreset ValueTariff to use for extended international calls, overriding customer/number defaults
surchargesTariffSurchargesPreset ValueTariff to use for surcharges, overriding customer/number defaults
bespokeTariff1Bespoke Tariff 1Preset ValueTariff to use for bespoke tariff 1, overriding customer/number defaults
bespokeTariff2Bespoke Tariff 2Preset ValueTariff to use for bespoke tariff 2, overriding customer/number defaults
discountPlanAllowancePoolNameAllowance Pool NameTextName for the allowance pool to identify bundles of minutes or call allowances
discountPlanMultiplier1Discount Plan 1 MultiplierNumberMultiplier for the first discount plan to control allowance amount
discountPlan1Discount Plan 1Preset ValueFirst discount plan to apply to this feature
discountPlanMultiplier2Discount Plan 2 MultiplierNumberMultiplier for the second discount plan to control allowance amount
discountPlan2Discount Plan 2Preset ValueSecond discount plan to apply to this feature
discountPlanMultiplier3Discount Plan 3 MultiplierNumberMultiplier for the third discount plan to control allowance amount
discountPlan3Discount Plan 3Preset ValueThird discount plan to apply to this feature
discountPlanMultiplier4Discount Plan 4 MultiplierNumberMultiplier for the fourth discount plan to control allowance amount
discountPlan4Discount Plan 4Preset ValueFourth discount plan to apply to this feature
carrierFeature CarrierPreset ValueCarrier providing this service
carrierProductCarrier ProductTextProduct code used by the carrier for this service
carrierProductMatchesCarrier Product (Advanced Match)TextAdvanced matching pattern for carrier product codes for reconciliation
carrierReferenceCarrier ReferenceTextReference number used by the carrier for this service
carrierReferenceMatchesCarrier Reference (Advanced Match)TextAdvanced matching pattern for carrier reference numbers for reconciliation
connectionChargeCarrierCarrier One-Off ChargeCurrencyOne-time wholesale cost charged by the carrier for this service
serviceChargeCarrierCarrier Recurring ChargeCurrencyRecurring wholesale cost charged by the carrier for this service
soldBySold ByPreset ValueUser who sold this feature
connectionChargeCommissionProfileOne-Off Commission ProfilePreset ValueCommission profile for one-off charges, defining commission rates and schedules
serviceChargeCommissionProfileRecurring Commission ProfilePreset ValueCommission profile for recurring charges, defining commission rates and schedules
callChargeCommissionProfileCall Commission ProfilePreset ValueCommission profile for call/usage charges, defining commission rates and schedules
commissionHolderCommission HolderPreset ValuePrimary user who receives commission for this feature
connectionChargeCommissionOne-Off CommissionCurrencyCommission amount for one-off charges for the primary commission holder
connectionChargeCommissionTypeOne-Off Commission TypePreset ValueCommission calculation method for one-off charges (fixed amount or percentage)
serviceChargeCommissionRecurring CommissionCurrencyCommission amount for recurring charges for the primary commission holder
serviceChargeCommissionTypeRecurring Commission TypePreset ValueCommission calculation method for recurring charges (fixed amount or percentage)
commissionHolderID2Commission Holder 2Preset ValueSecondary user who receives commission for this feature
connectionChargeCommission2One-Off Commission 2CurrencyCommission amount for one-off charges for the secondary commission holder
connectionChargeCommissionType2One-Off Commission Type 2Preset ValueCommission calculation method for one-off charges for secondary commission holder
serviceChargeCommission2Recurring Commission 2CurrencyCommission amount for recurring charges for the secondary commission holder
serviceChargeCommissionType2Recurring Commission Type 2Preset ValueCommission calculation method for recurring charges for secondary commission holder
saleTypeSale TypePreset ValueType of sale for commission reporting (e.g., new sale, cross-sell, up-sell)
updatedDateChange Effective FromDateDate from which changes to feature charges should take effect
lastUpdatedDateLast Change Effective FromDateDate when the most recent change to this feature took effect
lastUpdatedReasonLast Change ReasonTextReason for the most recent change to this feature
renewalPeriodLengthRenewal Period LengthNumberLength of time between renewals of this feature
renewalPeriodLengthTypeRenewal Period Length TypePreset ValueUnit of time for the renewal period length (days, weeks, months, years)
minimumTermPeriodLengthMinimum Term LengthNumberMinimum contractual period for this feature
minimumTermPeriodLengthTypeMinimum Term Length TypePreset ValueUnit of time for the minimum term length (days, weeks, months, years)
committedTermPeriodLengthCommitted Count Term LengthNumberPeriod for which the committed count applies
committedTermPeriodLengthTypeCommitted Count Term Length TypePreset ValueUnit of time for the committed count term length (days, weeks, months, years)
noticePeriodLengthNotice Period LengthNumberRequired notice period for cancellation of this feature
noticePeriodLengthTypeNotice Period Length TypePreset ValueUnit of time for the notice period length (days, weeks, months, years)
idFeature IDTextThe unique identifier for this feature

Still Didn’t Find Your Answer?

For assistance, please contact us below.

Submit a ticket