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/tm-forum-quote-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 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: Quote API
description: '**TMF API Reference : TMF 648 - Quote Management**
**Release : 19.0 - June 2019**
The Quote API provides a standardized mechanism for placing a quote with all of the necessary parameters. The API consists of a simple set of operations that interact with CRM/Quote/Pricing Negotiation systems in a consistent manner. A Quote is created based on product offering(s) that is(are) defined in a catalog. The quote identifies the product or set of products that are available to a customer for pricing request, and includes product characteristics.
The Quote references the product offer(s) which (future) customer request pricing.
Quote resource features authorization subclass to manage special pricing UC requiring authorization tracking management
**Quote resource**
A Quote can be used to request pricing between a customer and a service provider or between a service provider and a partner and vice versa. Main quote attributes are its identifier, state, priority, related dates (requested, expected, valid, completion, etc.), related parties and quote items. Main Quote Items attributes are the discribed offering and product characteristics with the related action to be performed (e.g. add, change or delete the products), location information, and product characteristics.
Quote API performs the following operations on Quote :
- Retrieval of a quote or a collection of quotes depending on filter criteria
- Partial update of a quote (including updating rules)
- Creation of a quote (including default values and creation rules)
- Deletion of quote (for administration purposes)
- Notification of events on quote.
Copyright © TM Forum 2019. All Rights Reserved
'
version: 4.0.0
servers:
- url: https://serverRoot/tmf-api/quoteManagement/v4/
tags:
- name: quote
paths:
/quote:
get:
operationId: listQuote
summary: List or find Quote objects
description: This operation list or find Quote entities
tags:
- quote
parameters:
- name: fields
description: Comma-separated properties to be provided in response
required: false
in: query
schema:
type: string
- name: offset
description: Requested index for start of resources to be provided in response
required: false
in: query
schema:
type: integer
- name: limit
description: Requested number of resources to be provided in response
required: false
in: query
schema:
type: integer
responses:
'200':
description: Success
headers:
X-Result-Count:
description: Actual number of items returned in the response body
schema:
type: integer
X-Total-Count:
description: Total number of items matching criteria
schema:
type: integer
content:
application/json;charset=utf-8:
schema:
type: array
items:
$ref: '#/components/schemas/Quote'
'400':
description: Bad Request
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not allowed
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
post:
operationId: createQuote
summary: Creates a Quote
description: This operation creates a Quote entity.
tags:
- quote
responses:
'200':
description: Success
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Quote'
'201':
description: Created
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Quote'
'400':
description: Bad Request
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not allowed
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
requestBody:
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Quote_Create'
description: The Quote to be created
required: true
/quote/{id}:
get:
operationId: retrieveQuote
summary: Retrieves a Quote by ID
description: This operation retrieves a Quote entity. Attribute selection is enabled for all first level attributes.
tags:
- quote
parameters:
- name: id
description: Identifier of the Quote
required: true
in: path
schema:
type: string
- name: fields
description: Comma-separated properties to provide in response
required: false
in: query
schema:
type: string
responses:
'200':
description: Success
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Quote'
'400':
description: Bad Request
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not allowed
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
patch:
operationId: patchQuote
summary: Updates partially a Quote
description: This operation updates partially a Quote entity.
tags:
- quote
parameters:
- name: id
description: Identifier of the Quote
required: true
in: path
schema:
type: string
responses:
'200':
description: Updated
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Quote'
'400':
description: Bad Request
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not allowed
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
requestBody:
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Quote_Update'
description: The Quote to be updated
required: true
delete:
operationId: deleteQuote
summary: Deletes a Quote
description: This operation deletes a Quote entity.
tags:
- quote
parameters:
- name: id
description: Identifier of the Quote
required: true
in: path
schema:
type: string
responses:
'204':
description: Deleted
'400':
description: Bad Request
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not allowed
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
Quantity:
type: object
description: An amount in a given unit
properties:
amount:
default: 1
type: number
format: float
description: Numeric value in a given unit
units:
type: string
description: Unit
ProductTerm:
type: object
description: Description of a productTerm linked to this product. This represent a commitment with a duration
properties:
description:
type: string
description: Description of the productTerm
name:
type: string
description: Name of the productTerm
duration:
$ref: '#/components/schemas/Quantity'
description: Duration of the productTerm
validFor:
$ref: '#/components/schemas/TimePeriod'
description: productTerm validity period
'@baseType':
type: string
description: When sub-classing, this defines the super-class
'@schemaLocation':
type: string
format: uri
description: A URI to a JSON-Schema file that defines additional attributes and relationships
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
ProductOfferingRef:
type: object
description: ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.
properties:
id:
type: string
description: Unique identifier of a related entity.
href:
type: string
description: Reference of the related entity.
name:
type: string
description: Name of the related entity.
'@baseType':
type: string
description: When sub-classing, this defines the super-class
'@schemaLocation':
type: string
format: uri
description: A URI to a JSON-Schema file that defines additional attributes and relationships
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
'@referredType':
type: string
description: The actual type of the target instance when needed for disambiguation.
required:
- id
Error:
description: Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
type: object
required:
- code
- reason
properties:
code:
type: string
description: Application relevant detail, defined in the API or a common list.
reason:
type: string
description: Explanation of the reason for the error which can be shown to a client user.
message:
type: string
description: More details and corrective actions related to the error which can be shown to a client user.
status:
type: string
description: HTTP Error code extension
referenceError:
type: string
format: uri
description: URI of documentation describing the error.
'@baseType':
type: string
description: When sub-classing, this defines the super-class.
'@schemaLocation':
type: string
format: uri
description: A URI to a JSON-Schema file that defines additional attributes and relationships
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name.
ProductSpecificationRef:
type: object
description: 'Product specification reference: A ProductSpecification is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.'
properties:
id:
type: string
description: Unique identifier of a related entity.
href:
type: string
description: Reference of the related entity.
name:
type: string
description: Name of the related entity.
version:
type: string
description: Version of the product specification
targetProductSchema:
$ref: '#/components/schemas/TargetProductSchema'
description: A target product schema reference. The reference object to the schema and type of target product which is described by product specification.
'@baseType':
type: string
description: When sub-classing, this defines the super-class
'@schemaLocation':
type: string
format: uri
description: A URI to a JSON-Schema file that defines additional attributes and relationships
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
'@referredType':
type: string
description: The actual type of the target instance when needed for disambiguation.
required:
- id
ProductRefOrValue:
type: object
description: A product to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the product entity and not the RelatedProductRefOrValue class itself
properties:
id:
type: string
description: Unique identifier of the product
href:
type: string
description: Reference of the product
description:
type: string
description: Is the description of the product. It could be copied from the description of the Product Offering.
isBundle:
type: boolean
description: If true, the product is a ProductBundle which is an instantiation of a BundledProductOffering. If false, the product is a ProductComponent which is an instantiation of a SimpleProductOffering.
isCustomerVisible:
type: boolean
description: If true, the product is visible by the customer.
name:
type: string
description: Name of the product. It could be the same as the name of the product offering
orderDate:
type: string
format: date-time
description: Is the date when the product was ordered
productSerialNumber:
type: string
description: Is the serial number for the product. This is typically applicable to tangible products e.g. Broadband Router.
startDate:
type: string
format: date-time
description: Is the date from which the product starts
terminationDate:
type: string
format: date-time
description: Is the date when the product was terminated
agreement:
type: array
items:
$ref: '#/components/schemas/AgreementItemRef'
billingAccount:
$ref: '#/components/schemas/BillingAccountRef'
place:
type: array
items:
$ref: '#/components/schemas/RelatedPlaceRefOrValue'
product:
type: array
items:
$ref: '#/components/schemas/ProductRefOrValue'
productCharacteristic:
type: array
items:
$ref: '#/components/schemas/Characteristic'
productOffering:
$ref: '#/components/schemas/ProductOfferingRef'
productOrderItem:
type: array
items:
$ref: '#/components/schemas/RelatedProductOrderItem'
productPrice:
type: array
items:
$ref: '#/components/schemas/ProductPrice'
productRelationship:
type: array
items:
$ref: '#/components/schemas/ProductRelationship'
productSpecification:
$ref: '#/components/schemas/ProductSpecificationRef'
productTerm:
type: array
items:
$ref: '#/components/schemas/ProductTerm'
realizingResource:
type: array
items:
$ref: '#/components/schemas/ResourceRef'
realizingService:
type: array
items:
$ref: '#/components/schemas/ServiceRef'
relatedParty:
type: array
items:
$ref: '#/components/schemas/RelatedParty'
status:
$ref: '#/components/schemas/ProductStatusType'
description: Is the lifecycle status of the product.
'@baseType':
type: string
description: When sub-classing, this defines the super-class
'@schemaLocation':
type: string
format: uri
description: A URI to a JSON-Schema file that defines additional attributes and relationships
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
'@referredType':
type: string
description: The actual type of the target instance when needed for disambiguation.
RelatedPlaceRefOrValue:
type: object
description: Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself
required:
- role
properties:
id:
type: string
description: Unique identifier of the place
href:
type: string
description: Unique reference of the place
name:
type: string
description: A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]
role:
type: string
'@baseType':
type: string
description: When sub-classing, this defines the super-class
'@schemaLocation':
type: string
format: uri
description: A URI to a JSON-Schema file that defines additional attributes and relationships
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
'@referredType':
type: string
description: The actual type of the target instance when needed for disambiguation.
TargetProductSchema:
type: object
description: The reference object to the schema and type of target product which is described by product specification
required:
- '@schemaLocation'
- '@type'
properties:
'@baseType':
type: string
description: When sub-classing, this defines the super-class
'@schemaLocation':
type: string
description: This field provides a link to the schema describing the target product
'@type':
type: string
description: Class type of the target product
Quote_Create:
type: object
description: 'Quote can be used to negotiate service and product acquisition or modification between a customer and a service provider. Quote contain list of quote items, a reference to customer (partyRole), a list of productOffering and attached prices and conditions.
Skipped properties: href,quoteDate,state,effectiveQuoteCompletionDate,quoteAuthorization,quoteTotalPrice,expectedQuoteCompletionDate,validFor'
required:
- quoteItem
properties:
id:
type: string
description: Unique identifier - attributed by quoting system
category:
type: string
description: Used to categorize the quote from a business perspective that can be useful for the CRM system (e.g. "enterprise", "residential", ...)
description:
type: string
description: Description of the quote
expectedFulfillmentStartDate:
type: string
format: date-time
description: this is the date wished by the requester to have the requested quote item delivered
externalId:
type: string
description: ID given by the consumer and only understandable by him (to facilitate his searches afterwards)
instantSyncQuote:
type: boolean
description: 'An indicator which when the value is "true" means that requester expects to get quoting result immediately in the response. If the indicator is true then the response code of 200 indicates the operation is successful otherwise a task is created with a response 201. '
requestedQuoteCompletionDate:
type: string
format: date-time
description: This is requested date - from quote requester - to get a complete response for this quote
version:
type: string
description: Quote version - if the customer rejected the quote but negotiations still open a new version of the quote is managed
agreement:
type: array
items:
$ref: '#/components/schemas/AgreementRef'
description: A reference to an agreement defining the context of the quote
authorization:
type: array
items:
$ref: '#/components/schemas/Authorization'
description: An authorization provided for the quote
billingAccount:
type: array
items:
$ref: '#/components/schemas/BillingAccountRef'
description: 'A reference to a billing account to provide quote context information '
contactMedium:
type: array
items:
$ref: '#/components/schemas/ContactMedium'
description: Information contact related to the quote requester
note:
type: array
items:
$ref: '#/components/schemas/Note'
description: Free form text associated with the quote
productOfferingQualification:
type: array
items:
$ref: '#/components/schemas/ProductOfferingQualificationRef'
description: A reference to a previously done product offering qualification
quoteItem:
type: array
items:
$ref: '#/components/schemas/QuoteItem'
minItems: 1
description: An item of the quote - it is used to descirbe an operation on a product to be quoted
relatedParty:
type: array
items:
$ref: '#/components/schemas/RelatedParty'
description: A reference to a party playing a role in this quote (customer, seller, requester, etc.)
'@baseType':
type: string
description: When sub-classing, this defines the super-class
'@schemaLocation':
type: string
format: uri
description: A URI to a JSON-Schema file that defines additional attributes and relationships
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
ProductStatusType:
type: string
description: Possible values for the status of the product
enum:
- created
- pendingActive
- cancelled
- active
- pendingTerminate
- terminated
- suspended
- 'aborted '
TimePeriod:
type: object
description: A period of time, either as a deadline (endDateTime only) a startDateTime only, or both
properties:
endDateTime:
type: string
format: date-time
description: End of the time period, using IETC-RFC-3339 format
startDateTime:
type: string
format: date-time
description: Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end
ProductOfferingQualificationItemRef:
type: object
description: It's a productOfferingQualification item that has been executed previously.
required:
- id
- productOfferingQualificationId
properties:
id:
type: string
description: Id of an item of a product offering qualification
href:
type: string
description: Reference of the related entity.
name:
type: string
description: Name of the related entity.
productOfferingQualificationHref:
type: string
description: Reference of the related entity.
productOfferingQualificationId:
type: string
description: Unique identifier of a related entity.
productOfferingQualificationName:
type: string
description: Name of the related entity.
'@baseType':
type: string
description: When sub-classing, this defines the super-class
'@schemaLocation':
type: string
format: uri
description: A URI to a JSON-Schema file that defines additional attributes and relationships
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
'@referredType':
type: string
description: The actual type of the target instance when needed for disambiguation.
Note:
type: object
description: Extra information about a given entity
required:
- text
- id
properties:
id:
type: string
description: Identifier of the note within its containing entity (may or may not be globally unique, depending on provider implementation)
author:
type: string
description: Author of the note
date:
type: string
format: date-time
description: Date of the note
text:
type: string
description: Text of the note
'@baseType':
type: string
description: When sub-classing, this defines the super-class
'@schemaLocation':
type: string
format: uri
description: A URI to a JSON-Schema file that defines additional attributes and relationships
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
AgreementItemRef:
type: object
description: Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.
properties:
id:
type: string
description: Unique identifier of a related entity.
href:
type: string
description: Reference of the related entity.
agreementItemId:
type: string
description: Identifier of the agreement
name:
type: string
description: Name of the related entity.
'@baseType':
type: string
description: When sub-classing, this defines the super-class
'@schemaLocation':
type: string
format: uri
description: A URI to a JSON-Schema file that defines additional attributes and relationships
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
'@referredType':
type: string
description: The actual type of the target instance when needed for disambiguation.
required:
- id
Price:
type: object
description: Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price Alteration.
properties:
percentage:
type: number
format: float
description: Percentage to apply for ProdOfferPriceAlteration
taxRate:
type: number
format: float
description: Tax rate
dutyFreeAmount:
$ref: '#/components/schemas/Money'
description: All taxes excluded amount (expressed in the given currency)
taxIncludedAmount:
$ref: '#/components/schemas/Money'
description: All taxes included amount (expresse
# --- truncated at 32 KB (69 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tm-forum/refs/heads/main/openapi/tm-forum-quote-api-openapi.yml