How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

KPN Mobile Services Management API

MobileServicesManagement APIs ---

KPN Mobile Services Management API is one of 38 APIs that KPN publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Mobile, Fleet Management, Ordering, and BSS. The published artifact set on APIs.io includes API documentation, an API reference, and an OpenAPI specification.

This API exposes 99 operations across 90 paths, organized into 16 resource areas, and defines 138 schemas. It is described by OpenAPI 2.0, at version v11.

Requests are made against the base URL https://api-prd.kpn.com/mobile/kpn/mobileservices.

99 operations 90 paths 138 schemas 54 GET44 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 2.0
API Version
v11
Base URL
https://api-prd.kpn.com/mobile/kpn/mobileservices
Authentication
OAuth 2.0
Terms of Service
Resource Areas
16

Authentication & Security 1

KPN Mobile Services Management API declares 1 security scheme for authenticating requests. It supports OAuth 2.0 (OAuth2) using the application flow.

Paths & Operations 99

Across 90 paths, the API surfaces 99 operations — 54 GET, 44 POST, 1 PUT. They span 16 resource areas, including rest-track-and-trace-controller, rest-hardware-enrollment-controller, rest-order-controller, rest-block-sim-controller, rest-contract-terminate-controller, rest-hierarchy-controller, rest-user-controller, rest-subscriber-controller, and 8 more. Each is listed below with its method, path, parameters, and response codes.

rest-track-and-trace-controller 12

Rest Track And Trace Controller

GET
/track-and-trace/orders
Get order list
getOrdersUsingGET 8 params → 200400401403404429500503
GET
/track-and-trace/orders/{id}
Get order details
getOrderDetailsUsingGET 1 param → 200400401403404429500503
POST
/track-and-trace/orders/{id}/cancel
Cancel order
cancelOrderUsingPOST 2 params → 200400401403404429500503
GET
/track-and-trace/orders/{id}/hardware
Get list of hardware which was ordered in the order with the given id
getHardwareForOrderUsingGET 1 param → 200400401403404429500503
POST
/track-and-trace/orders/{id}/porting-data
Change port in date or customer number
changePortingDataUsingPOST 2 params → 200400401403404429500503
GET
/track-and-trace/orders/{id}/pretty
Get order details in pretty form
getPrettyOrderDetailsUsingGET 1 param → 200400401403404429500503
GET
/track-and-trace/overview
Get number of orders grouped by orders type
getOverviewUsingGET → 200400401403404429500503
GET
/track-and-trace/returned-hardware-service-requests
Get return hardware service requests list
getReturnedHardwareServiceRequestUsingGET 7 params → 200400401403404429500503
GET
/track-and-trace/service-requests
Get service requests list
getServiceRequestsUsingGET 9 params → 200400401403404429500503
GET
/track-and-trace/service-requests/{id}
Get service requests details
getServiceRequestDetailsUsingGET 1 param → 200400401403404429500503
GET
/track-and-trace/service-requests/{id}/attachments/{attachmentId}
Get attachment with given id and serviceRequestId
getAttachmentUsingGET 2 params → 200400401403404429500503
POST
/track-and-trace/service-requests/{id}/cancel
Cancel service request
cancelServiceReqestUsingPOST 2 params → 200400401403404429500503
rest-hardware-enrollment-controller 2

Rest Hardware Enrollment Controller

POST
/order/apple-dep
Register Apple Dep
registerAppleDepUsingPOST 1 param → 200400401403404429500503
POST
/order/samsung-knox
Register Samsung Knox
registerSamsungKnoxUsingPOST 1 param → 200400401403404429500503
rest-order-controller 7

Rest Order Controller

POST
/order/authorize
Authorize order
authorizeUsingPOST 1 param → 200400401403404429500503
POST
/order/move
Move contract with given contractId to group with given destinationGroupId
moveContractUsingPOST 1 param → 200400401403404429500503
GET
/order/operations
Get information about operations available for given contract.
getAvailableOperationsUsingGET 1 param → 200400401403404429500503
POST
/order/porting-out
Port out contract
portingOutUsingPOST 1 param → 200400401403404429500503
POST
/order/replace-sim
Replace sim for given contract
replaceSimUsingPOST 1 param → 200400401403404429500503
POST
/order/replace-sim/validator
Validate if sim card number can be used in replace sim operation
validateUiccidUsingPOST 1 param → 200400401403404429500503
POST
/order/return-hardware
Return hardware
returnHardwareUsingPOST 1 param → 200400401403404429500503
rest-block-sim-controller 2

Rest Block Sim Controller

