Telenor Sverige VPN API

Endpoints for managing VPNs.

Operations 3

POST /corporate/fixed-network/product-inventory-management/v1/product/vpn/ncmc Requests a new VPN #
GET /corporate/fixed-network/product-inventory-management/v1/product/vpn/ncmc/{requestId} Fetches a VPN request #
GET /corporate/fixed-network/product-inventory-management/v1/product/vpn Lists all VPNs #

Specifications

Schemas & Data

📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-wi-fi-quote-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-lan-quote-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-site-migration-quote-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-site-quote-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-quote-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-quote-group-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-service-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-access-type-with-access-speed-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-access-type-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-product-type-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-fixed-network-offer-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-service-parameter-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-service-details-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-vpn-ncmc-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-dhcp-relay-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-static-route-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-add-vpn-ncmc-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-termination-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-sid-with-provider-connection-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-account-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-sid-with-attribute-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-case-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-close-case-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-case-log-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-add-contact-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-create-site-request-v2-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-safe-contact-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-update-contact-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-add-contact-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-site-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-cancellation-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-order-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-case-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-order-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-cancellation-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-list-cancellations-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-charge-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-refund-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-refund-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-charge-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/telenor-sverige/json-schema/telenor-sverige-media-type-schema.json

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/telenor-sverige:telenor-sverige-vpn-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

