Numbers

Methods

GET

Retrieve Single Number

/backend/api/v1/numbers/ID - fetch number with specified ID.

List Numbers

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

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

Additional Query Parameters
ParameterTypeRequiredDescription
numberstringNoSearch for telephone numbers by exact match
CRMReferencestringNoSearch for numbers by exact CRM reference
droppedflagNoShow only dropped numbers
activeflagNoShow only active numbers
numberTypestringNoShow numbers of the specified type
droppedSincedatetimeNoOnly include numbers dropped since
reinstatedSincedatetimeNoOnly include numbers reinstated since
featureActiveflagNoWhen expanding features, only include active features

Search Example:

# Find number - spaces and dashes are automatically removed
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "/backend/api/v1/numbers?number=02079460000"

# Search works with formatted numbers too
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "/backend/api/v1/numbers?number=020%207946%200000"

# Alternative formatting
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "/backend/api/v1/numbers?number=020-7946-0000"

# Find only active numbers
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "/backend/api/v1/numbers?number=02079460000&active=true"

# Search within a specific customer's numbers
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "/backend/api/v1/customers/123/numbers?number=02079460000"

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

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

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

Search Notes:

  • The number parameter performs an exact match
  • Spaces and dashes are automatically removed from the search term
  • Formats like 020 7946 0000 and 020-7946-0000 will match 02079460000
  • The CRMReference parameter performs an exact match
  • Returns an array containing a single number (or empty array if not found)
  • CRM references are unique, so only one result is expected
  • Can be used with customer-specific endpoints: /backend/api/v1/customers/{id}/numbers?number={number} or /backend/api/v1/customers/{id}/numbers?CRMReference={reference}
  • Combining with filters like active can exclude dropped numbers
  • Optimised for performance using indexed fields

Expand with Filtering Example:

# Get number with only active features included
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "/backend/api/v1/numbers/456?expandFeatures=true&featureActive=true"

# List customer's numbers with active features expanded
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "/backend/api/v1/customers/123/numbers?expandFeatures=true&featureActive=true"

POST

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

PATCH

/backend/api/v1/numbers/ID - update number with specified ID. The modified number will be returned.

DELETE

/backend/api/v1/numbers/ID - delete number with specified ID.

Actions

Available Actions

drop

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

Parameters:

  • status (required) - The status name for the dropped number (e.g., “Dropped”)
  • dateDrop (required) - The date the number was dropped (format: YYYY-MM-DD)
  • cancellationNoticeGivenDate (optional) - The date cancellation notice was given (may affect notice period billing)
  • statusReason (optional) - Text explanation for dropping the number
  • ignoreTrafficNumberType (optional) - Name of the ignore traffic type to apply (automatically creates ignore traffic number entries for call data exclusion)

Example:

curl -X POST https://example.com/backend/api/v1/numbers/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 number, returning it to active status.

Parameters:

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

Example:

