Telenor Sverige Fixed Network Quotation Groups API

APIs which manages quotation requests group, that are related to each other and are likely to be placed in a single order.

Operations 3

POST /fixed-network/quotation/groups Create a quote group #
GET /fixed-network/quotation/groups/{groupId} Finds a quote group by id #
POST /fixed-network/quotation/groups/{quoteGroupId}/close Closes a quote group #

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-fixed-network-quotation-groups-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-fixed-network-quotation-groups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fixed Network Quotation Groups API
  description: 'API managing fixed network quotations at Telenor Sweden AB

    >

    The Fixed Network Quotation API goal is to provide quotations commercial eligibility at Telenor. The API consists of a set of operations that interact with Catalog- and Inventory systems in a consistent manner. This API is intended for software developers and system integrators implementing client applications for handling products and offerings. It is assumed that the reader is familiar with software API concepts such as REST, JSON and the OpenAPI interface specification. For more information about OpenAPI see OpenAPI Specification.

    ### Response Codes

    This API follows standard response codes for REST APIs defined in HTTP RFC by W3C Note that not all 4xx HTTP Status Codes are explicit documented in each API-operation such as **401 (UNAUTHORIZED)** and **403 (FORBIDDEN)**. These are considered generic ones and clients should be aware their presence at all operations.'
  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.1.13
servers:
- url: https://apis.telenor.se/corporate/
  description: Production environment
- url: https://apis-test.telenor.se/corporate/
  description: Test environment
tags:
- name: Fixed Network Quotation Groups
  description: APIs which manages quotation requests group, that are related to each other and are likely to be placed in a single order.
