MEF

MEF Product Specification API

The productSpecification API from MEF — 2 operation(s) for productspecification.

Operations 2

GET /productSpecification List or find ProductSpecification objects #
GET /productSpecification/{id} Retrieves a ProductSpecification by ID #

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/mef-productspecification-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 Specification

mef-productspecification-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Mef Product Specification API
  version: 4.0.1
  description: 'Operations tagged productSpecification across 2 of this provider''s published API definitions: mef-lso-cantata-product-catalog-openapi.yml, mef-lso-sonata-product-catalog-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: http://{serverBase}/mefApi/cantata/productCatalog/v4/
  variables:
    serverBase:
      description: The base of Buyer's URL.
      default: mplify.net
- url: http://{serverBase}/mefApi/sonata/productCatalog/v4/
  variables:
    serverBase:
      description: The base of Buyer's URL.
      default: mplify.net
tags:
- name: productSpecification
paths:
  /productSpecification:
    get:
      tags:
      - productSpecification
      summary: List or find ProductSpecification objects
      description: This operation list or find ProductSpecification entities
      operationId: listProductSpecification
      parameters:
      - name: name
        in: query
        description: The name of the Product Specification (may not be unique)
        required: false
        schema:
          type: string
      - name: lifecycleStatus
        in: query
        description: Lifecycle Status of the Product Specification
        required: false
        schema:
          type: string
          enum:
          - obsolete
          - published
      - name: lastUpdate.gt
        in: query
        description: The date and time the Product Specification was created or most recently updated, greater than
        required: false
        schema:
          type: string
          format: date-time
      - name: lastUpdate.lt
        in: query
        description: The date and time the Product Specification was created or most recently updated, less than
        required: false
        schema:
          type: string
          format: date-time
      - name: agreement
        in: query
        description: The name of the Seller's standard offer arrangement (such as a framework agreement). The name is unique within the Seller domain. This should be the name of the Seller's standard offer arrangement or framework agreement for the Product Specification.
        required: false
        schema:
          type: string
      - name: buyerId
        in: query
        description: The unique identifier of the organization that is acting as a 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 the start of an item to be provided in response requested by the client. Note that the index starts with "0".
        required: false
        schema:
          type: integer
          format: int32
      - name: limit
        in: query
        description: Requested number of items to be provided in response requested by client
        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 the 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 items. E.g. if there are 50 matching items 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 items included in the response
              schema:
                type: integer
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProductSpecification_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':
          content:
            application/json;charset=utf-8:
              schema:
                items:
                  $ref: '#/components/schemas/Error422'
                type: array
          description: Unprocessable entity due to the business validation problems
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
    servers:
    - url: http://{serverBase}/mefApi/cantata/productCatalog/v4/
      variables:
        serverBase:
          description: The base of Buyer's URL.
          default: mplify.net
  /productSpecification/{id}:
    get:
      tags:
      - productSpecification
      summary: Retrieves a ProductSpecification by ID
      description: This operation retrieves a ProductSpecification entity. Attribute selection is enabled for all first level attributes.
      operationId: retrieveProductSpecification
      parameters:
      - name: id
        in: path
        description: Identifier of the ProductSpecification
        required: true
        schema:
          type: string
      - name: buyerId
        in: query
        description: The unique identifier of the organization that is acting as a 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 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/ProductSpecification'
        '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: http://{serverBase}/mefApi/cantata/productCatalog/v4/
      variables:
        serverBase:
          description: The base of Buyer's URL.
          default: mplify.net