curl -X POST https://example.com/backend/api/v1/numbers/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 number 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
customerIDCustomerTextThe ID of the customer who owns this number
numberTypeNumber TypePreset ValueThe type of this number (e.g., geographic, non-geographic, mobile)
numberNumberTextThe telephone number as sold to the customer
extensionExtensionTextExtension number associated with this telephone number
linesLinesNumberNumber of telephone lines associated with this number
descriptionDescriptionTextDescription of this number
siteSiteTextSite where this number is billed
campaignCampaignTextMarketing campaign associated with this number
targetTargetTextTarget destination for calls to this number
alphaRefAlpha RefTextAlphabetic reference code for this number
statusNumber StatusPreset ValueStatus name for this number
statusChangedStampStatus Changed DateDateDate when the status of this number was last changed
updatedDateDropped / Reinstated DateDateDate when this number was most recently dropped or reinstated
statusReasonStatus ReasonPreset ValueReason for the current status of this number
cancellationNoticeGivenDateCancellation Notice GivenDateDate when cancellation notice was given for this number
annualIncreaseReferenceDateAnnual Increase Reference DateDateDate when the next annual increase is due for this number
annualIncreaseProfileAnnual Increase ProfilePreset ValueAnnual increase profile name for this number
customerProductsCustomer ProductsPreset Value(s)Products associated with this number
internalUseInternal UseTextInternal notes or references for this number
CRMReferenceCRM ReferenceTextReference for this number in the CRM system
CDRNumberCDR NumberTextAlternative number used in Call Detail Records
CDRNumberCallTypeDirectionFlagCall LegPreset ValueDirection of calls for this CDR number
useCallTypeOriginationTypeFlagCall Origination TypePreset ValueType of call origination for this number
CDRNumberChargeBandCharge BandTextCharging band applied to calls for this number
CDRNumber2Second CDR NumberTextSecond alternative number used in Call Detail Records
CDRNumberCallTypeDirectionFlag2Second Call Leg TypePreset ValueDirection of calls for the second CDR number
useCallTypeOriginationTypeFlag2Second Call Origination TypePreset ValueType of call origination for the second CDR number
CDRNumberChargeBand2Second Charge BandTextCharging band applied to calls for the second CDR number
CDRNumber3Third CDR NumberTextThird alternative number used in Call Detail Records
CDRNumberCallTypeDirectionFlag3Third Call Leg TypePreset ValueDirection of calls for the third CDR number
useCallTypeOriginationTypeFlag3Third Call Origination TypePreset ValueType of call origination for the third CDR number
CDRNumberChargeBand3Third Charge BandTextCharging band applied to calls for the third CDR number
CDRNumber4Fourth CDR NumberTextFourth alternative number used in Call Detail Records
CDRNumberCallTypeDirectionFlag4Fourth Call Leg TypePreset ValueDirection of calls for the fourth CDR number
useCallTypeOriginationTypeFlag4Fourth Call Origination TypePreset ValueType of call origination for the fourth CDR number
CDRNumberChargeBand4Fourth Charge BandTextCharging band applied to calls for the fourth CDR number
soldBySold ByPreset ValueUser who sold this number
soldDateDate SoldDateDate when this number was sold
enteredDateEntered DateDateDate when this number was entered into the system
saleTypeSale TypePreset ValueType of sale for this number
postcodePostcodeTextPostcode associated with this number
websiteDesignerWebsite DesignerPreset Value
firstDraftDate1st Draft DateDate
contractEndDateContract End DateDateDate when the contract for this number ends
callCarrierCall CarrierPreset ValueCarrier used for calls with this number
lineCarrierLine ProviderPreset ValueProvider of the line for this number
carrierCallAllocationBill Calls FromPreset ValueSpecifies how calls are allocated to this number
carrierReferenceCarrier Reference/IDTextReference or ID used by the carrier for this number
PINCarrier PINTextPIN associated with this number at the carrier
carrierServiceTypeCarrier Service TypeTextType of service provided by the carrier for this number
carrierSubAccountCarrier Sub-AccountTextSub-account at the carrier for this number
fixedFeeTariffFixed Fee TariffPreset ValueFixed fee tariff applied to this number
inboundTariffInbound TariffPreset ValueTariff applied to inbound calls
inboundMarkupInbound MarkupNumberPercentage markup applied for inbound calls when the selected tariff has no rate
nationalTariffNational TariffPreset ValueTariff applied to national calls
nationalMarkupNational MarkupNumberPercentage markup applied for national calls when the selected tariff has no rate
mobileTariffMobile TariffPreset ValueTariff applied to mobile calls
mobileMarkupMobile MarkupNumberPercentage markup applied for mobile calls when the selected tariff has no rate
nongeographicTariffNon-geographic TariffPreset ValueTariff applied to non-geographic calls
nongeographicMarkupNon-geographic MarkupNumberPercentage markup applied for non-geographic calls when the selected tariff has no rate
serviceNumbersTariffService Numbers TariffPreset ValueTariff applied to service number calls
serviceNumbersMarkupService Numbers MarkupNumberPercentage markup applied for service number calls when the selected tariff has no rate
internationalTariffInternational TariffPreset ValueTariff applied to international calls
internationalMarkupInternational MarkupNumberPercentage markup applied for international calls when the selected tariff has no rate
extendedInternationalTariffExtended International TariffPreset Value
extendedInternationalMarkupExtended International MarkupNumberPercentage markup applied for extended international calls when the selected tariff has no rate
surchargesTariffSurcharges TariffPreset ValueTariff applied to surcharges
surchargesMarkupSurcharges MarkupNumberPercentage markup applied for surcharges when the selected tariff has no rate
bespokeTariff1Bespoke Tariff 1Preset ValueTariff applied to bespoke tariff 1 calls
bespokeTariff1MarkupBespoke Tariff 1 MarkupNumberPercentage markup applied for bespoke tariff 1 calls when the selected tariff has no rate
bespokeTariff2Bespoke Tariff 2Preset ValueTariff applied to bespoke tariff 2 calls
bespokeTariff2MarkupBespoke Tariff 2 MarkupNumberPercentage markup applied for bespoke tariff 2 calls when the selected tariff has no rate
fallbackMarkupSuggestedFallback Suggested Retail MarkupNumberSuggested retail markup applied as a last resort when rates are missing and no per-class markup applies
fallbackMarkupFallback MarkupNumberWholesale markup applied as a last resort when rates are missing and no per-class markup applies
discountPlanAllowancePoolNameAllowance Pool NameTextName of the allowance pool for discount plans
discountPlan1Discount Plan 1Preset ValueFirst discount plan applied to this number
discountPlan2Discount Plan 2Preset ValueSecond discount plan applied to this number
discountPlan3Discount Plan 3Preset ValueThird discount plan applied to this number
discountPlan4Discount Plan 4Preset ValueFourth discount plan applied to this number
lowInvoiceActionValuePad Calls ToCurrencyMinimum value to pad call charges to on invoices
creditLimitCredit LimitCurrencyCredit limit for this number
expectedSpendExpected SpendCurrencyExpected monthly spending for this number
displayWithDisplay WithTextGroups this number with others on bills and reports
shortBillPagesShort Bill PagesPreset Value(s)Pages to include in short bills for this number
longBillPagesLong Bill PagesPreset Value(s)Pages to include in long bills for this number
loginFlagsAllowAllowPreset Value(s)Array of statistics names allowed for this number
loginFlagsDenyDenyPreset Value(s)Array of statistics names denied for this number
idNumber IDTextThe unique identifier for this number

Still Didn’t Find Your Answer?

For assistance, please contact us below.

Submit a ticket