telenor-sverige-vpn-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Product Inventory Management VPN API
  description: 'The Product Inventory Management API provides a standardized mechanism to manage product inventory information. The API consists of a simple set of operations that interact with Inventory systems in a consistent manner.''

    ### Notifications

    When a Request is sent to the backend systems, its lifecycle state changes and an event is sent to the Event Notification API. The notification `detailedMessage` attribute will have the following content, depending on the type of request:

    #### General requests

    ```

    {

    "message": "The request is in progress.",

    "requestId": "bf13697e-ab73-4a75-bc1b-903147594d11"

    }

    ```

    #### Termination requests

    ```

    {

    "message": "The request is in progress.",

    "id": "bf13697e-ab73-4a75-bc1b-903147594d11",

    "type": "termination",

    "products": [

    {

    "productId": "SID2532144",

    "state": "IN_PROGRESS"

    }

    ]

    }'
  termsOfService: https://www.telenor.se/globalassets/mediabibliotek/telenor-foretag/pdfer/priser-och-villkor/general-terms-and-conditions-october-2012.pdf
  contact:
    name: Telenor Support
    url: https://www.telenor.se/foretag/kundservice/
  version: 2.4.17
servers:
- url: https://apis-test.telenor.se
  description: Test environment
tags:
- name: vpn
  description: Endpoints for managing VPNs.
paths:
  /corporate/fixed-network/product-inventory-management/v1/product/vpn/ncmc:
    post:
      tags:
      - vpn
      summary: Requests a new VPN
      description: Requests a new VPN.
      operationId: addVpnNcmc
      parameters:
      - name: X-On-Behalf-Of-Org-Nr
        in: header
        description: The organization number when the request is on behalf of another party.
        schema:
          type: string
        example: 5564210309
      requestBody:
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/AddVpnNcmcRequest'
      responses:
        '201':
          description: New VPN request successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VpnNcmcResponse'
        '400':
          description: Invocation failed because of wrong header and/or query parameters
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ErrorResponse'
  /corporate/fixed-network/product-inventory-management/v1/product/vpn/ncmc/{requestId}:
    get:
      tags:
      - vpn
      summary: Fetches a VPN request
      description: Fetches a VPN request.
      operationId: getVpnRequest
      parameters:
      - name: X-On-Behalf-Of-Org-Nr
        in: header
        description: The organization number when the request is on behalf of another party.
        schema:
          type: string
        example: 5564210309
      - name: requestId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: VPN request successfully fetched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VpnNcmcResponse'
        '400':
          description: Invocation failed because of wrong header and/or query parameters
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ErrorResponse'
  /corporate/fixed-network/product-inventory-management/v1/product/vpn:
    get:
      tags:
      - vpn
      summary: Lists all VPNs
      description: Lists all VPNs for the account.
      operationId: listVpns
      parameters:
      - name: X-On-Behalf-Of-Org-Nr
        in: header
        description: The organization number when the request is on behalf of another party.
        schema:
          type: string
        example: 5564210309
      - name: organizationNumber
        in: query
        description: Filter VPNs by organization number.
        schema:
          type: string
        example: 5564210309
      responses:
        '200':
          description: List of VPNs successfully retrieved.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ListVpnResponse'
        '400':
          description: Invocation failed because of wrong header and/or query parameters
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    AddVpnNcmcRequest:
      required:
      - luNumber
      - port
      - productId
      - vpnId
      type: object
      properties:
        productId:
          type: string
          description: The installed product ID.
          example: SID5134123
        vpnId:
          type: string
          description: ID of the VPN.
          example: '634823'
        port:
          type: string
          description: Which physical port to put the VPN on.
          example: '2'
        luNumber:
          type: string
          description: The LU-Number of the CPE.
        portMode:
          type: string
          enum:
          - TRUNK
          - ACCESS
        primaryIpHelper:
          type: string
          description: The primary DHCP server's IP address.
          example: 10.0.2.3
        secondaryIpHelper:
          type: string
          description: The secondary DHCP server's IP address.
          example: 10.0.2.3
        portVlan:
          type: string
          description: VLAN for tagging on a LAN port in Telenor's customer placed equipment.
          example: '4'
        telenorIpAddress:
          type: string
          description: The IP on Telenor's network with the subnet mask.
          example: 192.168.100.1/24
        staticRoute:
          $ref: '#/components/schemas/StaticRoute'
        borderGatewayProtocol:
          $ref: '#/components/schemas/BorderGatewayProtocol'
        notes:
          type: string
          description: Additional information associated to this change request.
          example: Don't interrupt the system between 8:00 and 8:30.
    ErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: The reason that caused the error.
          example: The provided product offer does not exist.
        code:
          type: string
          description: An application specific error code to differentiate error responses.
          example: MISSING_REQUIRED_PARAMETER
          enum:
          - MISSING_REQUIRED_PARAMETER
          - INVALID_INPUT
          - CANCELLATION_OF_TERMINATION_NOT_POSSIBLE
          - TERMINATION_REQUEST_ALREADY_CANCELLED
          - TERMINATION_REQUEST_RETRIGGER_NOT_POSSIBLE
          - TERMINATION_OF_PRODUCT_NOT_POSSIBLE
          - TERMINATION_PRODUCTS_MUST_BELONG_TO_THE_SAME_SITE
          - INVALID_JWT
          - UNAUTHORIZED_HEADER_USAGE
          - UNAUTHORIZED
          - LAN_PORT_REQUEST_NOT_FOUND
          - STATIC_ROUTE_REQUEST_NOT_FOUND
          - DHCP_RELAY_REQUEST_NOT_FOUND
          - TERMINATION_REQUEST_NOT_FOUND
          - PRODUCT_NOT_FOUND
          - AGREEMENT_NOT_FOUND
          - AGREEMENT_STRUCTURE_NOT_FOUND
          - VPN_REQUEST_NOT_FOUND
          - SITE_NOT_FOUND
          - REQUEST_NOT_FOUND
          - TOO_MANY_REQUESTS
          - INTERNAL_ERROR
          - CLARIFY_ERROR
          - MISSING_AGREEMENT_IN_CAS
          - SALESFORCE_ERROR
        timestamp:
          type: integer
          description: The date and time using the epoch standard of when the error occurred.
          format: int64
          example: 1615292025
    BorderGatewayProtocol:
      required:
      - autonomousSystemNumber
      - password
      type: object
      properties:
        autonomousSystemNumber:
          minLength: 1
          type: string
          description: The BGP autonomous system number.
          example: AS109
        password:
          minLength: 1
          type: string
          description: The BGP MD5 password.
          example: 5f4dcc3b5aa765d61d8327deb882cf99
      description: The Border Gateway Protocol (BGP) parameters for CE - PE dynamic route exchange.
    ListVpnResponse:
      type: object
      properties:
        id:
          type: string
          description: The ID of the VPN.
          example: '3543123'
        name:
          type: string
          description: The name of the VPN.
          example: Internet
    VpnNcmcResponse:
      required:
      - port
      - vpnId
      type: object
      properties:
        requestId:
          type: string
          description: A unique identifier for the request.
          format: uuid
          example: 2d5b553d-f4c2-4803-b64a-ed903e1dde0f
        productId:
          type: string
          description: The installed product ID.
          example: SID5134123
        luNumber:
          type: string
          description: The LU-Number of the CPE.
        state:
          type: string
          description: The state in which the request is.
          example: IN_PROGRESS
          enum:
          - NEW
          - PARTIALLY_PROCESSED
          - IN_PROGRESS
          - CANCELLED
          - COMPLETED
        vpnId:
          type: string
          description: ID of the VPN.
          example: '634823'
        port:
          type: string
          description: Which physical port to put the VPN on.
          example: '2'
        portMode:
          type: string
          description: Which physical port to put the VPN on.
          example: TRUNK
          enum:
          - TRUNK
          - ACCESS
        primaryIpHelper:
          type: string
          description: The primary DHCP server's IP address.
          example: 10.0.2.3
        secondaryIpHelper:
          type: string
          description: The secondary DHCP server's IP address.
          example: 10.0.2.3
        portVlan:
          type: string
          description: VLAN for tagging on a LAN port in Telenor's customer placed equipment.
          example: '4'
        telenorIpAddress:
          type: string
          description: The IP on Telenor's network with the subnet mask.
          example: 192.168.100.1/24
        staticRoute:
          $ref: '#/components/schemas/StaticRoute'
        borderGatewayProtocol:
          $ref: '#/components/schemas/BorderGatewayProtocol'
        notes:
          type: string
          description: Additional information associated to this change request.
          example: Don't interrupt the system between 8:00 and 8:30.
        createdDate:
          type: string
          description: The date and time that the request was received by the API.
          format: date-time
          example: '2019-08-24T14:15:22Z'
        onBehalfOfOrgNr:
          type: string
          description: The organization number on behalf of which the request was made.
          example: '5566778899'
    StaticRoute:
      required:
      - lanAddress
      - lanMask
      - nextHop
      type: object
      properties:
        lanAddress:
          type: string
          description: The LAN address for the routed subnet behind the LAN equipment.
          example: 172.31.10.0
        lanMask:
          type: integer
          description: The subnet mask for the routed subnet.
          format: int32
          example: 24
        nextHop:
          type: string
          description: The IP address for the routing gateway towards the routed LAN subnet.
          example: 192.168.0.1
      description: Network to be routed to the installation address.
x-tagGroups:
- name: API Operations
  tags:
  - Product Inventory
  - VPN
  - Static Routes
  - DHCP Relay
  - LAN Ports
  - Termination
x-provenance:
  method: harvested
  publisher: Telenor Sverige
  source: https://developer.telenor.se/product-inventory/openapi
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)