KPN

KPN Rest Contract Controller API

Rest Contract Controller

Operations 6

GET /contract/all Get all contracts. #
GET /contract/id/{id} Get contract details. #
GET /contract/id/{id}/items Get all contract items (in form of tree) for given contract. #
GET /contract/id/{id}/vamo/fixed-numbers Get all possible fixed numbers for combining operation. #
GET /contract/id/{id}/vamo/mobile-numbers Get all possible mobile numbers for combining operation. #
GET /contract/overview Get number of contracts grouped by contract type.

Documentation

📖
Documentation
https://developer.kpn.com/products/kpn-number-verify
📖
Documentation
https://developer.kpn.com/documentation/kpn-number-verify-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/numberverify-kpn
📖
Documentation
https://developer.kpn.com/products/kpn-account-takeover-protection
📖
Documentation
https://developer.kpn.com/documentation/kpn-account-takeover-protection-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/simswap-kpn
📖
Documentation
https://developer.kpn.com/products/kpn-match
📖
Documentation
https://developer.kpn.com/documentation/kpn-match-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/match-kpn
📖
Documentation
https://developer.kpn.com/products/kpn-sms-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-sms-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/sms-kpn
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/sms-inbound
📖
Documentation
https://developer.kpn.com/products/kpn-mobile-services-management-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-mobile-services-management-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/mobileservicesmanagement-kpn
📖
Documentation
https://developer.kpn.com/products/federated-identity-and-access-management
📖
Documentation
https://developer.kpn.com/documentation/fiam-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/fiam-kpn
📖
Documentation
https://developer.kpn.com/products/fiam-eneco-data-products
📖
Documentation
https://developer.kpn.com/documentation/eneco-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/fiam-eneco-data-products
📖
Documentation
https://developer.kpn.com/products/kpn-disturbance-check-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-disturbance-check-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/disturbance-check-kpn
📖
Documentation
https://developer.kpn.com/products/kpn-internet-speed-check-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-internet-speed-check-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/internet-speed-check-kpn
📖
Documentation
https://developer.kpn.com/products/kpn-high-level-design-fttx-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-high-level-design-fttx-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/high-level_design_ftth
📖
Documentation
https://developer.kpn.com/products/kpn-lora-device-management-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-lora-device-management-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/lora-device-management-kpn
📖
Documentation
https://developer.kpn.com/products/kpn-sd-lan-sd-wan-network-view-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-sd-lan-sd-wan-network-view-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/kpn-sd_lan_sd_wan_network_view_api
📖
Documentation
https://developer.kpn.com/products/kpn-servicenow-connect-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-servicenow-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/servicenow-kpn
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/ise-kpn
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/tv-guide-kpn
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/webhook-signing-key-management-kpn
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/webhook-privacy-config-manager
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/wholesale-wba-kpn
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/wholesale-broadband_access_fpi_cip
📖
Documentation
https://developer.kpn.com/products/pollyhelp-knowledge-management-api
📖
Documentation
https://developer.kpn.com/documentation/pollyhelp-knowledge-management-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/knowledge-management-polly.help
📖
Documentation
https://developer.kpn.com/products/xdroid-speech-text-api
📖
Documentation
https://developer.kpn.com/documentation/xdroid-xdroid-speech-text-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/speech-to-text-xdroid
📖
Documentation
https://developer.kpn.com/products/parley-secure-messenger-api
📖
Documentation
https://developer.kpn.com/documentation/parley-chat-and-messaging-api-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/secure-messenger-parley
📖
Documentation
https://developer.kpn.com/products/social-media-chat-and-messaging
📖
Documentation
https://developer.kpn.com/documentation/parley-webcare-parley-documentation-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/socialmediawebcare-tracebuzz
📖
Documentation
https://developer.kpn.com/products/weseedo-weseedo-direct-api
📖
Documentation
https://developer.kpn.com/documentation/weseedo-weseedo-direct-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/weseedo-direct-weseedo
📖
Documentation
https://developer.kpn.com/products/weseedo-weseedo-personal-api
📖
Documentation
https://developer.kpn.com/documentation/weseedo-weseedo-personal-weseedo-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/weseedo-personal-weseedo
📖
Documentation
https://developer.kpn.com/products/vonage-messages-api
📖
Documentation
https://developer.kpn.com/documentation/vonage-messages-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/messages-nexmo
📖
Documentation
https://developer.kpn.com/products/vonage-voice-api
📖
Documentation
https://developer.kpn.com/documentation/vonage-voice-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/voice-nexmo
📖
Documentation
https://developer.kpn.com/products/vonage-phone-numbers-api
📖
Documentation
https://developer.kpn.com/documentation/vonage-phone-numbers-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/phone-numbers-nexmo
📖
Documentation
https://developer.kpn.com/products/vonage-number-insight-api
📖
Documentation
https://developer.kpn.com/documentation/vonage-number-insight-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/number-insight-nexmo
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/sms-nexmo
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/verify-nexmo
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/apidaze-voice-voip-innovations
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/registeredemail-registeredemail

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kpn-rest-contract-controller-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kpn-rest-contract-controller-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: "MobileServicesManagement APIs\n\n   ---\n     \n ## [Source view](https://app.swaggerhub.com/apis/kpn/MobileServicesManagement-KPN/)<br/>\n [Documentation view](https://app.swaggerhub.com/apis/kpn/MobileServicesManagement-KPN/)\n \n ---\n \n ## [KPN Developer](https://developer.kpn.com/)<br/>\n [Getting Started](https://developer.kpn.com/getting-started)\n \n\n ---"
  version: v11
  title: MobileServicesManagement-KPN Rest Contract Controller API
  termsOfService: https://developer.kpn.com/legal
  contact:
    name: API Support
    email: api_developer@kpn.com
    url: https://developer.kpn.com/support
