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/mef-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 email required.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Mef Quote API
version: '1.0'
description: 'Operations tagged quote across 2 of this provider''s published API definitions: mef-lso-cantata-quote-management-openapi.yml, mef-lso-sonata-quote-management-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://{serverBase}/mefApi/cantata/quoteManagement/v4/
variables:
serverBase:
description: The base of Seller's URL.
default: mplify.net
- url: https://{serverBase}/mefApi/sonata/quoteManagement/v10/
variables:
serverBase:
description: The base of Seller's URL.
default: mplify.net
tags:
- name: quote
paths:
/quote:
get:
tags:
- quote
summary: List or find Quote objects
description: The Buyer requests a list of Quotes from the Seller based on a set of filter criteria (as described in MEF 80). For each Quote returned, the Seller also provides a Quote Identifier that uniquely identifies this Quote within the Seller. The order of the elements returned to the Buyer is defined by the Seller (e.g. natural order) and does not change between the pages.
operationId: listQuote
parameters:
- name: state
in: query
description: State of the Quote to be retrieved. See `MEFQuoteStateType` definition for details
required: false
schema:
$ref: '#/components/schemas/MEFQuoteStateType'
- name: quoteLevel
in: query
description: Level of the quote - could be budgetary, firmSubjectToFeasibilityCheck, firm
required: false
schema:
$ref: '#/components/schemas/MEFSellerQuoteLevel'
- name: externalId
in: query
description: ID given by the consumer and only understandable by him (to facilitate his searches afterward)
required: false
schema:
type: string
- name: projectId
in: query
description: An identifier that is used to group Quotes that represent a unit of functionality that is important to a Buyer. A Project can be used to relate multiple Quotes together
required: false
schema:
type: string
- name: quoteDate.gt
in: query
description: Date when the quote was created - greater than
required: false
schema:
type: string
format: date-time
- name: quoteDate.lt
in: query
description: Date when the quote was created - lower than
required: false
schema:
type: string
format: date-time
- name: requestedQuoteCompletionDate.gt
in: query
description: Requested Quote Completion Date - greater than
required: false
schema:
type: string
format: date-time
- name: requestedQuoteCompletionDate.lt
in: query
description: Requested Quote Completion Date - lower than
required: false
schema:
type: string
format: date-time
- name: expectedQuoteCompletionDate.gt
in: query
description: Expected Quote Completion Date - greater than
required: false
schema:
type: string
format: date-time
- name: expectedQuoteCompletionDate.lt
in: query
description: Expected Quote Completion Date - lower than
required: false
schema:
type: string
format: date-time
- name: effectiveQuoteCompletionDate.gt
in: query
description: Date when the Quote State was set to one of the Completion States - greater than
required: false
schema:
type: string
format: date-time
- name: effectiveQuoteCompletionDate.lt
in: query
description: Date when the Quote State was set to one of the Completion States - lower than
required: false
schema:
type: string
format: date-time
- name: buyerId
in: query
description: The unique identifier of the organization that is acting as the Buyer. MUST be specified in the request only when the requester represents more than one Buyer.
required: false
schema:
type: string
- name: sellerId
in: query
description: The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when the responding entity represents more than one Seller.
required: false
schema:
type: string
- name: offset
in: query
description: Requested index for start of resources to be provided in response
required: false
schema:
type: integer
- name: limit
in: query
description: Requested number of resources to be provided in response
required: false
schema:
type: integer
format: int32
responses:
'200':
description: OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)
headers:
X-Pagination-Throttled:
description: 'Used to indicate that result page was throttled to maximum possible size and there are additional results that can be fetched
'
schema:
type: boolean
X-Total-Count:
description: 'The total number of matching records. E.g. if there are 50 matching records in total, but the request has offset=10 and limit=10, then the X-Total-Count is 50.
'
schema:
type: integer
X-Result-Count:
description: The number of records included in the response
schema:
type: integer
content:
application/json;charset=utf-8:
schema:
type: array
items:
$ref: '#/components/schemas/Quote_Find'
'400':
description: Bad Request
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
'401':
description: Unauthorized
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
'403':
description: Forbidden
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
'422':
description: Unprocessable entity due to business validation problems
content:
application/json;charset=utf-8:
schema:
type: array
items:
$ref: '#/components/schemas/Error422'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
'501':
description: Method not implemented. Used in case Seller is not supporting Notification mechanism
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error501'
post:
tags:
- quote
summary: Send request to perform a quotation
description: This operation creates a Quote entity.
operationId: createQuote
parameters:
- name: buyerId
in: query
description: The unique identifier of the organization that is acting as the Buyer. MUST be specified in the request only when the requester represents more than one Buyer.
required: false
schema:
type: string
- name: sellerId
in: query
description: The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when the responding entity represents more than one Seller.
required: false
schema:
type: string
requestBody:
description: The Quote to be created
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Quote_Create'
required: true
responses:
'201':
description: Created (https://tools.ietf.org/html/rfc7231#section-6.3.2)
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/Error400'
'401':
description: Unauthorized
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
'403':
description: Forbidden
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
'422':
description: Unprocessable entity due to the business validation problems in the Quote or one of the Quote items
content:
application/json;charset=utf-8:
schema:
type: array
items:
$ref: '#/components/schemas/Error422'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
servers:
- url: https://{serverBase}/mefApi/cantata/quoteManagement/v4/
variables:
serverBase:
description: The base of Seller's URL.
default: mplify.net
/quote/{id}:
get:
tags:
- quote
summary: Retrieves a Quote by ID
description: This operation retrieves a Quote entity. Attribute selection is enabled for all first level attributes.
operationId: retrieveQuote
parameters:
- name: id
in: path
description: Identifier of the Quote
required: true
schema:
type: string
- name: buyerId
in: query
description: The unique identifier of the organization that is acting as the Buyer. MUST be specified in the request only when the requester represents more than one Buyer.
required: false
schema:
type: string
- name: sellerId
in: query
description: The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when the responding entity represents more than one Seller.
required: false
schema:
type: string
responses:
'200':
description: OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)
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/Error400'
'401':
description: Unauthorized
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
'403':
description: Forbidden
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
'404':
description: Not Found
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error404'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
servers:
- url: https://{serverBase}/mefApi/cantata/quoteManagement/v4/
variables:
serverBase:
description: The base of Seller's URL.
default: mplify.net
components:
schemas:
RelatedPlaceRefOrQueryWithSubUnit:
description: Allows pointing to a place by referring a GeographicAddress, GeographicSite, or providing GeographicAddress by value. It also provides additional information like the `role` the place plays for given Product, `subUnit` to provide more detailed information about the precise location of the installation and `contact` needed access to this place.
type: object
properties:
place:
$ref: '#/components/schemas/PlaceRefOrQuery'
role:
description: Role of this place. The values that can be specified here are described by Product Specification (e.g. "INSTALL_LOCATION").
type: string
subUnit:
description: A list of zero or more sub units included within the boundary of the `place` for this POQ Item. This is a list to allow complex sub-unit information such as SUITE 42 ROOM A
type: array
items:
$ref: '#/components/schemas/SubUnit'
contact:
description: The person to call to get access to this place in case such access is required to complete the evaluation of this POQ Item.
type: array
items:
$ref: '#/components/schemas/ContactInformation'
required:
- place
- role
TimeUnit:
description: 'Represents a unit of time.
'
type: string
enum:
- seconds
- minutes
- businessHours
- calendarHours
- businessDays
- calendarDays
- months
- years
ProductRelationship:
description: A relationship to an existing Product. The requirements for usage for given Product are described in the Product Specification. When the Buyer provides multiple ProductRelationships of same relationshipType the Seller determines if a list is supported as defined in the Product Specification.
type: object
properties:
href:
description: Hyperlink to the product in Seller's inventory that is referenced Hyperlink MAY be used when providing a response by the Seller Hyperlink MUST be ignored by the Seller in case it is provided by the Buyer in a request
type: string
id:
description: unique identifier of the related Product
type: string
relationshipType:
description: 'Specifies the type (nature) of the relationship to the related Product. The nature of required relationships varies for Products of different types. For example, a UNI or ENNI Product may not have any relationships, but an Access E-Line may have two mandatory relationships (related to the UNI on one end and the ENNI on the other). More complex Products such as multipoint IP or Firewall Products may have more complex relationships. As a result, the allowed and mandatory `relationshipType` values are defined in the Product Specification.
'
type: string
required:
- id
- relationshipType
MEFQuoteStateChange:
description: Holds the reached state, reasons, and associated date the Quote state changed, populated by the Seller.
type: object
properties:
changeReason:
description: Additional comment related to state change
type: string
changeDate:
description: The date when the state was reached
type: string
format: date-time
state:
description: The state reached at the change date
$ref: '#/components/schemas/MEFQuoteStateType'
required:
- changeDate
- state
Note:
description: Extra information about a given entity. Only useful in processes involving human interaction. Not applicable for the automated process.
type: object
properties:
date:
description: Date of the note
type: string
format: date-time
author:
description: Author of the note
type: string
id:
description: Identifier of the note within its containing entity (may or may not be globally unique, depending on provider implementation)
type: string
source:
description: Indicates if the note is from Buyer or Seller
$ref: '#/components/schemas/MEFBuyerSellerType'
text:
description: Text of the note
type: string
required:
- author
- date
- id
- source
- text
ContactInformation:
description: Contact data for a person or organization that is involved in the product offering qualification. In a given context it is always specified by the Seller (e.g. Seller Contact Information) or by the Buyer.
type: object
properties:
number:
description: Phone number
type: string
emailAddress:
description: Email address
type: string
postalAddress:
description: Identifies the postal address of the person or office to be contacted.
$ref: '#/components/schemas/FieldedAddressRepresentation'
organization:
description: The organization or company that the contact belongs to
type: string
name:
description: Name of the contact
type: string
numberExtension:
description: Phone number extension
type: string
required:
- emailAddress
- name
- number
PlaceRefOrQuery:
description: A place described by reference to Geographic Address, Geographic Site or by Geographic Address Representations.
type: object
discriminator:
propertyName: '@type'
mapping:
GeographicAddressRef: '#/components/schemas/GeographicAddressRef'
GeographicSiteRef: '#/components/schemas/GeographicSiteRef'
GeographicAddress_Query: '#/components/schemas/GeographicAddress_Query'
oneOf:
- $ref: '#/components/schemas/GeographicAddressRef'
- $ref: '#/components/schemas/GeographicSiteRef'
- $ref: '#/components/schemas/GeographicAddress_Query'
GeographicAddressRef:
description: 'A reference to a Geographic Address resource available through Address Validation API.
'
type: object
properties:
href:
description: 'Hyperlink to the referenced Address. Hyperlink MAY be used by the Seller in responses. Hyperlink MUST be ignored by the Seller in case it is provided by the Buyer in a request.
'
type: string
id:
description: Identifier of the referenced Geographic Address. This identifier is assigned during a successful address validation request (Geographic Address Management API)
type: string
'@type':
description: Used to unambiguously designate the class type when using `oneOf`
type: string
enum:
- GeographicAddressRef
required:
- '@type'
- id
Duration:
description: A Duration in a given unit of time e.g. 3 hours, or 5 days.
type: object
properties:
amount:
description: Duration (number of seconds, minutes, hours, etc.)
type: integer
minimum: 0
units:
description: Time unit enumerated
$ref: '#/components/schemas/TimeUnit'
required:
- amount
- units
TerminationError:
description: This indicates an error that caused an Item to be terminated. The code and propertyPath should be used like in Error422.
type: object
properties:
code:
description: "One of the following error codes:\n - missingProperty: The property the Seller has expected is not present in the payload\n - invalidValue: The property has an incorrect value\n - invalidFormat: The property value does not comply with the expected value format\n - referenceNotFound: The object referenced by the property cannot be identified in the Seller system\n - unexpectedProperty: Additional property, not expected by the Seller has been provided\n - tooManyRecords: the number of records to be provided in the response exceeds the Seller's threshold.\n - otherIssue: Other problem was identified (detailed information provided in a reason)\n"
$ref: '#/components/schemas/Error422Code'
propertyPath:
description: 'A pointer to a particular property of the payload that caused the validation issue. It is highly recommended that this property should be used.
Defined using JavaScript Object Notation (JSON) Pointer (https://tools.ietf.org/html/rfc6901).
'
type: string
value:
description: Text to describe the reason of the termination.
type: string
Error403Code:
description: 'This code indicates that the server understood
the request but refuses to authorize it because
of one of the following error codes:
- accessDenied: Access denied
- forbiddenRequester: Forbidden requester
- tooManyUsers: Too many users'
type: string
enum:
- accessDenied
- forbiddenRequester
- tooManyUsers
MEFBuyerQuoteLevel:
description: An indication of whether the Buyer's Quote Request is for a Budgetary or Firm Quote Level. Set by the Buyer. Buyer Requested Quote Level contains the possible values and may be set by the Buyer on the Request. All Quote Items in a Quote have the same Quote Level.
type: string
enum:
- budgetary
- firm
MEFQuoteItem_Create:
allOf:
- $ref: '#/components/schemas/MEFQuoteItem_Common'
- description: A quote item describes an action to be performed on a productOffering or a product in order to get pricing elements and condition. The modeling pattern introduces the `MEFQuoteItem_Common` supertype to aggregate attributes that are common to both `QuoteItem` and `MEFQuoteItem_Create`. In this case the create type has a subset of attributes of the response type and does not introduce any new, thus the `MEFQuoteItem_Create` type has an empty definition.
type: object
MEFProductConfiguration:
description: MEFProductConfiguration is used as an extension point for MEF specific product/service payload. The `@type` attribute is used as a discriminator
type: object
properties:
'@type':
description: The name of the type that uniquely identifies the type of the product that is the subject of the POQ Request. In the case of the Mplify product, this is the URN provided in the Product Specification.
type: string
required:
- '@type'
discriminator:
propertyName: '@type'
QuoteItemRelationship:
description: Used to describe the relationship between quote items. These relationships could have an impact on pricing and conditions
type: object
properties:
relationshipType:
description: Relationship type as relies on, bundles, etc... Specifies the nature of the relationship to the related Quote Items. The nature of required relationships varies for Products of different types. For example, a UNI or ENNI Product may not have any relationships, but an Access E-Line may have two mandatory relationships (related to the UNI on one end and the ENNI on the other). More complex Products such as multipoint IP or Firewall Products may have more complex relationships. As a result, the allowed and mandatory Relationship Nature values are defined in the Product Specification.
type: string
id:
description: ID of the related quote item (must be in the same quote)
type: string
required:
- id
- relationshipType
LabelRepresentation:
description: A unique identifier controlled by a generally accepted independent administrative authority that specifies a fixed geographical location.
type: object
properties:
label:
description: The unique reference to an Geographic Address assigned by the Administrative Authority.
type: string
administrativeAuthority:
description: The organization or standard from the organization that administers this Geographic Address Label ensuring it is unique within the Administrative Authority.
type: string
language:
description: The language in which the label is expressed. Based on ISO 639:2023
type: string
minLength: 2
maxLength: 2
required:
- administrativeAuthority
- label
ProductOfferingQualificationItemRef:
description: It's a productOfferingQualification item that has been executed previously.
type: object
properties:
productOfferingQualificationId:
description: Unique identifier of related Product Offering Qualification.
type: string
alternateProductOfferingProposalId:
description: A unique identifier for the Alternate Product Offeering Proposal assigned by the Seller, if the referenced product offering qualification comes from an alternate proposal.
type: string
productOfferingQualificationHref:
description: Reference of the related Product Offering Qualification.
type: string
id:
description: Id of an item of a product offering qualification
type: string
required:
- id
- productOfferingQualificationId
MEFSellerQuoteLevel:
description: An indication of whether the Seller's Quote Response is Budgetary, Firm - Subject to Feasibility Check, or Firm. The Seller Quote Level is provided by the Seller when responding to a Quote request. This represents the lowest Quote Item Level of all Quote Items included in the Quote.
type: string
enum:
- budgetary
- firmSubjectToFeasibilityCheck
- firm
FieldedAddressRepresentation:
description: A type of Address that has a discrete field and value for each type of boundary or identifier down to the lowest level of detail. For example "street number" is one field, "street name" is another field, etc.
type: object
properties:
streetNr:
description: Number identifying a specific property on a public street. It may be combined with streetNrLast for ranged addresses.
type: string
streetNrSuffix:
description: The first street number suffix (in a street number range) or the suffix for the street number if there is no range
type: string
streetNrLast:
description: Last number in a range of street numbers allocated to an Address
type: string
streetNrLastSuffix:
description: Last street number suffix for a ranged Address
type: string
streetPreDirection:
description: The direction of the street that appears before the Street Name
type: string
streetName:
description: Name of the street or other street type
type: string
streetType:
description: The type of street (e.g., alley, avenue, boulevard, brae, crescent, drive, highway, lane, terrace, parade, place, tarn, way, wharf)
type: string
streetPostDirection:
description: A modifier denoting a relative direction that appears after the Street Name.
type: string
poBox:
description: Number identifying a specific location in a post office.
type: string
locality:
description: An area of defined or undefined boundaries within a local authority or other legislatively defined area.
type: string
city:
description: City in which the Address is located.
type: string
postcode:
description: A descriptor for a postal delivery area used to speed and simplify the delivery of mail (also known as zip code)
type: string
postcodeExtension:
description: 'The extension used on a postal code. Note: there are different use codes for this attribute depending upon the country.'
type: string
stateOrProvince:
description: The State or Province in which the Address is located.
type: string
countryCode:
description: Country in which the Address is located, defined using two characters as defined in ISO 3166
type: string
minLength: 2
maxLength: 2
subUnit:
description: The Sub Unit represented as a list. This is a list to allow complex sub-unit information such as SUITE 42 ROOM A
type: array
items:
$ref: '#/components/schemas/SubUnit'
buildingName:
description: 'The well-known name of a building that is located at this Address (e.g., where there is one Address for a campus).
'
type: string
privateStreetNumber:
description: Street number on a private street within the Address.
type: string
privateStreetName:
description: Private streets internal to a property (e.g., a university) may have internal names that are not recorded by the land title office.
type: string
language:
description: The language in which the address is expressed. It MUST use the ISO 639:2023 two letter code 639:2023
type: string
minLength: 2
maxLength: 2
MEFProductRefOrValueQuote:
description: One or more services sold to a Buyer by a Seller. A particular Product Offering defines the technical and commercial attributes and behaviors of a Product.
type: object
properties:
id:
description: 'The unique identifier of an in-service Product that is the quotation''s subject. This field MUST be populated if an item `action` is either `modify` or `delete`. This field MUST NOT be populated if an item `action` is `add`.
'
type: string
href:
description: 'Hyperlink to the product in Seller''s inventory that is the quotation''s subject. Hyperlink MAY be used when providing a response by the Seller. Hyperlink MUST be ignored by the Seller in case it is provided by the Buyer in a request
'
type: string
place:
description: A list of places that are related to the Product. For example an installation location
type: array
items:
$ref: '#/components/schemas/RelatedPlaceRefOrQueryWithSubUnit'
productConfiguration:
description: Technical attributes for the Product that would be delivered to fulfill the Quote Item.
$ref: '#/components/schemas/MEFProductConfiguration'
productOffering:
description: A particular Product Offering defines the technical and commercial attributes and behaviors of a Product.
$ref: '#/components/schemas/ProductOfferingRef'
productRelationship:
description: A list of references to existing products that are related to the Product that would be delivered to fulfill the Quote Item
type: array
items:
$ref: '#/components/schemas/ProductRelationship'
Error401Code:
description: 'One of the following error codes:
- missingCredentials: No credentials provided.
- invalidCredentials: Provided credentials are invalid or expired'
type: string
enum:
- missingCredentials
- invalidCredentials
Error400:
description: Bad Request. (https://tools.ietf.org/html/rfc7231#section-6.5.1)
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
code:
description: 'One of the following error codes:
- missingQueryParameter: The URI is missing a required query-string parameter
- missingQueryValue: The URI is missing a required query-string parameter value
- invalidQuery: The query section of the URI is invalid.
- invalidBody: The request has an invalid body'
$ref: '#/components/schemas/Error400Code'
required:
- code
Error500:
description: Internal Server Error. (https://tools.ietf.org/html/rfc7231#section-6.6.1)
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
c
# --- truncated at 32 KB (64 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mef/refs/heads/main/openapi/mef-quote-api-openapi.yml