{
  "openapi": "3.0.0",
  "info": {
    "title": "CISCO-PIM-MIB MIB API",
    "version": "1.0.0",
    "description": "This MIB module defines the cisco specific variables\n    for Protocol Independent Multicast (PIM) management. \n    These definitions are an extension of those defined in\n    the IETF PIM MIB (RFC 2934).\n\n⚠️ **IMPORTANT - MIB DATA ACCESS**:\nThis YANG model exists for SMIv2-to-YANG translation purposes, but MIB data on IOS-XE devices is primarily accessed via **SNMP protocol**, not RESTCONF.\n\n**RESTCONF Limitation**: Many MIB paths may return 404 errors via RESTCONF `/data` endpoints because the device exposes MIB data through SNMP, not the YANG datastore.\n\n**Recommended Access Methods**:\n- Use SNMP (v2c/v3) to query MIB data directly\n- Use NETCONF `<get>` operations for devices supporting YANG-modeled MIB access\n- Check device capabilities: some newer IOS-XE versions may support limited RESTCONF access to specific MIBs\n\n**YANG Model Purpose**: These YANG models define the structure of SNMP MIBs in YANG format for tooling compatibility, but do not guarantee RESTCONF data availability.\n\n\n**📊 YANG Tree:** [View CISCO-PIM-MIB structure](https://jeremycohoe.github.io/cisco-ios-xe-openapi-swagger/yang-trees/CISCO-PIM-MIB.html)",
    "contact": {
      "name": "Cisco DevNet",
      "url": "https://developer.cisco.com"
    },
    "x-yang-module": "CISCO-PIM-MIB",
    "x-model-type": "mib"
  },
  "servers": [
    {
      "url": "https://{device}/restconf",
      "description": "RESTCONF server",
      "variables": {
        "device": {
          "default": "10.1.1.1",
          "description": "Device hostname or IP address"
        }
      }
    }
  ],
  "paths": {
    "/data/CISCO-PIM-MIB:cpim": {
      "get": {
        "summary": "Get cpim data",
        "description": "Retrieve cpim operational data from MIB",
        "tags": [
          "CISCO-PIM-MIB"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/yang-data+json": {
                "schema": {
                  "type": "object",
                  "description": "cpim",
                  "properties": {
                    "cpimInvalidRegisterMsgsRcvd": {
                      "type": "integer",
                      "description": "A count of the number of invalid PIM Register messages\n          received by this device. A PIM Register message is\n          termed invalid if \n          o the encapsulated IP header is malformed,\n          o the destination of the PIM Register message is not the\n            RP (Rendezvous Point) for the group in question,\n          o the source/DR (Designated Router) address is not a valid\n            unicast address.",
                      "minimum": 0,
                      "maximum": 4294967295
                    },
                    "cpimInvalidJoinPruneMsgsRcvd": {
                      "type": "integer",
                      "description": "A count of the number of invalid PIM Join/Prune\n          messages received by this device. A PIM Join/Prune\n          message is termed invalid if\n          \n          o the RP specified in the packet is not the RP for\n            the group in question.",
                      "minimum": 0,
                      "maximum": 4294967295
                    },
                    "cpimLastErrorType": {
                      "type": "string",
                      "description": "The type of the last invalid message that was received by\n          this device."
                    },
                    "cpimLastErrorOriginType": {
                      "type": "string",
                      "description": "Represents the type of address stored in\n          cpimLastErrorOrigin. The value of this object is\n          irrelevant if the value of cpimLastErrorType is none(1).",
                      "x-yang-type": "inet-address:InetAddressType"
                    },
                    "cpimLastErrorOrigin": {
                      "type": "string",
                      "description": "This object represents the Network Layer Address of the\n          source that originated the last invalid packet. The type\n          of address stored depends on the value in\n          cpimLastErrorOriginType. \n          \n          The value of this object represents the Network Layer\n          Address of the Designated Router (DR) whenever the value\n          of cpimLastErrorGroup is a zero-length address, \n          for eg. when encapsulated IP header is malformed.\n          \n          The value of this object is irrelevant if the value of\n          cpimLastErrorType is none(1).",
                      "x-yang-type": "inet-address:InetAddress"
                    },
                    "cpimLastErrorGroupType": {
                      "type": "string",
                      "description": "Represents the type of address stored in\n          cpimLastErrorGroup. The value of this object is unknown(0)\n          if there is a problem in the packet received from the\n          DR.\n          \n          The value of this object is irrelevant if the value of\n          cpimLastErrorType is none(1).",
                      "x-yang-type": "inet-address:InetAddressType"
                    },
                    "cpimLastErrorGroup": {
                      "type": "string",
                      "description": "The IP multicast group address to which the last invalid\n          packet was addressed. The type of address stored\n          depends on the value in cpimLastErrorGroupType. \n          \n          The value of this object is a zero-length InetAddress if\n          there is a problem in the packet received from the DR,\n          for eg. a malformed encapsulated IP header. \n          \n          The value of this object is irrelevant if the value of\n          cpimLastErrorType is none(1).",
                      "x-yang-type": "inet-address:InetAddress"
                    },
                    "cpimLastErrorRPType": {
                      "type": "string",
                      "description": "Represents the type of address stored in\n          cpimLastErrorRP. The value of this object is irrelevant\n          if the value of cpimLastErrorType is none(1).",
                      "x-yang-type": "inet-address:InetAddressType"
                    },
                    "cpimLastErrorRP": {
                      "type": "string",
                      "description": "The address of the RP, as per the last invalid\n          packet. The type of address stored depends on the value in\n          cpimLastErrorRPType. \n          \n          The value of this object is irrelevant if the value of\n          cpimLastErrorType is none(1).",
                      "x-yang-type": "inet-address:InetAddress"
                    }
                  }
                },
                "example": {
                  "CISCO-PIM-MIB:cpim": {
                    "cpimInvalidRegisterMsgsRcvd": 0,
                    "cpimInvalidJoinPruneMsgsRcvd": 0,
                    "cpimLastErrorType": "ethernetCsmacd(6)",
                    "cpimLastErrorOriginType": "ethernetCsmacd(6)",
                    "cpimLastErrorOrigin": "example-string",
                    "cpimLastErrorGroupType": "ethernetCsmacd(6)",
                    "cpimLastErrorGroup": "example-string",
                    "cpimLastErrorRPType": "ethernetCsmacd(6)",
                    "cpimLastErrorRP": "example-string"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden — insufficient access rights (NACM)",
            "content": {
              "application/yang-data+json": {
                "schema": {
                  "$ref": "#/components/schemas/restconf-error"
                }
              }
            }
          }
        },
        "operationId": "get-cpim",
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "required": false,
            "description": "RESTCONF response media type (RFC 8040)",
            "schema": {
              "type": "string",
              "default": "application/yang-data+json",
              "enum": [
                "application/yang-data+json",
                "application/yang-data+xml"
              ]
            }
          },
          {
            "name": "depth",
            "in": "query",
            "required": false,
            "description": "Limit the depth of returned sub-tree data (RFC 8040 Section 4.8.2). Use 'unbounded' for full depth.",
            "schema": {
              "type": "string",
              "default": "unbounded"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "description": "Select specific fields to return (RFC 8040 Section 4.8.3). Example: fields=name;status",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "content",
            "in": "query",
            "required": false,
            "description": "Filter by config state: 'config' (config true only), 'nonconfig' (config false only), or 'all'.",
            "schema": {
              "type": "string",
              "enum": [
                "config",
                "nonconfig",
                "all"
              ],
              "default": "all"
            }
          }
        ]
      },
      "x-yang-path": "/cpim",
      "x-restconf-kind": "container"
    },
    "/data/CISCO-PIM-MIB:ciscoPimMIBNotificationObjects": {
      "get": {
        "summary": "Get ciscoPimMIBNotificationObjects data",
        "description": "Retrieve ciscoPimMIBNotificationObjects operational data from MIB",
        "tags": [
          "CISCO-PIM-MIB"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/yang-data+json": {
                "schema": {
                  "type": "object",
                  "description": "ciscoPimMIBNotificationObjects",
                  "properties": {
                    "cpimRPMappingChangeType": {
                      "type": "string",
                      "description": "Describes the operation that resulted in generation\n          of cpimRPMappingChange notification.\n          \n          o newMapping, as the name suggests indicates that a new\n            mapping has been added into the pimRPSetTable, \n          o deletedMapping indicates that a mapping has been \n            deleted from the pimRPSetTable, and,\n          o modifiedXXXMapping indicates that an RP mapping (which\n            already existed in the table) has been modified.\n            The two modifications types i.e. modifiedOldMapping\n            and modifiedNewMapping, are defined to differentiate\n            the notification generated before modification from\n            that generated after modification."
                    }
                  }
                },
                "example": {
                  "CISCO-PIM-MIB:ciscoPimMIBNotificationObjects": {
                    "cpimRPMappingChangeType": "ethernetCsmacd(6)"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden — insufficient access rights (NACM)",
            "content": {
              "application/yang-data+json": {
                "schema": {
                  "$ref": "#/components/schemas/restconf-error"
                }
              }
            }
          }
        },
        "operationId": "get-ciscoPimMIBNotificationObjects",
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "required": false,
            "description": "RESTCONF response media type (RFC 8040)",
            "schema": {
              "type": "string",
              "default": "application/yang-data+json",
              "enum": [
                "application/yang-data+json",
                "application/yang-data+xml"
              ]
            }
          },
          {
            "name": "depth",
            "in": "query",
            "required": false,
            "description": "Limit the depth of returned sub-tree data (RFC 8040 Section 4.8.2). Use 'unbounded' for full depth.",
            "schema": {
              "type": "string",
              "default": "unbounded"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "description": "Select specific fields to return (RFC 8040 Section 4.8.3). Example: fields=name;status",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "content",
            "in": "query",
            "required": false,
            "description": "Filter by config state: 'config' (config true only), 'nonconfig' (config false only), or 'all'.",
            "schema": {
              "type": "string",
              "enum": [
                "config",
                "nonconfig",
                "all"
              ],
              "default": "all"
            }
          }
        ]
      },
      "x-yang-path": "/ciscoPimMIBNotificationObjects",
      "x-restconf-kind": "container"
    }
  },
  "components": {
    "schemas": {
      "CISCO-PIM-MIB_CISCO-PIM-MIB": {
        "type": "object",
        "description": "CISCO-PIM-MIB",
        "properties": {
          "cpim": {
            "type": "object",
            "description": "cpim",
            "properties": {
              "cpimInvalidRegisterMsgsRcvd": {
                "type": "integer",
                "description": "A count of the number of invalid PIM Register messages\n          received by this device. A PIM Register message is\n          termed invalid if \n          o the encapsulated IP header is malformed,\n          o the destination of the PIM Register message is not the\n            RP (Rendezvous Point) for the group in question,\n          o the source/DR (Designated Router) address is not a valid\n            unicast address.",
                "minimum": 0,
                "maximum": 4294967295,
                "readOnly": true
              },
              "cpimInvalidJoinPruneMsgsRcvd": {
                "type": "integer",
                "description": "A count of the number of invalid PIM Join/Prune\n          messages received by this device. A PIM Join/Prune\n          message is termed invalid if\n          \n          o the RP specified in the packet is not the RP for\n            the group in question.",
                "minimum": 0,
                "maximum": 4294967295,
                "readOnly": true
              },
              "cpimLastErrorType": {
                "type": "string",
                "description": "The type of the last invalid message that was received by\n          this device.",
                "readOnly": true
              },
              "cpimLastErrorOriginType": {
                "type": "string",
                "description": "Represents the type of address stored in\n          cpimLastErrorOrigin. The value of this object is\n          irrelevant if the value of cpimLastErrorType is none(1).",
                "x-yang-type": "inet-address:InetAddressType",
                "readOnly": true
              },
              "cpimLastErrorOrigin": {
                "type": "string",
                "description": "This object represents the Network Layer Address of the\n          source that originated the last invalid packet. The type\n          of address stored depends on the value in\n          cpimLastErrorOriginType. \n          \n          The value of this object represents the Network Layer\n          Address of the Designated Router (DR) whenever the value\n          of cpimLastErrorGroup is a zero-length address, \n          for eg. when encapsulated IP header is malformed.\n          \n          The value of this object is irrelevant if the value of\n          cpimLastErrorType is none(1).",
                "x-yang-type": "inet-address:InetAddress",
                "readOnly": true
              },
              "cpimLastErrorGroupType": {
                "type": "string",
                "description": "Represents the type of address stored in\n          cpimLastErrorGroup. The value of this object is unknown(0)\n          if there is a problem in the packet received from the\n          DR.\n          \n          The value of this object is irrelevant if the value of\n          cpimLastErrorType is none(1).",
                "x-yang-type": "inet-address:InetAddressType",
                "readOnly": true
              },
              "cpimLastErrorGroup": {
                "type": "string",
                "description": "The IP multicast group address to which the last invalid\n          packet was addressed. The type of address stored\n          depends on the value in cpimLastErrorGroupType. \n          \n          The value of this object is a zero-length InetAddress if\n          there is a problem in the packet received from the DR,\n          for eg. a malformed encapsulated IP header. \n          \n          The value of this object is irrelevant if the value of\n          cpimLastErrorType is none(1).",
                "x-yang-type": "inet-address:InetAddress",
                "readOnly": true
              },
              "cpimLastErrorRPType": {
                "type": "string",
                "description": "Represents the type of address stored in\n          cpimLastErrorRP. The value of this object is irrelevant\n          if the value of cpimLastErrorType is none(1).",
                "x-yang-type": "inet-address:InetAddressType",
                "readOnly": true
              },
              "cpimLastErrorRP": {
                "type": "string",
                "description": "The address of the RP, as per the last invalid\n          packet. The type of address stored depends on the value in\n          cpimLastErrorRPType. \n          \n          The value of this object is irrelevant if the value of\n          cpimLastErrorType is none(1).",
                "x-yang-type": "inet-address:InetAddress",
                "readOnly": true
              }
            },
            "readOnly": true
          },
          "ciscoPimMIBNotificationObjects": {
            "type": "object",
            "description": "ciscoPimMIBNotificationObjects",
            "properties": {
              "cpimRPMappingChangeType": {
                "type": "string",
                "description": "Describes the operation that resulted in generation\n          of cpimRPMappingChange notification.\n          \n          o newMapping, as the name suggests indicates that a new\n            mapping has been added into the pimRPSetTable, \n          o deletedMapping indicates that a mapping has been \n            deleted from the pimRPSetTable, and,\n          o modifiedXXXMapping indicates that an RP mapping (which\n            already existed in the table) has been modified.\n            The two modifications types i.e. modifiedOldMapping\n            and modifiedNewMapping, are defined to differentiate\n            the notification generated before modification from\n            that generated after modification.",
                "readOnly": true
              }
            },
            "readOnly": true
          }
        }
      },
      "CISCO-PIM-MIB_object-1": {
        "type": "object",
        "description": "object-1",
        "properties": {
          "cpimLastErrorOriginType": {
            "type": "string",
            "description": "cpimLastErrorOriginType",
            "x-yang-type": "leafref",
            "readOnly": true
          }
        }
      },
      "CISCO-PIM-MIB_object-2": {
        "type": "object",
        "description": "object-2",
        "properties": {
          "cpimLastErrorOrigin": {
            "type": "string",
            "description": "cpimLastErrorOrigin",
            "x-yang-type": "leafref",
            "readOnly": true
          }
        }
      },
      "CISCO-PIM-MIB_object-3": {
        "type": "object",
        "description": "object-3",
        "properties": {
          "cpimLastErrorGroupType": {
            "type": "string",
            "description": "cpimLastErrorGroupType",
            "x-yang-type": "leafref",
            "readOnly": true
          }
        }
      },
      "CISCO-PIM-MIB_object-4": {
        "type": "object",
        "description": "object-4",
        "properties": {
          "cpimLastErrorGroup": {
            "type": "string",
            "description": "cpimLastErrorGroup",
            "x-yang-type": "leafref",
            "readOnly": true
          }
        }
      },
      "CISCO-PIM-MIB_object-5": {
        "type": "object",
        "description": "object-5",
        "properties": {
          "cpimLastErrorRPType": {
            "type": "string",
            "description": "cpimLastErrorRPType",
            "x-yang-type": "leafref",
            "readOnly": true
          }
        }
      },
      "CISCO-PIM-MIB_object-6": {
        "type": "object",
        "description": "object-6",
        "properties": {
          "cpimLastErrorRP": {
            "type": "string",
            "description": "cpimLastErrorRP",
            "x-yang-type": "leafref",
            "readOnly": true
          }
        }
      },
      "CISCO-PIM-MIB_object-7": {
        "type": "object",
        "description": "object-7",
        "properties": {
          "cpimInvalidJoinPruneMsgsRcvd": {
            "type": "string",
            "description": "cpimInvalidJoinPruneMsgsRcvd",
            "x-yang-type": "leafref",
            "readOnly": true
          }
        }
      },
      "restconf-error": {
        "type": "object",
        "description": "Standard RESTCONF error response (RFC 8040 Section 7.1)",
        "properties": {
          "ietf-restconf:errors": {
            "type": "object",
            "properties": {
              "error": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "error-type": {
                      "type": "string",
                      "enum": [
                        "transport",
                        "rpc",
                        "protocol",
                        "application"
                      ],
                      "description": "Layer where the error occurred"
                    },
                    "error-tag": {
                      "type": "string",
                      "description": "Enumerated error tag (e.g. invalid-value, data-missing, access-denied)"
                    },
                    "error-severity": {
                      "type": "string",
                      "enum": [
                        "error",
                        "warning"
                      ],
                      "description": "Error severity"
                    },
                    "error-app-tag": {
                      "type": "string",
                      "description": "Application-specific error tag"
                    },
                    "error-path": {
                      "type": "string",
                      "description": "YANG instance-identifier of the error node"
                    },
                    "error-message": {
                      "type": "string",
                      "description": "Human-readable error description"
                    }
                  },
                  "required": [
                    "error-type",
                    "error-tag"
                  ]
                }
              }
            }
          }
        },
        "example": {
          "ietf-restconf:errors": {
            "error": [
              {
                "error-type": "protocol",
                "error-tag": "invalid-value",
                "error-severity": "error",
                "error-message": "Invalid input parameter"
              }
            ]
          }
        }
      }
    },
    "securitySchemes": {
      "basicAuth": {
        "type": "http",
        "scheme": "basic"
      }
    }
  },
  "security": [
    {
      "basicAuth": []
    }
  ],
  "tags": [
    {
      "name": "CISCO-PIM-MIB",
      "description": "MIB operations for CISCO-PIM-MIB"
    }
  ],
  "externalDocs": {
    "description": "Cisco SNMP Object Navigator",
    "url": "https://snmp.cloudapps.cisco.com/Support/IOS/do/BrowseMIB.do"
  }
}