servers:
- url: https://api-prd.kpn.com/mobile/kpn/mobileservices
tags:
- name: rest-contract-controller
  description: Rest Contract Controller
paths:
  /contract/all:
    get:
      tags:
      - rest-contract-controller
      summary: Get all contracts.
      description: <strong>Required privileges</strong> (one of the following):</strong><ul><li>privileges_un-authorized_orders_creation</li><li>privileges_orders_authorization</li><li>privileges_virtual_hierarchy_view</li><li>privileges_virtual_hierarchy_management</li></ul>
      operationId: getContractsUsingGET
      parameters:
      - name: Content-Language
        in: header
        description: Content-Language
        required: false
        schema:
          type: string
      - name: category
        in: query
        required: false
        schema:
          type: string
          enum:
          - MOBILE
          - FIXED
          - FIXED_MOBILE
          - HARDWARE
          - SKYPE_FOR_BUSINESS
          - SOFTWARE
          - OTHER
      - name: filters
        in: query
        description: 'Possible columns: FIRSTNAME, LASTNAME, SURNAME_PREFIX, PRODUCT_NAME, PRODUCT_CATEGORY, MOBILE_NUMBER, FIXED_NUMBER, STATE, EXTENSION, SIM_CARD_NUMBER, IMEI. For example: FIRSTNAME: "aab", "aac"; LASTNAME: "aba", "abb"'
        required: false
        schema:
          type: string
      - name: from
        in: query
        description: Pagination parameter - start from (included). The elements are counted from 0. Default value is 0.
        required: false
        x-example: 0
        schema:
          type: integer
          format: int32
      - name: order
        in: query
        required: false
        schema:
          type: string
          enum:
          - ASC
          - DESC
      - name: patterns
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: sortBy
        in: query
        required: false
        schema:
          type: string
          enum:
          - FIRSTNAME
          - LASTNAME
          - SURNAME_PREFIX
          - PRODUCT_NAME
          - PRODUCT_CATEGORY
          - MOBILE_NUMBER
          - FIXED_NUMBER
          - STATE
          - SIM_CARD_NUMBER
          - EXTENSION
          - SIP_ACCOUNT_NAME
          - CATEGORY
      - name: to
        in: query
        description: Pagination parameter - end element (exluded). Default value is 20.
        required: false
        x-example: 20
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PagedResult_Contract_'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too Many Requests
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Service Unavailable
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - OAuth2: []
  /contract/id/{id}:
    get:
      tags:
      - rest-contract-controller
      summary: Get contract details.
      description: <strong>Required privileges</strong> (one of the following):</strong><ul><li>privileges_un-authorized_orders_creation</li><li>privileges_orders_authorization</li><li>privileges_virtual_hierarchy_view</li><li>privileges_virtual_hierarchy_management</li></ul>
      operationId: getContractUsingGET
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ContractDetails'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too Many Requests
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Service Unavailable
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - OAuth2: []
  /contract/id/{id}/items:
    get:
      tags:
      - rest-contract-controller
      summary: Get all contract items (in form of tree) for given contract.
      description: <strong>Required privileges</strong> (one of the following):</strong><ul><li>privileges_un-authorized_orders_creation</li><li>privileges_orders_authorization</li><li>privileges_virtual_hierarchy_view</li><li>privileges_virtual_hierarchy_management</li></ul>
      operationId: getContractItemsUsingGET
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ContractItem'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too Many Requests
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Service Unavailable
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - OAuth2: []
  /contract/id/{id}/vamo/fixed-numbers:
    get:
      tags:
      - rest-contract-controller
      summary: Get all possible fixed numbers for combining operation.
      description: <strong>Required privileges</strong> (one of the following):</strong><ul><li>privileges_un-authorized_orders_creation</li><li>privileges_orders_authorization</li><li>privileges_virtual_hierarchy_view</li><li>privileges_virtual_hierarchy_management</li></ul>
      operationId: getFixedNumbersForMergingUsingGET
      parameters:
      - name: filters
        in: query
        description: 'Possible columns: FIRSTNAME, LASTNAME, SURNAME_PREFIX, PRODUCT_NAME, PRODUCT_CATEGORY. MOBILE_NUMBER, STATE, EXTENSION, SIM_CARD_NUMBER. For example: FIRSTNAME: "aab", "aac"; LASTNAME: "aba", "abb"'
        required: false
        schema:
          type: string
      - name: from
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int64
      - name: order
        in: query
        required: false
        schema:
          type: string
          enum:
          - ASC
          - DESC
      - name: patterns
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: sortBy
        in: query
        required: false
        schema:
          type: string
          enum:
          - FIRSTNAME
          - LASTNAME
          - SURNAME_PREFIX
          - PRODUCT_NAME
          - PRODUCT_CATEGORY
          - MOBILE_NUMBER
          - FIXED_NUMBER
          - STATE
          - SIM_CARD_NUMBER
          - EXTENSION
          - SIP_ACCOUNT_NAME
          - CATEGORY
      - name: to
        in: query
        required: false
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PagedResult_ContractForOperation_'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too Many Requests
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Service Unavailable
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - OAuth2: []
  /contract/id/{id}/vamo/mobile-numbers:
    get:
      tags:
      - rest-contract-controller
      summary: Get all possible mobile numbers for combining operation.
      description: <strong>Required privileges</strong> (one of the following):</strong><ul><li>privileges_un-authorized_orders_creation</li><li>privileges_orders_authorization</li><li>privileges_virtual_hierarchy_view</li><li>privileges_virtual_hierarchy_management</li></ul>
      operationId: getMobileNumbersForMergingUsingGET
      parameters:
      - name: filters
        in: query
        description: 'Possible columns: FIRSTNAME, LASTNAME, SURNAME_PREFIX, PRODUCT_NAME, PRODUCT_CATEGORY, FIXED_NUMBER, STATE, EXTENSION, SIM_CARD_NUMBER. For example: FIRSTNAME: "aab", "aac"; LASTNAME: "aba", "abb"'
        required: false
        schema:
          type: string
      - name: from
        in: query
        description: Pagination parameter - start from (included). The elements are counted from 0. Default value is 0.
        required: false
        x-example: 0
        schema:
          type: integer
          format: int32
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int64
      - name: order
        in: query
        required: false
        schema:
          type: string
          enum:
          - ASC
          - DESC
      - name: patterns
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: sortBy
        in: query
        required: false
        schema:
          type: string
          enum:
          - FIRSTNAME
          - LASTNAME
          - SURNAME_PREFIX
          - PRODUCT_NAME
          - PRODUCT_CATEGORY
          - MOBILE_NUMBER
          - FIXED_NUMBER
          - STATE
          - SIM_CARD_NUMBER
          - EXTENSION
          - SIP_ACCOUNT_NAME
          - CATEGORY
      - name: to
        in: query
        description: Pagination parameter - end element (exluded). Default value is 20.
        required: false
        x-example: 20
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PagedResult_ContractForOperation_'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too Many Requests
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Service Unavailable
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - OAuth2: []
  /contract/overview:
    get:
      tags:
      - rest-contract-controller
      summary: Get number of contracts grouped by contract type.
      description: 'Return contracts statistics. Possible contract types (key values): mobile, fixed, fixed_mobile, hardware, other


        <strong>Required privileges</strong> (one of the following):</strong><ul><li>privileges_un-authorized_orders_creation</li><li>privileges_orders_authorization</li><li>privileges_virtual_hierarchy_view</li><li>privileges_virtual_hierarchy_management</li></ul>'
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
                additionalProperties:
                  type: integer
                  format: int64
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too Many Requests
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Service Unavailable
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - OAuth2: []
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        transactionId:
          type: string
          description: transaction id of the the request
          title: Transaction ID
        status:
          type: string
          description: Status
          title: Status
        name:
          type: string
          description: Error name
          title: Error name
        message:
          type: string
          description: Error message
          title: Error message
        info:
          type: string
          description: Additional information about error
          title: Info
    FixedNumberPresentation:
      type: object
      properties:
        description:
          type: string
          enum:
          - ORGANISATION
          - FIXED_NUMBER
          - HUNTGROUP
          - CALL_CENTER
        number:
          type: string
      title: FixedNumberPresentation
    PagedResult_ContractForOperation_:
      type: object
      properties:
        result:
          type: array
          description: One page of result
          items:
            $ref: '#/components/schemas/ContractForOperation'
        total:
          type: integer
          format: int32
          description: Total number of all elements in collection
      title: PagedResult_ContractForOperation_
      description: Paged list of elements
    BlockingOrder:
      type: object
      properties:
        id:
          type: integer
          format: int64
        kpnReference:
          type: string
        status:
          type: string
          enum:
          - IN_PROGRESS
          - UNAUTHORIZED
          - NEW
          - CLOSED
          - CANCELED
          - REJECTED
          - DRAFT
          - THIRD_PARTY
          - HOLD_CUSTOMER
          - WAITING
        type:
          type: string
          enum:
          - CONTRACTING
          - SERVICE_REQUEST
      title: BlockingOrder
    ContractItem:
      type: object
      properties:
        children:
          type: array
          items:
            $ref: '#/components/schemas/ContractItem'
        citemBsId:
          type: integer
          format: int64
        contractId:
          type: integer
          format: int64
        id:
          type: integer
          format: int64
        name:
          $ref: '#/components/schemas/LocalizedString'
        productBsId:
          type: integer
          format: int64
        tariffPlanVariantBsId:
          type: integer
          format: int64
      title: ContractItem
    ContractForOperation:
      type: object
      properties:
        firstName:
          type: string
        fixedNumber:
          type: string
        id:
          type: integer
          format: int64
        lastName:
          type: string
        mobileNumber:
          type: string
        namePrefix:
          type: string
        operation:
          description: Information if combination is possible and eventualy reason why it is not
          $ref: '#/components/schemas/OperationState'
      title: ContractForOperation
    Contract:
      type: object
      properties:
        category:
          type: string
        extension:
          type: string
        firstName:
          type: string
        fixedNumber:
          type: string
        id:
          type: integer
          format: int64
        imei:
          type: string
        lastName:
          type: string
        mobileNumber:
          type: string
        namePrefix:
          type: string
        product:
          $ref: '#/components/schemas/LocalizedString'
        productCategory:
          type: string
        simCardNumber:
          type: string
        sipAccount:
          type: string
        state:
          type: string
          enum:
          - ACTIVE
          - CLOSED
          - ORDERED
          - PENDING
          - BLOCKED
      title: Contract
    PagedResult_Contract_:
      type: object
      properties:
        result:
          type: array
          description: One page of result
          items:
            $ref: '#/components/schemas/Contract'
        total:
          type: integer
          format: int32
          description: Total number of all elements in collection
      title: PagedResult_Contract_
      description: Paged list of elements
    OperationState:
      type: object
      properties:
        blocked:
          type: boolean
        blockingOrders:
          type: array
          items:
            $ref: '#/components/schemas/BlockingOrder'
        reason:
          type: string
      title: OperationState
    FlexibleNumberPresentation:
      type: object
      properties:
        defaultNumber:
          type: string
        fixedNumbers:
          type: array
          items:
            $ref: '#/components/schemas/FixedNumberPresentation'
        mobileNumberPresentation:
          type: boolean
      title: FlexibleNumberPresentation
    ContractDetails:
      type: object
      properties:
        activationDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
        enterpriseId:
          type: string
        enterpriseName:
          type: string
        extension:
          type: string
        fixedMobilePbxId:
          type: string
        fixedMobilePbxName:
          type: string
        fixedNumber:
          type: string
        flexibleNumberPresentation:
          $ref: '#/components/schemas/FlexibleNumberPresentation'
        hierarchyPath:
          type: array
          description: Location of contract in company hierarchy
          items:
            $ref: '#/components/schemas/VirtualHierarchyItem'
        id:
          type: integer
          format: int64
        imei:
          type: string
        individualBundle:
          type: boolean
        lastStatusChangeDate:
          type: string
          format: date-time
        multiplicity:
          type: integer
          format: int64
        name:
          $ref: '#/components/schemas/LocalizedString'
        pbxName:
          type: string
        phoneNumber:
          type: string
        pin:
          type: string
        puk:
          type: string
        simCardNumber:
          type: string
        sipAccount:
          type: string
        startDate:
          type: string
          format: date-time
        status:
          type: string
          description: 'Possible values: A - active, C - closed, O - ordered, P - pending, S - blocked'
        tariffPlan:
          type: string
        uiccid:
          type: string
        userGroupId:
          type: string
        userGroupName:
          type: string
        userId:
          type: string
        userPrincipalName:
          type: string
      title: ContractDetails
    LocalizedString:
      type: object
      properties:
        en:
          type: string
          description: English version
        nl:
          type: string
          description: Dutch version
      title: LocalizedString
      description: Text with two language versions
    VirtualHierarchyItem:
      type: object
      properties:
        costCenterNumber:
          type: string
        email:
          type: string
        employeeNumber:
          type: string
        firstName:
          type: string
        id:
          type: integer
          format: int64
        lastName:
          type: string
        name:
          type: string
        operation:
          $ref: '#/components/schemas/OperationState'
        path:
          type: array
          items:
            $ref: '#/components/schemas/VirtualHierarchyItem'
        prefix:
          type: string
        type:
          type: string
          enum:
          - CUSTOMER
          - DEBTOR
          - SUBSCRIBER
          - COST_CENTER
          - CUSTOM_GROUP
          - BUSINESS_LOCATION
      title: VirtualHierarchyItem
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: https://api-prd.kpn.com/oauth/grip/msm/accesstoken?grant_type=client_credentials