POST
/order/block-sim
Block sim for given contract
blockSimUsingPOST 1 param → 200400401403404429500503
POST
/order/unblock-sim
Unblock sim for given contract
unblockSimUsingPOST 1 param → 200400401403404429500503
rest-contract-terminate-controller 3

Rest Contract Terminate Controller

POST
/order/terminate
Terminate contract
terminateUsingPOST 1 param → 200400401403404429500503
GET
/order/terminate/termination-fee
Get termination fee for giver contract and termination date
getTerminationFeeUsingGET 2 params → 200400401403404429500503
GET
/order/terminate/{contractId}/min-date
Get first possible termination date for given contract
getMinFreeTerminationDateUsingGET 1 param → 200400401403404429500503
rest-hierarchy-controller 9

Rest Hierarchy Controller

GET
/hierarchy/children
Get immediate children of given parent hierarchy entity
getChildrenUsingGET 9 params → 200400401403404429500503
POST
/hierarchy/children/cost-center
Create cost center
createCostCenterUsingPOST 1 param → 200400401403404429500503
POST
/hierarchy/children/move
Move specified hierarchy items to the chosen location
moveHierarchyItemsUsingPOST 1 param → 200400401403404429500503
GET
/hierarchy/children/operations
Get operations availability for logged user
getHierarchyOperationsUsingGET → 200400401403404429500503
POST
/hierarchy/children/virtual-group
Create virtual group
createVirtualGroupUsingPOST 1 param → 200400401403404429500503
GET
/hierarchy/children/{id}
Get hierarchy entity details
getDetailsUsingGET 1 param → 200400401403404429500503
POST
/hierarchy/children/{id}
Update hierarchy entity (cost center, custom group)
updateChildUsingPOST 2 params → 200400401403404429500503
GET
/hierarchy/children/{id}/operations
Get operations availability for chosen item
getItemOperationsUsingGET 1 param → 200400401403404429500503
POST
/hierarchy/children/{id}/remove
Remove hierarchy entity (cost center, custom group)
removeGroupUsingPOST 1 param → 200400401403404429500503
rest-user-controller 9

Rest User Controller

GET
/hierarchy/grip-entities
Get all grip entities not linked to subscriber
getGripEntitiesUsingGET → 200400401403404429500503
POST
/hierarchy/subscribers/link
Link existing subscriber to grip identity
linkSubscriberToGripIdentityUsingPOST 1 param → 200400401403404429500503
GET
/hierarchy/subscribers/roles
Get all roles
getAllRolesUsingGET 5 params → 200400401403404429500503
GET
/hierarchy/subscribers/roles/{roleId}/privileges
Get privileges for given role
getRolePrivilegesUsingGET 1 param → 200400401403404429500503
POST
/hierarchy/subscribers/{id}/assign-entities
Assign hierarchy entities managed by employee
assignEntitiesUsingPOST 2 params → 200400401403404429500503
GET
/hierarchy/subscribers/{id}/managed-entities
Get hierarchy entities managed by employee
getManagedGroupsUsingGET 1 param → 200400401403404429500503
POST
/hierarchy/subscribers/{id}/unassign-entities
Assign hierarchy entities managed by employee
unassignEntitiesUsingPOST 2 params → 200400401403404429500503
GET
/hierarchy/subscribers/{subscriberId}/roles
Get roles for given subscriber user
getSubscriberUserRolesUsingGET 6 params → 200400401403404429500503
POST
/hierarchy/subscribers/{subscriberId}/roles
Edit roles assigned for given subscriber user
editSubscriberUserRolesUsingPOST 2 params → 200400401403404429500503
rest-subscriber-controller 9

Rest Subscriber Controller

GET
/hierarchy/subscribers
Find all subscribers whom user manages
findSubscribersUsingGET 7 params → 200400401403404429500503
POST
/hierarchy/subscribers
Create subscriber (with or without user)
createSubscriberUsingPOST 1 param → 200400401403404429500503
GET
/hierarchy/subscribers/{id}
Get subscriber details
getSubscriberDetailsUsingGET 1 param → 200400401403404429500503
PUT
/hierarchy/subscribers/{id}
Update subscriber
updateSubscriberUsingPUT 2 params → 200400401403404429500503
POST
/hierarchy/subscribers/{id}/delete
Delete subscriber
deleteSubscriberUsingPOST 2 params → 200400401403404429500503
POST
/hierarchy/subscribers/{id}/move
Move subscriber
moveSubscriberUsingPOST 2 params → 200400401403404429500503
GET
/hierarchy/subscribers/{id}/operations
Get subscriber operations availability
getSubscriberOperationsUsingGET 1 param → 200400401403404429500503
GET
/hierarchy/subscribers/{subscriberId}/contracts
Find all contracts belonging to subscriber
findSubscriberContractsUsingGET 4 params → 200400401403404429500503
GET
/hierarchy/subscribers/{subscriberId}/contracts/overview
Get contracts overview for a subscriber
getContractOverviewForVGroupUsingGET 1 param → 200400401403404429500503
rest-invoice-controller 4

