Services

Methods

GET

Retrieve Single Service

/backend/api/v1/services/ID - fetch service with specified ID.

List Services

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

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

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

Search Example:

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

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

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

# Expand features but only show active ones
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "/backend/api/v1/services/123?expandFeatures=true&featureActive=true"

Search Notes:

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

POST

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

PATCH

/backend/api/v1/services/ID - update service with specified ID. The modified service will be returned.

DELETE

/backend/api/v1/services/ID - delete service with specified ID.

Actions

Available Actions

drop

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

Parameters:

  • status (required) - The status name for the dropped service (e.g., “Dropped”)
  • dateDrop (required) - The date the service 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 service

Example:

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

Parameters:

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

Example:

curl -X POST https://example.com/backend/api/v1/services/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 service 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 service
serviceTypeService TypePreset ValueThe type of this service
serviceNameService NameTextA short name or reference for this service
descriptionDescriptionTextDescription of this service
siteSiteTextSite where this service is provided or billed
campaignCampaignTextMarketing campaign associated with this service
statusService StatusPreset ValueStatus name for this service
statusChangedStampStatus Changed DateDateDate when the status of this service was last changed
updatedDateDropped / Reinstated DateDateDate when this service was most recently dropped or reinstated
statusReasonStatus ReasonPreset ValueReason for the current status of this service
cancellationNoticeGivenDateCancellation Notice GivenDateDate when cancellation notice was given for this service
annualIncreaseReferenceDateAnnual Increase Reference DateDateDate when the next annual increase is due for this service
annualIncreaseProfileAnnual Increase ProfilePreset ValueAnnual increase profile name for this service
customerProductsCustomer ProductsPreset Value(s)Products associated with this service
internalUseInternal UseTextInternal notes or references for this service
CRMReferenceCRM ReferenceTextReference for this service in the CRM system
soldBySold ByPreset ValueUser who sold this service
soldDateDate SoldDateDate when this service was sold
enteredDateEntered DateDateDate when this service was entered into the system
saleTypeSale TypePreset ValueType of sale for this service
postcodePostcodeTextPostcode associated with this service
contractEndDateContract End DateDateDate when the contract for this service ends
provisionStatusProvision StatusNumberInternal provisioning status for this service
providerProviderPreset ValueProvider/carrier used for this service
providerReferenceProvider ReferenceTextReference used by the provider for this service
providerServiceTypeProvider Service TypeTextProvider-specific service type or product code
providerSubAccountProvider Sub-accountTextProvider sub-account reference, if applicable
fixedFeeTariffDefault Fixed Fee TariffPreset ValueDefault fixed fee tariff to use for features attached to this service
idService IDTextThe unique identifier for this service

Still Didn’t Find Your Answer?

For assistance, please contact us below.

Submit a ticket