components:
  schemas:
    PlaceRelationshipConstraint:
      description: Allows definition and constraining of PlaceRelationship that can be specified for the ordered Product.
      type: object
      properties:
        relationshipRole:
          description: Specifies the nature of the relationship between the Product Offering and Place. This must be one of the roles as defined in the related Product Specification. For example, `INSTALL_LOCATION`.
          type: string
        isModifiable:
          description: Specifies if the Place Relationship can be modified on an active Product.
          type: boolean
        minCardinality:
          description: The minimum required number of PlaceRelationships of given relationshipRole that must configured for ordered Product. For example, as specified in the 'Relationship Between Entities' Section of MEF 106. `0` means the relation is optional.
          type: integer
          minimum: 0
        maxCardinality:
          description: The maximum required number of PlaceRelationships of given relationshipRole that must configured for ordered Product. For example, as specified in the 'Relationship Between Entities' Section of MEF 106. `-1` stands for infinity i.e. any number of instances of the given type could be related to the considered instance.
          type: integer
          minimum: -1
      required:
      - isModifiable
      - maxCardinality
      - minCardinality
      - relationshipRole
    ProductRelationshipConstraint:
      description: Allows definition and constraining of Product Relationship that can be specified for the ordered Product.
      type: object
      properties:
        productSpecification:
          description: The identifier of the associated Product Specification to define the allowable target Product types
          type: string
        relationshipType:
          description: Specifies the nature of productRelationship between Products. This must be one of the relationshipTypes as defined by the main product specification.
          type: string
        isModifiable:
          description: Specifies if the Product Relationship can be modified on an active Product.
          type: boolean
        minCardinality:
          description: The minimum required number of ProductRelationships (of given relationshipType and target productSpecification) that must configured for ordered Product. For example, as specified in the 'Relationship Between Entities' Section of MEF 106. `0` means the relation is optional.
          type: integer
          minimum: 0
        maxCardinality:
          description: The maximum required number of ProductRelationships (of given relationshipType and target productSpecification) that must configured for ordered Product. `-1` stands for infinity i.e. any number of instances of the given type could be related to the considered instance.
          type: integer
          minimum: -1
      required:
      - productSpecification
      - relationshipType
      - isModifiable
      - minCardinality
      - maxCardinality
    Note:
      description: Extra information about a given entity. Only useful in processes involving human interaction. Not applicable for the automated process.
      type: object
      properties:
        author:
          description: Author of the note
          type: string
        date:
          description: Date the Note was created
          type: string
          format: date-time
        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
    ProductSpecificationLifecycleStatusType:
      description: '| Name         | Mplify 127.1 Name | Description                                                                                                                                                                                                                                                                                                                                                                                                  |

        | ------------ | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

        | obsolete     | OBSOLETE          | The Product Specification is only available in the Product Catalog for historical documentation reasons. There are no active Products on the Seller''s Network based on the Product Specification. A Product Specification that is no longer available transitions to `obsolete` and may be removed at the Seller''s discretion from the Product Catalog. This is a final state. |

        | published    | PUBLISHED         | A Product Specification has been defined in the Product Catalog. Product Offerings based on the Product Specification may be available for ordering.                                                                                                                                                                                                                                                         |

        '
      type: string
      enum:
      - obsolete
      - published
    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
    ProductSpecification_Common:
      description: Is the basis for all Production Specification representations.
      type: object
      properties:
        id:
          description: Unique identifier for the Product Specification. For Mplify standardized products, this should be the Mplify assigned URN.
          type: string
        href:
          description: Reference of the Product Specification
          type: string
          format: uri
        name:
          description: Name of the Product Specification
          type: string
        lifecycleStatus:
          description: The current lifecycle status of the Product Specification.
          $ref: '#/components/schemas/ProductSpecificationLifecycleStatusType'
        lastUpdate:
          description: The date and time of an attribute within this Product Specification was created or most recently updated.
          type: string
          format: date-time
        agreement:
          description: The name of the Seller's standard offer arrangement (such as a framework agreement). The name is unique within the Seller domain. This should be the name of the Seller's standard offer arrangement or framework agreement for the Product Specification.
          type: string
    DataSizeUnit:
      description: The unit of measure in the data size.
      type: string
      enum:
      - BYTES
      - KBYTES
      - MBYTES
      - GBYTES
      - TBYTES
      - PBYTES
      - EBYTES
      - ZBYTES
      - YBYTES
    SchemaRefOrValue:
      description: Reference to the JSON schema location or the exact value of the JSON schema. **Note:** One of the properties must be provided i.e. schemaLocation or schema.
      type: object
      properties:
        schema:
          description: Raw JSON schema value.
          type: string
        schemaLocation:
          description: This field provides a link to the schema describing the target product
          type: string
          format: uri
    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:
          code:
            description: 'The following error code:

              - internalError: Internal server error - the server encountered an unexpected condition that prevented it from fulfilling the request.'
            type: string
            enum:
            - internalError
        required:
        - code
    Error400Code:
      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'
      type: string
      enum:
      - missingQueryParameter
      - missingQueryValue
      - invalidQuery
      - invalidBody
    AttachmentValue:
      description: Complements the description of an element (for instance a product) through video, pictures...
      type: object
      properties:
        author:
          description: The name of the person or organization who added the Attachment.
          type: string
        creationDate:
          description: The date the Attachment was added.
          type: string
          format: date-time
        description:
          description: A narrative text describing the content of the attachment
          type: string
        mimeType:
          description: Attachment mime type such as extension file for video, picture and document
          type: string
        name:
          description: The name of the attachment
          type: string
        size:
          description: The size of the attachment.
          $ref: '#/components/schemas/MEFByteSize'
        source:
          description: Indicates if the attachment was added by the Buyer or the Seller.
          $ref: '#/components/schemas/MEFBuyerSellerType'
        url:
          description: URL where the attachment is located.
          type: string
      required:
      - author
      - creationDate
      - name
      - source
      - url
    MEFByteSize:
      description: A size represented by value and Byte units
      type: object
      properties:
        amount:
          description: Numeric value in a given unit
          type: number
          format: float
        units:
          description: Byte Unit
          $ref: '#/components/schemas/DataSizeUnit'
      required:
      - amount
      - units
    MEFBuyerSellerType:
      description: An enumeration with buyer and seller values.
      type: string
      enum:
      - buyer
      - seller
    Error401:
      description: Unauthorized.  (https://tools.ietf.org/html/rfc7235#section-3.1)
      allOf:
      - $ref: '#/components/schemas/Error'
      - type: object
        properties:
          code:
            description: 'One of the following error codes:

              - missingCredentials: No credentials provided.

              - invalidCredentials: Provided credentials are invalid or expired'
            $ref: '#/components/schemas/Error401Code'
        required:
        - code
    ProductSpecification:
      allOf:
      - $ref: '#/components/schemas/ProductSpecification_Common'
      - description: 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:
          description:
            description: Description of the Product Specification.
            type: string
          attachment:
            description: 'Complements the Product Offering description with presentation, video, pictures, etc. Note: The Seller should include all documents describing the Standard Framework Agreement as an Attachment.'
            type: array
            items:
              $ref: '#/components/schemas/AttachmentValue'
          productRelationship:
            description: Specifies the relationships with their names between Products described by related Product Specifications. As an example, an Access E-Line OVC references an Operator UNI and an ENNI Product Specification.
            type: array
            items:
              $ref: '#/components/schemas/ProductRelationshipConstraint'
          placeRelationship:
            description: Specifies the relationships with their names between Product described by this Product Specifications and Place(s).
            type: array
            items:
              $ref: '#/components/schemas/PlaceRelationshipConstraint'
          milestone:
            description: Specifies the different milestones during the fulfillment process
            type: array
            items:
              $ref: '#/components/schemas/ProductMilestoneDefinition'
          note:
            description: 'A set of comments for additional information.

              '
            type: array
            items:
              $ref: '#/components/schemas/Note'
          sourceSchema:
            description: A reference to or value of the schemaProduct Schema as included in the Product Specification.
            $ref: '#/components/schemas/SchemaRefOrValue'
        required:
        - id
        - lastUpdate
        - lifecycleStatus
        - name
        - sourceSchema
        - description
    ProductMilestoneDefinition:
      description: Allows specifying the different stages of the Product provisioning process.
      type: object
      properties:
        name:
          description: The unique identifier of the milestone (as specified e.g. in the corresponding MEF Product Specification).
          type: string
        description:
          description: The explanation of what the milestone represents and when it occurs.
          type: string
      required:
      - description
      - name
    ProductSpecification_Find:
      allOf:
      - $ref: '#/components/schemas/ProductSpecification_Common'
      - description: Is a lightweight version of the Product Specification object used in Get List use case.
        required:
        - id
        - lastUpdate
        - lifecycleStatus
        - name
    Error:
      description: 'Standard Class used to describe API response error Not intended to be used directly. The `code` in the HTTP header is used as a discriminator for the type of error returned in runtime.

        '
      type: object
      properties:
        reason:
          description: Text that explains the reason for the error. This can be shown to a client user.
          type: string
          maxLength: 255
        message:
          description: Text that provides mode details and corrective actions related to the error. This can be shown to a client user.
          type: string
        referenceError:
          description: URL pointing to documentation describing the error
          type: string
          format: uri
      required:
      - reason
    Error422:
      allOf:
      - $ref: '#/components/schemas/Error'
      - properties:
          code:
            $ref: '#/components/schemas/Error422Code'
            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"
          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
        required:
        - code
        type: object
      description: Unprocessable entity due to a business validation problem. (https://tools.ietf.org/html/rfc4918#section-11.2)
    Error422Code:
      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"
      enum:
      - missingProperty
      - invalidValue
      - invalidFormat
      - referenceNotFound
      - unexpectedProperty
      - tooManyRecords
      - otherIssue
      type: string
    Error404:
      description: Resource for the requested path not found. (https://tools.ietf.org/html/rfc7231#section-6.5.4)
      allOf:
      - $ref: '#/components/schemas/Error'
      - type: object
        properties:
          code:
            description: 'The following error code:

              - notFound: A current representation for the target resource not found'
            type: string
            enum:
            - notFound
        required:
        - code
    Error403:
      description: Forbidden. This code indicates that the server understood the request but refuses to authorize it. (https://tools.ietf.org/html/rfc7231#section-6.5.3)
      allOf:
      - $ref: '#/components/schemas/Error'
      - type: object
        properties:
          code:
            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'
            $ref: '#/components/schemas/Error403Code'
        required:
        - code
x-refined-from:
- mef-lso-cantata-product-catalog-openapi.yml
- mef-lso-sonata-product-catalog-openapi.yml