api:internet:account:update
Table of Contents
API : Internet Accounts Update
Introduction
This request will update a single Internet accounts (fiber/xDSL).
- MANAGER and OWNER may only update name, installCallNumber, installCallName, notify and custom.
- RESELLER may only update name, installCallNumber, installCallName, notify, custom, commitmentExpireDateCustomer and notes.
- RESELLER_ADMIN and ADMIN may update any property except type, state, customer, reseller, orderedBy, invoicedUntil, orderDate, documents.
Request
| URL | https://api.telecomx.dk/internet/account/ACCOUNT_ID | ||
|---|---|---|---|
| Method | POST | ||
| Access level | MANAGER, OWNER, RESELLER, RESELLER_ADMIN, ADMIN. | ||
| Property | Type | Description | |
| Params | ACCOUNT_ID | Id | Id of the Internet account. |
| Body | address | Id | Id of installation address |
| address2 | Id | Id of installation address2 (if it is a point-2-point account). | |
| circuit | String | Id of the circuit. | |
| name | String | Name of the internet account | |
| product | Id | Id of the product, that is invoiced. | |
| initiationFeeProduct | Id | Id of the product invoiced for establishing the account. | |
| takeover | Boolean | True if account is a takeover from another provider (type DSL only). | |
| takeoverCustomer | String | Id of customer at provider the takeover is from (type DSL only). | |
| startDate | Date | When state is ORDERED, the requested start date, otherwise the date the account will go/went live. | |
| terminationDate | Date | If state is CANCELLED, the date the account will terminate. | |
| requestedTerminationDate | Date | If state is CANCELLED, the date the customer wants the account to be terminated. | |
| commitmentExpireDate | Date | The earliest date on which the account may be terminated - RESELLER_ADMIN/ADMIN only. | |
| commitmentExpireDateCustomer | Date | RESELLER+ — customer-facing commitment expiry | |
| installCallNumber | String | Number that technician will call 30 minutes before arriving to install the service. | |
| installCallName | String | Name of person technician will call 30 minutes before arriving to install the service. | |
| installTime | String | Time of day installation will be performed: 7_30_TO_16, 7_30_TO_12, 12_TO_16. | |
| provider | Object | ||
| provider.name | String | Name of the subcontractor providing the circuit (RESELLER_ADMIN/ADMIN only). | |
| provider.orderId | String | Subcontractors order id (RESELLER_ADMIN/ADMIN only). | |
| provider.invoicedUntil | Date | The date until when the provider has invoiced TCX for the account (RESELLER_ADMIN/ADMIN only). | |
| provider.ipAddresses | Number | Number of IP addresses ordered for the account (RESELLER_ADMIN/ADMIN only). | |
| fiber | Object | ||
| fiber.initiationCost | Number | Installation cost (type FIBER only). | |
| fiber.initiationWholesale | Number | Reseller installation price (type FIBER only). | |
| fiber.initiationCustomer | Number | Customer installation price (type FIBER only). | |
| fiber.monthlyCost | Number | Monthly fee cost (type FIBER only). | |
| fiber.monthlyWholesale | Number | Monthly fee reseller (type FIBER only). | |
| fiber.monthlyCustomer | Number | Monthly fee customer (type FIBER only). | |
| changeRequest | Object | ||
| changeRequest.state | String | State of change request: NONE, REQUESTED, ORDERED. | |
| changeRequest.product | Id | New product/speed customer wishes to change to. | |
| changeRequest.by | Id | Id of employee who requested the change and who will be notified. | |
| changeRequest.date | Date | The date the change will happen. | |
| changeRequest.feeProduct | Id | Id of product for change fee. | |
| changeRequest.monthlyCost | Number | New monthly fee cost (type FIBER only). | |
| changeRequest.monthlyWholesale | Number | New monthly fee reseller (type FIBER only). | |
| changeRequest.monthlyCustomer | Number | New monthly fee customer (type FIBER only). | |
| net | Object | ||
| net.ipAddress | String | Assigned IP address. | |
| net.subnet | String | Assigned subnet mask. | |
| net.gateway | String | Assigned default gateway. | |
| net.lanNet | String | If an additional network is assigned, this is the first IP address in the range. | |
| net.lanSubnet | String | If an additional network is assigned, this is the subnet mask of the range. | |
| net.failover | Boolean | True if this line has 3G/4G failover. | |
| net.failoverNumber | String | Phone number of failover SIM, if net.failover is true. | |
| net.up | Boolean | True if the accounts ipAddress is online/pingable. | |
| net.routerId | Id | Id of the nets router | |
| notes | String | Note about the service (RESELLER/ADMIN only). | |
| custom | Object | Optional custom data that 3rd parties may append, max. 4Kb. | |
| notify | Array | ||
| notify._id | Id | Id of employee to notify when the account goes online/offline. | |
| notify.email | Boolean | True to notify via e-mail. | |
| notify.sms | Boolean | True to notify via SMS. | |
Only the properties that needs to be updated should be sent. As little as a single property can be changed. Array's must be provided in full.
Query examples
{
"net": {
"ipAddress": "198.51.100.124",
"subnet": "255.255.255.128",
"gateway": "198.51.100.1",
"lanNet": "198.51.100.128",
"lanSubnet": "255.255.255.240"
}
}
Response
| Property | Type | Description |
|---|---|---|
| _id | Id | Unique id of the Internet account. |
| type | String | Type of circuit: DSL or FIBER. |
| state | String | State of product: |
| ORDERED - customer/reseller has ordered the account. | ||
| CONFIRMED - the account has been confirmed for delivery on the specified date. | ||
| ACTIVE - the account is in active use. | ||
| CANCELLED - the account has been cancelled and will terminate on the specified date. | ||
| customer | Id | Id of customer the account belongs to. |
| orderedBy | Id | Id of the employee who ordered the account. |
| address | Id | Id of installation address |
| address2 | Id | Id of installation address2 (if it is a point-2-point account). |
| circuit | String | Id of the circuit. |
| product | Id | Id of the product, that is invoiced. |
| initiationFeeProduct | Id | Id of the product invoiced for establishing the account. |
| takeover | Boolean | True if account is a takeover from another provider (type DSL only). |
| takeoverCustomer | String | Id of customer at provider the takeover is from (type DSL only). |
| orderDate | Date | Date the account was ordered. |
| startDate | Date | When state is ORDERED, the requested start date, otherwise the date the account will go/went live. |
| terminationDate | Date | If state is CANCELLED, the date the account will terminate. |
| requestedTerminationDate | Date | If state is CANCELLED, the date the customer wants the account to be terminated. |
| commitmentExpireDate | Date | The earliest date on which the account may be terminated. |
| commitmentExpireDateCustomer | Date | The earliest termination date agreed with the customer - may differ from commitmentExpireDate. |
| invoicedUntil | Date | The date the account has been invoiced until. |
| installCallNumber | String | Number that technician will call 30 minutes before arriving to install the service. |
| installCallName | String | Name of person technician will call 30 minutes before arriving to install the service. |
| installTime | String | Time of day installation will be performed: 7_30_TO_16, 7_30_TO_12, 12_TO_16. |
| provider | Object | |
| provider.name | String | Name of the subcontractor providing the circuit (RESELLER_ADMIN/ADMIN only). |
| provider.orderId | String | Subcontractors order id (RESELLER_ADMIN/ADMIN only). |
| provider.invoicedUntil | Date | The date until when the provider has invoiced TCX for the account (RESELLER_ADMIN/ADMIN only). |
| provider.ipAddresses | Number | Number of IP addresses ordered for the account (RESELLER_ADMIN/ADMIN only). |
| fiber | Object | |
| fiber.initiationCost | Number | Installation cost (type FIBER only) (RESELLER_ADMIN/ADMIN only). |
| fiber.initiationWholesale | Number | Reseller installation price (type FIBER only) (RESELLER, RESELLER_ADMIN or ADMIN only). |
| fiber.initiationCustomer | Number | Customer installation price (type FIBER only). |
| fiber.monthlyCost | Number | Monthly fee cost (type FIBER only) (RESELLER_ADMIN/ADMIN only). |
| fiber.monthlyWholesale | Number | Monthly fee reseller (type FIBER only) (RESELLER, RESELLER_ADMIN or ADMIN only). |
| fiber.monthlyCustomer | Number | Monthly fee customer (type FIBER only). |
| changeRequest | Object | |
| changeRequest.state | String | State of change request: NONE, REQUESTED, ORDERED. When NONE, all other changeRequest properties are omitted. |
| changeRequest.product | Id | New product/speed customer wishes to change to. |
| changeRequest.by | Id | Id of employee who requested the change and who will be notified. |
| changeRequest.date | Date | The date the change will happen. |
| changeRequest.feeProduct | Id | Id of product for change fee. |
| changeRequest.monthlyCost | Number | New monthly fee cost (type FIBER only) (RESELLER_ADMIN/ADMIN only). |
| changeRequest.monthlyWholesale | Number | New monthly fee reseller (type FIBER only) (RESELLER, RESELLER_ADMIN or ADMIN only). |
| changeRequest.monthlyCustomer | Number | New monthly fee customer (type FIBER only). |
| net | Object | |
| net.ipAddress | String | Assigned IP address. |
| net.subnet | String | Assigned subnet mask. |
| net.gateway | String | Assigned default gateway. |
| net.lanNet | String | If an additional network is assigned, this is the first IP address in the range. |
| net.lanSubnet | String | If an additional network is assigned, this is the subnet mask of the range. |
| net.failover | Boolean | True if this line has 3G/4G failover. |
| net.failoverNumber | String | Phone number of failover SIM, if net.failover is true. |
| net.up | Boolean | True if the accounts ipAddress is online/pingable. |
| notes | String | Note about the service (RESELLER/ADMIN only). |
| documents | Array | List of id's of documents related to the account. |
| custom | Object | Optional custom data that 3rd parties may append, max. 4Kb. |
| notify | Array | |
| notify._id | Id | Id of employee to notify when the account goes online/offline. |
| notify.email | Boolean | True to notify via e-mail. |
| notify.sms | Boolean | True to notify via SMS. |
Note that properties holding no value may be omitted from the object. The install-related properties (installCallNumber, installCallName, installTime, takeover, takeoverCustomer) are omitted once the account has been live for more than 7 days, unless a change request is active.
Example
{ "_id": "650000000000000000000001", "type": "FIBER", "state": "ACTIVE", "name": "Eksempelvej 20A, 3. th.", "customer": "650000000000000000000002", "reseller": "650000000000000000000003", "orderedBy": "650000000000000000000004", "address": "650000000000000000000005", "circuit": "HB123456", "product": "650000000000000000000006", "initiationFeeProduct": "650000000000000000000007", "orderDate": "2026-01-02T00:00:00.000Z", "startDate": "2026-02-01T00:00:00.000Z", "terminationDate": null, "requestedTerminationDate": null, "commitmentExpireDate": "2027-02-01T00:00:00.000Z", "commitmentExpireDateCustomer": "2027-02-01T00:00:00.000Z", "invoicedUntil": "2026-08-01T00:00:00.000Z", "provider": { "name": "Eksempel Fiber A/S", "orderId": "56326R47723", "ipAddresses": 4 }, "fiber": { "initiationCost": 800, "initiationWholesale": 900, "initiationCustomer": 1000, "monthlyCost": 1500, "monthlyWholesale": 1600, "monthlyCustomer": 1700 }, "changeRequest": { "state": "NONE" }, "net": { "ipAddress": "198.51.100.123", "subnet": "255.255.255.128", "gateway": "198.51.100.1", "lanNet": "198.51.100.128", "lanSubnet": "255.255.255.240", "failover": true, "failoverNumber": "+4571919930", "up": true }, "notes": "Very important customer", "documents": [ "650000000000000000000009" ], "custom": null, "notify": [ { "_id": "650000000000000000000004", "email": true, "sms": false } ] }
Errors
| Error code | Message | Description |
|---|---|---|
| 403 | access_denied | Insufficient access level |
| 404 | not_found | Account not found |
| 404 | address | Address not found |
| 404 | address2 | Address not found |
| 422 | name | Invalid length. Must be between 1 and 100 |
| 422 | startDate | Start date is invalid - must be between last month and within next 6 months |
| 422 | terminationDate | Commitment violated |
| 422 | custom | Custom data is too big, max. 4Kb |
| 422 | multiple | Multiple validation errors - the individual errors are in the inner array |
| 409 | net.ipAddress | IP address is already in use by another Internet account |
| 422 | product | Product not found or invalid for customer |
| 422 | initiationFeeProduct | Product not found or invalid for customer |
| 500 | internal_error | <Unspecified> |
api/internet/account/update.txt · Last modified: by Mikkel Meerwaldt Jørgensen