paths:
  /fixed-network/quotation/groups:
    post:
      tags:
      - Fixed Network Quotation Groups
      summary: Create a quote group
      description: Creates a quotation group for grouping future quotation requests.
      operationId: QuotationGroupingResource_createQuoteGroup
      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:
          application/json:
            schema:
              $ref: '#/components/schemas/QuoteGroupDto'
        required: true
      responses:
        x-codeSamples:
        - lang: Java
          source: 'var client = HttpClient.newHttpClient();

            var req = HttpRequest.newBuilder().uri(URI.create(uri)).build();

            var resp = client.send(request, BodyHandlers.ofString());

            System.out.println(response.body());'
        - lang: JavaScript
          source: 'var http = new XMLHttpRequest();

            http.open(''GET'', ''https://<base-uri>/fixed-network/<path-to-resource>'', false);

            http.send();

            console.log(http.responseText);'
        '201':
          description: Quotation group created
          headers:
            Location:
              schema:
                type: string
                format: url
          x-codeSamples:
          - lang: Java
            source: 'var client = HttpClient.newHttpClient();

              var req = HttpRequest.newBuilder().uri(URI.create(uri)).build();

              var resp = client.send(request, BodyHandlers.ofString());

              System.out.println(response.body());'
          - lang: JavaScript
            source: 'var http = new XMLHttpRequest();

              http.open(''GET'', ''https://<base-uri>/fixed-network/<path-to-resource>'', false);

              http.send();

              console.log(http.responseText);'
        '400':
          description: Invalid or missing parameters
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ErrorResponse'
          x-codeSamples:
          - lang: Java
            source: 'var client = HttpClient.newHttpClient();

              var req = HttpRequest.newBuilder().uri(URI.create(uri)).build();

              var resp = client.send(request, BodyHandlers.ofString());

              System.out.println(response.body());'
          - lang: JavaScript
            source: 'var http = new XMLHttpRequest();

              http.open(''GET'', ''https://<base-uri>/fixed-network/<path-to-resource>'', false);

              http.send();

              console.log(http.responseText);'
        '401':
          description: Authorization header missing or invalid
          x-codeSamples:
          - lang: Java
            source: 'var client = HttpClient.newHttpClient();

              var req = HttpRequest.newBuilder().uri(URI.create(uri)).build();

              var resp = client.send(request, BodyHandlers.ofString());

              System.out.println(response.body());'
          - lang: JavaScript
            source: 'var http = new XMLHttpRequest();

              http.open(''GET'', ''https://<base-uri>/fixed-network/<path-to-resource>'', false);

              http.send();

              console.log(http.responseText);'
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          x-codeSamples:
          - lang: Java
            source: 'var client = HttpClient.newHttpClient();

              var req = HttpRequest.newBuilder().uri(URI.create(uri)).build();

              var resp = client.send(request, BodyHandlers.ofString());

              System.out.println(response.body());'
          - lang: JavaScript
            source: 'var http = new XMLHttpRequest();

              http.open(''GET'', ''https://<base-uri>/fixed-network/<path-to-resource>'', false);

              http.send();

              console.log(http.responseText);'
      security:
      - bearer-jwt: []
      x-codeSamples:
      - lang: Java
        source: 'var client = HttpClient.newHttpClient();

          var req = HttpRequest.newBuilder().uri(URI.create(uri)).build();

          var resp = client.send(request, BodyHandlers.ofString());

          System.out.println(response.body());'
      - lang: JavaScript
        source: 'var http = new XMLHttpRequest();

          http.open(''GET'', ''https://<base-uri>/fixed-network/<path-to-resource>'', false);

          http.send();

          console.log(http.responseText);'
  /fixed-network/quotation/groups/{groupId}:
    get:
      tags:
      - Fixed Network Quotation Groups
      summary: Finds a quote group by id
      description: Returns a quote group by the supplied group id.
      operationId: QuotationGroupingResource_findQuoteGroupBy
      parameters:
      - name: groupId
        in: path
        description: The quote group id
        required: true
        schema:
          type: string
        example: 1f4aa2c9-c35b-446c-90b5-2037e717520b
      responses:
        x-codeSamples:
        - lang: Java
          source: 'var client = HttpClient.newHttpClient();

            var req = HttpRequest.newBuilder().uri(URI.create(uri)).build();

            var resp = client.send(request, BodyHandlers.ofString());

            System.out.println(response.body());'
        - lang: JavaScript
          source: 'var http = new XMLHttpRequest();

            http.open(''GET'', ''https://<base-uri>/fixed-network/<path-to-resource>'', false);

            http.send();

            console.log(http.responseText);'
        '200':
          description: Successful operation
          x-codeSamples:
          - lang: Java
            source: 'var client = HttpClient.newHttpClient();

              var req = HttpRequest.newBuilder().uri(URI.create(uri)).build();

              var resp = client.send(request, BodyHandlers.ofString());

              System.out.println(response.body());'
          - lang: JavaScript
            source: 'var http = new XMLHttpRequest();

              http.open(''GET'', ''https://<base-uri>/fixed-network/<path-to-resource>'', false);

              http.send();

              console.log(http.responseText);'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteGroupDto'
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          x-codeSamples:
          - lang: Java
            source: 'var client = HttpClient.newHttpClient();

              var req = HttpRequest.newBuilder().uri(URI.create(uri)).build();

              var resp = client.send(request, BodyHandlers.ofString());

              System.out.println(response.body());'
          - lang: JavaScript
            source: 'var http = new XMLHttpRequest();

              http.open(''GET'', ''https://<base-uri>/fixed-network/<path-to-resource>'', false);

              http.send();

              console.log(http.responseText);'
      security:
      - bearer-jwt: []
      x-codeSamples:
      - lang: Java
        source: 'var client = HttpClient.newHttpClient();

          var req = HttpRequest.newBuilder().uri(URI.create(uri)).build();

          var resp = client.send(request, BodyHandlers.ofString());

          System.out.println(response.body());'
      - lang: JavaScript
        source: 'var http = new XMLHttpRequest();

          http.open(''GET'', ''https://<base-uri>/fixed-network/<path-to-resource>'', false);

          http.send();

          console.log(http.responseText);'
  /fixed-network/quotation/groups/{quoteGroupId}/close:
    post:
      tags:
      - Fixed Network Quotation Groups
      summary: Closes a quote group
      description: Closes a quote group, marking it as ready for processing. After this, no more quotes may be added to the group.
      operationId: QuotationGroupingResource_closeQuoteGroup
      parameters:
      - name: quoteGroupId
        in: path
        description: The id of the quote group to close
        required: true
        schema:
          type: string
      responses:
        x-codeSamples:
        - lang: Java
          source: 'var client = HttpClient.newHttpClient();

            var req = HttpRequest.newBuilder().uri(URI.create(uri)).build();

            var resp = client.send(request, BodyHandlers.ofString());

            System.out.println(response.body());'
        - lang: JavaScript
          source: 'var http = new XMLHttpRequest();

            http.open(''GET'', ''https://<base-uri>/fixed-network/<path-to-resource>'', false);

            http.send();

            console.log(http.responseText);'
        '204':
          description: Quotation group closed
          x-codeSamples:
          - lang: Java
            source: 'var client = HttpClient.newHttpClient();

              var req = HttpRequest.newBuilder().uri(URI.create(uri)).build();

              var resp = client.send(request, BodyHandlers.ofString());

              System.out.println(response.body());'
          - lang: JavaScript
            source: 'var http = new XMLHttpRequest();

              http.open(''GET'', ''https://<base-uri>/fixed-network/<path-to-resource>'', false);

              http.send();

              console.log(http.responseText);'
        '400':
          description: Invalid or missing parameters
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ErrorResponse'
          x-codeSamples:
          - lang: Java
            source: 'var client = HttpClient.newHttpClient();

              var req = HttpRequest.newBuilder().uri(URI.create(uri)).build();

              var resp = client.send(request, BodyHandlers.ofString());

              System.out.println(response.body());'
          - lang: JavaScript
            source: 'var http = new XMLHttpRequest();

              http.open(''GET'', ''https://<base-uri>/fixed-network/<path-to-resource>'', false);

              http.send();

              console.log(http.responseText);'
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          x-codeSamples:
          - lang: Java
            source: 'var client = HttpClient.newHttpClient();

              var req = HttpRequest.newBuilder().uri(URI.create(uri)).build();

              var resp = client.send(request, BodyHandlers.ofString());

              System.out.println(response.body());'
          - lang: JavaScript
            source: 'var http = new XMLHttpRequest();

              http.open(''GET'', ''https://<base-uri>/fixed-network/<path-to-resource>'', false);

              http.send();

              console.log(http.responseText);'
      security:
      - bearer-jwt: []
      x-codeSamples:
      - lang: Java
        source: 'var client = HttpClient.newHttpClient();

          var req = HttpRequest.newBuilder().uri(URI.create(uri)).build();

          var resp = client.send(request, BodyHandlers.ofString());

          System.out.println(response.body());'
      - lang: JavaScript
        source: 'var http = new XMLHttpRequest();

          http.open(''GET'', ''https://<base-uri>/fixed-network/<path-to-resource>'', false);

          http.send();

          console.log(http.responseText);'
components:
  schemas:
    GroupState:
      type: string
      enum:
      - CREATED
      - ONGOING
      - CLOSED
    Rt90Coordinate:
      type: object
      required:
      - rt90x
      - rt90y
      properties:
        rt90x:
          type: integer
          format: int32
          examples:
          - 7087271
          minimum: 0
        rt90y:
          type: integer
          format: int32
          examples:
          - 1719456
          minimum: 0
    SiteAddress:
      type: object
      required:
      - street
      - postalCode
      - city
      - country
      properties:
        street:
          type: string
          examples:
          - Storgatan
          pattern: \S
        streetNumber:
          type: string
          examples:
          - '1'
        postalCode:
          type: string
          examples:
          - '75331'
          pattern: \S
        city:
          type: string
          examples:
          - Uppsala
          pattern: \S
        country:
          type: string
          examples:
          - Sverige
          pattern: \S
        apartmentNumber:
          type: string
          examples:
          - '0053'
        siteName:
          type: string
          examples:
          - Projekt Hinsetunneln
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          examples:
          - INVALID_PARAMETERS
          description: '## Errors

            ### INVALID_PARAMETERS

            Invalid input parameter(s).

            ### INTERNAL_ERROR

            Internal error.

            ### TIMEOUT

            Timeout occurred when communicating with underlying systems.

            ### QUOTE_GROUP_ALREADY_CLOSED

            Quote group already in state CLOSED.

            ### QUOTE_GROUP_ALREADY_EXISTS

            Quote group with given id already exists.

            ### QUOTE_GROUP_NOT_FOUND

            Quote group with given id can''t be found.

            ### MISSING_AUTHORIZATION_HEADER

            Header with authorization data is missing.

            ### BROADBAND_NOT_AVAILABLE_ON_ADDRESS

            Bredband via fiber not possible to deliver on address.

            ### NOT_ALLOWED_TO_QUOTE_ON_BEHALF_OF

            The supplied appId is not allowed to create quotes on behalf of another organization number.

            ### SITE_IS_INACTIVE

            The site is in inactive state.

            '
        message:
          type: string
          description: Human readable message of the error
        timestamp:
          type: integer
          format: int64
          description: timestamp (Epoch) when error occurred
    Site:
      type: object
      description: Represents a site either by id, address or coordinates. At least site id, or address must be present.
      properties:
        address:
          $ref: '#/components/schemas/SiteAddress'
          type: object
          description: The address where the product will be installed
        rt90Coordinate:
          $ref: '#/components/schemas/Rt90Coordinate'
          type: object
          description: The RT90 coordinate where the product will be installed
        siteId:
          type: string
          examples:
          - '6218841'
          description: The site Id. If present, the address will be ignored
    LocalDate:
      type: string
      format: date
      examples:
      - 2022-03-10
    QuoteGroupDto:
      type: object
      required:
      - site
      properties:
        externalQuoteGroupId:
          type: string
          examples:
          - aed7e04a-b838-4f6b-8936-6ef6b7bebb3f
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
          description: The ID of the item that's generated and stored in a client's system. If not provided an id will be automatically generated.
        appId:
          type: string
          readOnly: true
        state:
          $ref: '#/components/schemas/GroupState'
          type: string
          readOnly: true
          description: State of the quote group. 'CLOSED' state prevents the group from being used, no new quote requests can be created with that group's id at this point.
        site:
          $ref: '#/components/schemas/Site'
        opportunityId:
          type: string
          readOnly: true
          description: An internal opportunity id, will be set by Telenor
        expectedDeliveryDate:
          $ref: '#/components/schemas/LocalDate'
          type: string
          description: Expected installation date for the service
        onBehalfOfOrgNr:
          type: string
          readOnly: true
          description: Contains organizational number if the request was behalf of another party, e.g. via Mitt Foretag
        creationDate:
          $ref: '#/components/schemas/LocalDate'
          type: string
          readOnly: true
  securitySchemes:
    bearer-jwt:
      type: http
      description: Telenor Sweden bearer token (JWT)
      scheme: bearer
      bearerFormat: JWT
x-tagGroups:
- name: API Operations
  tags:
  - Fixed Network Quotation Request
  - Fixed Network Quotation Response
  - Fixed Network Quotation Groups
x-servers:
- url: http://127.0.0.1:8080/
  description: Local dev environment
- url: http://b2bapis-test.se.telenor.net
  description: Test (internal) environment
- url: https://apis-test.telenor.se/corporate/
  description: Test (external) environment
- url: http://apis.se.telenor.net/corporate/
  description: Prod (external) environment
x-provenance:
  method: harvested
  publisher: Telenor Sverige
  source: https://developer.telenor.se/fixed-network-quotation/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)