Rest Invoice Controller

POST
/finances/billing-period
Change billing period for current customer
changeBillingPeriodUsingPOST 1 param → 200400401403404429500503
GET
/finances/billing-period/availability
Get billing period changing availability
getBillingPeriodChangingAvailabilityUsingGET → 200400401403404429500503
GET
/finances/invoices
Get list of invoices for given debtor
getInvoicesUsingGET 9 params → 200400401403404429500503
GET
/finances/invoices/{id}
Download the invoice as pdf file
downloadInvoiceUsingGET 1 param → 200400401403404429500503
rest-address-controller 7

Rest Address Controller

GET
/address/all
Get a list of all addresses
getAllAddressesUsingGET → 200400401403404429500503
GET
/address/customer
Get a list of general addresses
getGeneralAddressesUsingGET → 200400401403404429500503
POST
/address/customer
Add new general address
newGeneralAddressUsingPOST 1 param → 200400401403404429500503
GET
/address/user
Get a list of personal addresses
getPersonalAddressesUsingGET → 200400401403404429500503
POST
/address/user
Add new personal address
newPersonalAddressUsingPOST 1 param → 200400401403404429500503
POST
/address/{id}/delete
Delete given address from general or personal addresses
deleteAddressUsingPOST 1 param → 200400401403404429500503
POST
/address/{id}/edit
Update personal or general address
updateAddressUsingPOST 2 params → 200400401403404429500503
rest-contract-controller 6

Rest Contract Controller

GET
/contract/all
Get all contracts.
getContractsUsingGET 8 params → 200400401403404429500503
GET
/contract/id/{id}
Get contract details.
getContractUsingGET 1 param → 200400401403404429500503
GET
/contract/id/{id}/items
Get all contract items (in form of tree) for given contract.
getContractItemsUsingGET 1 param → 200400401403404429500503
GET
/contract/id/{id}/vamo/fixed-numbers
Get all possible fixed numbers for combining operation.
getFixedNumbersForMergingUsingGET 7 params → 200400401403404429500503
GET
/contract/id/{id}/vamo/mobile-numbers
Get all possible mobile numbers for combining operation.
getMobileNumbersForMergingUsingGET 7 params → 200400401403404429500503
GET
/contract/overview
Get number of contracts grouped by contract type.
→ 200400401403404429500503
rest-threshold-controller 10

Rest Threshold Controller

GET
/contract/thresholds
Get list of thresholds
getThresholdsUsingGET → 200400401403404429500503
POST
/contract/thresholds
Create new threshold
createNewThresholdUsingPOST 1 param → 200400401403404429500503
GET
/contract/thresholds/availability
Check if user should have access to thresholds
getThresholdsAvailabilityUsingGET → 200400401403404429500503
POST
/contract/thresholds/remove
Remove thresholds
removeThresholdUsingPOST 1 param → 200400401403404429500503
GET
/contract/thresholds/{id}
Get threshold with information about operation availability
getThresholdUsingGET 1 param → 200400401403404429500503
POST
/contract/thresholds/{id}
Modify existing threshold
updateThresholdUsingPOST 2 params → 200400401403404429500503
POST
/contract/thresholds/{id}/assign
Allows to assign list of contracts to given threshold
assignContractsUsingPOST 2 params → 200400401403404429500503
POST
/contract/thresholds/{id}/unassign
Allows to unassign contracts from given threshold
unassignContractsUsingPOST 2 params → 200400401403404429500503
GET
/contract/thresholds/{thresholdId}/contracts
Get contracts assigned to threshold
getContractsUsingGET_1 9 params → 200400401403404429500503
GET
/contract/thresholds/{thresholdId}/contracts-to-assign
Get a list of contracts which can be later assigned to given threshold.
getContractsToAssignUsingGET 9 params → 200400401403404429500503
rest-contracting-controller 13

Rest Contracting Controller

