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: 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)