M2M Product and Service Catalog API

    API Reference

    M2M Product and Service Catalog API 1.0

    Base URL: https://catalog.msp2mvp.com/api/v1/

    All responses are returned in application/json.

    1. Service Catalog

    The Service Catalog is vendor-neutral and product-agnostic. It defines the standardized MSP service structure.

    1.1 Get All Service Categories

    GET/services/categories

    Returns the top-level service categories.

    Response Example

    [
      {
        "id": "CAT-001",
        "name": "Endpoint & Patch Management",
        "description": "Services related to endpoint lifecycle..."
      }
    ]

    1.2 Get All Service Subcategories

    GET/services/subcategories

    Returns all service subcategories.

    Response Example

    [
      {
        "id": "SUB-014",
        "name": "Operating System Patch Management",
        "categoryId": "CAT-001"
      }
    ]

    1.3 Get All Service Line Items

    GET/services/line-items

    Returns all 125 standardized service line items.

    Response Example

    [
      {
        "id": "SLI-089",
        "name": "Third-Party Application Patch Management",
        "categoryId": "CAT-001",
        "subcategoryId": "SUB-014",
        "description": "Structured patching of third-party applications...",
        "painPoints": "Unpatched applications increase security risk...",
        "businessValue": "Reduces attack surface and improves compliance...",
        "idealCustomerProfile": "Organizations with distributed endpoints...",
        "benefits": "Lower risk, improved uptime, standardized patch process."
      }
    ]

    1.4 Get Single Service Line Item

    GET/services/line-items/{id}

    Returns a specific service line item by ID.

    2. Vendor Catalog

    The Vendor Catalog contains structured vendor metadata.

    2.1 Get All Vendors

    GET/vendors

    Returns all vendors in the catalog.

    Response Example

    [
      {
        "id": "V-1023",
        "vendor_name": "Example Vendor",
        "vendor_url": "https://www.example.com",
        "description_long": "Example Vendor is a cybersecurity software company...",
        "description_medium": "Cybersecurity vendor providing endpoint and network protection.",
        "description_short": "Example Vendor provides endpoint and network security software."
      }
    ]

    2.2 Get Single Vendor

    GET/vendors/{id}

    Returns detailed vendor metadata.

    3. Product Catalog

    The Product Catalog contains separately licensable software products only.

    3.1 Get All Products

    GET/products

    Returns all products in the catalog.

    Response Example

    {
      "id": "P-4451",
      "product_name": "Example Endpoint Security",
      "product_url": "https://www.example.com/product",
      "product_category": "Endpoint & Patch Management",
      "vendorId": "V-1023"
    }

    3.2 Get Single Product

    GET/products/{id}

    Returns detailed product information.

    Response Example

    {
      "id": "P-4451",
      "product_name": "Example Endpoint Security",
      "product_url": "https://www.example.com/product",
      "product_category": "Endpoint & Patch Management",
      "vendor": {
        "id": "V-1023",
        "vendor_name": "Example Vendor"
      }
    }

    4. Product → Service Mapping

    This endpoint connects products to supported MSP service line items. Each mapping includes supportLabel and evidenceScore.

    Mapping Fields

    supportLabel

    • Native
    • Integrated
    • Partial
    • Adjacency

    evidenceScore

    • 100 — direct match
    • 75 — strong match
    • 50 — plausible
    • 25 — weak/adjacent

    4.1 Get Mappings for a Product

    GET/products/{id}/mappings

    Returns all service line items supported by a given product.

    Response Example

    [
      {
        "serviceLineItemId": "SLI-089",
        "serviceLineItemName": "Third-Party Application Patch Management",
        "supportLabel": "Native",
        "evidenceScore": 100
      }
    ]

    4.2 Get Products Supporting a Service Line Item

    GET/services/line-items/{id}/products

    Returns all products mapped to a specific service.

    Response Example

    [
      {
        "productId": "P-4451",
        "productName": "Example Endpoint Security",
        "supportLabel": "Integrated",
        "evidenceScore": 75
      }
    ]

    5. Product Categories

    The Product Catalog uses exactly 20 predefined product categories.

    5.1 Get All Product Categories

    GET/product-categories

    Returns the full list of supported product categories.

    Data Integrity Notes

    • All services are vendor-neutral.
    • All products are separately licensable software.
    • Each product has exactly one primary product category.
    • Mapping is generated through structured evaluation logic.
    • Mapping values are descriptive, not contractual guarantees.