This request will return the list of Internet Access accounts (fiber/xDSL) that belongs to a customer.
| URL | https://api.telecomx.dk/internet/account | |
|---|---|---|
| Method | GET | |
| Access level | VIEWER, MANAGER or OWNER if user belongs to the customer. RESELLER if customer belongs to the reseller or a sub reseller. RESELLER_ADMIN ADMIN. |
|
| Query | customer | [optional] Id of the customer to list accounts for, defaults to users own customer if reseller is not set. |
| reseller | [optional] Id of the reseller whose customers to list accounts for. Requires RESELLER or above. |
|
| offset | [optional] Index of the first account to return, default 0. |
|
| limit | [optional] The number of accounts to return, default 100, min 1, max 1000. |
|
| state | [optional] Only return accounts with a specific state: ORDERED, CONFIRMED, ACTIVE, CANCELLED. |
|
| changerequest | [optional] Only return accounts with a change request at a specific state: REQUESTED, ORDERED. |
|
| filter | [optional] Filter accounts on properties like address, circuit id, IP address and notes. |
|
| full | [optional] If true, return full accounts instead of the condensed version. |
|
| up | [optional] If true, return only accounts that are up. If false, return only accounts that are down (excluding point-to-point accounts, which cannot be monitored). Setting this filter implies state=ACTIVE. If not set, return accounts regardless of up/down status. |
|
| csv | [optional] If true, returns data in CSV format instead of JSON. |
|
https://api.telecomx.dk/internet/account?customer=1234567890ABCDEF12345678 https://api.telecomx.dk/internet/account?customer=1234567890ABCDEF12345678&filter=EM123456&offset=10&limit=25&full=true
| JSON object | ||
|---|---|---|
| Property | Type | Description |
| offset | Number | Index of the first account returned. |
| limit | Number | Number of accounts to return. Note that the actual number of items returned may be lower. |
| total | Number | Number of accounts that can be returned when offset and limit is not considered. This is to be used for paging through the data. |
| accounts | Array | List of accounts, see definition below. |
| Internet account | ||
|---|---|---|
| Property | Type | Description |
| _id | Id | Unique id of the account. |
| type | String | Type of circuit: DSL or FIBER. |
| state | String | State of account: 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. |
| address | Id | Id of the address where the Internet account is installed. |
| addressName | String | Address where the Internet account is installed. |
| circuit | String | Id of the circuit. |
| product | Id | Id of the product. |
| productName | String | Name of the product. |
| orderDate | Date | Date when ordered. |
| startDate | Date | Date when account goes live/went live. |
| terminationDate | Date | Date when account will be taken down. |
| ipAddress | String | Assigned IP address. |
| up | Boolean | True if the accounts ipAddress is online/pingable. Point-to-point accounts are always reported up. |
| name | String | Name of the account |
| customer | String | Id of the customer |
| customerName | String | Name of the customer |
| changeRequest | Object | Data on the change request |
| Internet account if full=true | ||
|---|---|---|
| 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, when approved. |
| 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 according to the provider's contract. |
| 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. |
| 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. |
| net.routerId | String | Id of the net's router |
| 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. |
| name | String | Name of the internet account |
| reseller | Id | Id of the reseller - null when the customer is the reseller. |
Note that properties holding no value may be omitted from the object.
With full=true the JSON response contains the raw account documents as stored - the computed productName/customerName/addressName/ipAddress/up properties of the condensed version are NOT included.
With csv=true the response is a CSV file instead of JSON. Base columns match the condensed version; full=true appends the initiation/monthly customer prices, plus wholesale prices (RESELLER and above) and cost prices + provider order id (RESELLER_ADMIN/ADMIN).
{ "offset": 0, "limit": 100, "total": 2, "accounts": [ { "_id": "650000000000000000000001", "type": "FIBER", "state": "ACTIVE", "name": "Eksempelvej 20A, 3. th.", "customer": "650000000000000000000002", "customerName": "Eksempel A/S", "address": "650000000000000000000005", "addressName": "Eksempelvej 20A, 3. th., 2605 Brøndby", "circuit": "HB123456", "product": "650000000000000000000006", "productName": "Fiber 100/100 City ring", "orderDate": "2026-01-02T00:00:00.000Z", "startDate": "2026-02-01T00:00:00.000Z", "terminationDate": null, "changeRequest": { "state": "NONE" }, "ipAddress": "198.51.100.123", "up": true }, { "_id": "650000000000000000000012", "type": "DSL", "state": "ORDERED", "name": "Prøvegade 2", "customer": "650000000000000000000002", "customerName": "Eksempel A/S", "address": "650000000000000000000013", "addressName": "Prøvegade 2, 8000 Aarhus C", "circuit": "", "product": "650000000000000000000014", "productName": "DSL 60/20Mbit", "orderDate": "2026-08-01T00:00:00.000Z", "startDate": null, "terminationDate": null, "changeRequest": { "state": "NONE" }, "up": false } ] }
{ "offset": 0, "limit": 100, "total": 1, "accounts": [ { "_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", "takeover": false, "takeoverCustomer": "", "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", "installCallNumber": "71919999", "installCallName": "Hans Eksempel", "installTime": "7_30_TO_12", "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 } ] } ] }
| Error code | Message | Description |
|---|---|---|
| 422 | invalid | Reseller ID is invalid |
| 422 | invalid | Customer ID is invalid |
| 403 | access_denied | Insufficient access level |
| 500 | internal_error | <Unspecified> |