GET
/contracting/basket
Get basket content with products tree and prices
getBasketUsingGET 1 param → 200400401403404429500503
POST
/contracting/basket
Modify state of current basket
modifyBasketUsingPOST 2 params → 200400401403404429500503
GET
/contracting/basket/characteristics
Get characteristics grouped by its names
getCharacteristicsUsingGET 1 param → 200400401403404429500503
GET
/contracting/basket/main-products
Get list of main products to order
getMainProductsUsingGET 9 params → 200400401403404429500503
POST
/contracting/basket/modify-template
Modify template
modifyTemplateUsingPOST 2 params → 200400401403404429500503
POST
/contracting/basket/order
Create order applying changes introduced to basket staring from initializing
orderUsingPOST_1 2 params → 200400401403404429500503
GET
/contracting/basket/products
Get products tree
getProductsTreeUsingGET 1 param → 200400401403404429500503
POST
/contracting/basket/reset
Reset basket
resetBasketUsingPOST 1 param → 200400401403404429500503
GET
/contracting/basket/resources
Get resources
getResourcesUsingGET 3 params → 200400401403404429500503
POST
/contracting/basket/save-as-template
Save as template
saveAsTemplateUsingPOST 2 params → 200400401403404429500503
GET
/contracting/basket/templates
Get templates
getTemplatesUsingGET 5 params → 200400401403404429500503
GET
/contracting/categories
Get available product categories to be contracted for currently logged user
getAvailableCategoriesUsingGET 1 param → 200400401403404429500503
GET
/contracting/hardware/categories
Get available hardware categories
getHardwareCategoriesUsingGET 1 param → 200400401403404429500503
rest-business-voice-mail-controller 2

Rest Business Voice Mail Controller

GET
/contracting/bvm/availability
Business voicemail availability
getAvailabilityUsingGET → 200400401403404429500503
POST
/contracting/bvm/order
Order Business voicemail
orderUsingPOST 7 params → 200400401403404429500503
rest-separate-fixed-mobile-controller 1

Rest Separate Fixed Mobile Controller

POST
/contracting/separate-fixed-mobile
Separate fixed-mobile subscription
separateFixedMobileUsingPOST 1 param → 200400401403404429500503
rest-template-controller 3

Rest Template Controller

GET
/contracting/templates
Get template overview
1 param → 200400401403404429500503
GET
/contracting/templates/{id}
Get template details
1 param → 200400401403404429500503
POST
/contracting/templates/{id}/delete
Remove template
deleteTemplateUsingPOST 1 param → 200400401403404429500503

Schemas 138

The contract defines 138 schemas that model the data the API accepts and returns. The most detailed are OrderDetails1 (40 properties), PrettyOrderDetails (35 properties), ContractDetails (30 properties), ServiceRequestDetails (23 properties). Each schema is shown below with its type and property counts.

ErrorResponse
object
5 properties
Address
object
11 properties
Attachment
object
2 properties
ChangePortingData
object
3 properties
ContractItem
object
7 properties
ContractServiceUpdate
object
4 properties
ContractingSuborder
object
12 properties
FixedNumberPresentation
object
2 properties
FlexibleNumberPresentation
object
3 properties
Hardware
object
7 properties
HardwareSuborder
object
4 properties
LocalizedString
object
Text with two language versions
2 properties
OperationAvailability
object
3 properties
Order
object
14 properties
OrderAuthorizer
object
6 properties
OrderCancelStatus
object
2 properties
OrderDetails1
object
40 properties
OperationAvailability2
object
2 properties
OrderCancelStatus1
object
2 properties
Address1
object
11 properties
FlexibleNumberPresentation1
object
3 properties
Address2
object
11 properties
ContractingSuborder1
object
12 properties
OrderParticipants1
object
3 properties
OrderAuthorizer1
object
6 properties
OrderParticipant1
object
5 properties
OrderReceiver1
object
7 properties
Threshold1
object
2 properties
LocalizedString1
object
Text with two language versions
2 properties
OrderParticipant
object
5 properties
OrderParticipants
object
3 properties
OrderReceiver
object
7 properties
PagedResult_Order_
object
Paged list of elements
2 properties
PagedResult_ReturnedHardwareServiceRequests_
object
Paged list of elements
2 properties
PagedResult_ServiceRequest_
object
Paged list of elements
2 properties
PrettyContractingSuborder
object
9 properties
PrettyOrderDetails
object
35 properties
Product
object
4 properties
ReturnedHardware
object
2 properties
ReturnedHardwareServiceRequests
object
7 properties
Serializable
object
ServiceRequest
object
13 properties
ServiceRequestDetails
object
23 properties
Threshold
object
4 properties
AuthorizeRequest
object
1 property
BlockSimRequest
object
2 properties
BlockingOrder
object
4 properties
HardwareEnrollmentRequest
object
2 properties
MoveContractRequest
object
5 properties
OperationAvailability1
object
3 properties
OperationsAvailability
object
10 properties
OrderSummary
object
6 properties
PortingOutRequest
object
3 properties
ReplaceSimRequest
object
7 properties
ReturnHardwareRequest
object
6 properties
TerminateContractRequest
object
3 properties
TerminationFee
object
1 property
UiccidValidationData
object
2 properties
UnblockSimRequest
object
2 properties
BulkOrderSummary
object
2 properties
BusinessLocationDetails
object
8 properties
Contract
object
14 properties
CostCenterDetails
object
1 property
CreateCostCenterRequestParams
object
3 properties
CreateGroupResponse
object
1 property
CreateSubscriberRequestParams
object
4 properties
CreateVirtualGroupRequestParams
object
2 properties
CreatedOrder
object
3 properties
CustomerDetails
object
7 properties
DebtorDetails
object
11 properties
DeleteSubscriberRequestParams
object
1 property
EditRolesRequest
object
2 properties
GripEntity
object
10 properties
HierarchyItemDetails
object
6 properties
HierarchyItemOperationsAvailability
object
6 properties
HierarchyOperationEnabled
object
2 properties
HierarchyOperationsAvailability
object
5 properties
LinkSubscriberToGripRequestParams
object
8 properties
LocationAddress
object
11 properties
ManagedGroupAssignmentParams
object
1 property
MoveGroupsParams
object
4 properties
MoveSubscriberRequestParams
object
3 properties
OperationEnabled
object
2 properties
OperationState
object
3 properties
PagedResult_Contract_
object
Paged list of elements
2 properties
PagedResult_Role_
object
Paged list of elements
2 properties
PagedResult_Subscriber_
object
Paged list of elements
2 properties
PagedResult_VirtualHierarchyItem_
object
Paged list of elements
2 properties
Role
object
3 properties
Subscriber
object
10 properties
SubscriberContracts
object
2 properties
SubscriberDetails
object
16 properties
SubscriberDetailsRequestParams
object
11 properties 1 required
SubscriberOperationsAvailability
object
4 properties
UpdateChildRequestParams
object
2 properties
UpdateSubscriberRequestParams
object
2 properties
UserAdditionalInfo
object
3 properties
VirtualHierarchyItem
object
11 properties
ChangeBillingPeriodRequestParams
object
2 properties
Invoice
object
7 properties
PagedResult_Invoice_
object
Paged list of elements
2 properties
DeliveryAddress
object
12 properties
DeliveryAddressRequest
object
11 properties 6 required
AssignContractsToThresholdRequestParams
object
1 property
ContractDetails
object
30 properties
ContractForOperation
object
7 properties
PagedResult_ContractForOperation_
object
Paged list of elements
2 properties
RemoveThresholdParams
object
1 property
ThresholdDetails
object
3 properties
ThresholdRequestParams
object
3 properties
UnassignContractsFromThresholdRequestParams
object
1 property
BasketChange
object
10 properties
BasketSnapshot
object
4 properties
Characteristic
object
3 properties
CharacteristicAction
object
2 properties
CharacteristicRestriction
object
2 properties
DeliveryAddressRequest1
object
11 properties 6 required
Error
object
2 properties
File
object
19 properties
OneTimePrice
object
3 properties
OrderConfirmation
object
1 property
OrderRequest
object
4 properties
PagedResult_Product_1
object
Paged list of elements
2 properties
Product1
object
6 properties
PagedResult_Product_
object
Paged list of elements
2 properties
PagedResult_Template_
object
Paged list of elements
2 properties
Price
object
2 properties
ProductAction
object
3 properties
ProductTreeItem
object
12 properties
RecurringPrice
object
1 property
Resource
object
2 properties
SaveAsTemplateRequest
object
2 properties
SaveAsTemplateResponse
object
1 property
SeparateFixedMobileRequest
object
2 properties
Template
object
7 properties
TemplateDetailsWithLocations
object
6 properties
TemplateItem
object
3 properties
TemplateOverview
object
4 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

kpn-mobile-services-management-openapi.yml Raw ↑

Other APIs KPN publishes across the network.

KPN Number Verify API
KPN SIM Swap API (Account Takeover Protection)
KPN Match API
KPN SMS API
KPN SMS Inbound API
KPN FIAM API
KPN FIAM Eneco Data Products API
KPN Disturbance Check API
KPN Internet Speed Check API
KPN High Level Design FttX API
KPN LoRa Device Management API
KPN SD-LAN / SD-WAN Network View API
Where this information came from

This is an independent, third-party profile of KPN Mobile Services Management API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.