{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":46653,"path":"servicenow-platform/cmdb-ci-class-models/cmdb-ci-class-models-unmatched.md","title":"Unmatched API extension classes","bundle":null,"doc_type":null,"release":"australia","body":"\n# Unmatched API extension classes\n\nThe CMDB CI Class Models app adds or updates classes for unmatched APIs. API endpoints that are not structured well enough to populate the API \\[cmdb\\_ci\\_api\\] and API Component \\[cmdb\\_ci\\_api\\_component\\] classes instead populate the Unmatched API Endpoint \\[cmdb\\_ci\\_unmatched\\_api\\_endpoint\\] class. Unmatched APIs are typically used by integrations like security scanners or observability tools.\n\nCMDB CI Class Models is a ServiceNow Store app that adds class models that extend the CMDB class hierarchy. The new or updated classes include class descriptions, identification rules, identifier entries, and, if applicable, dependent relationships. You can use the added classes just like any other CMDB class. Applications such as Discovery and Service Mapping Patterns can use the class extensions to populate CIs and discover technologies and software.\n\nSee the release notes for all CMDB CI class models.\n\n## Request apps on the Store\n\nVisit the [ServiceNow Store](https://store.servicenow.com/sn_appstore_store.do#!/store/home) to view all the available apps, and for information about submitting requests to the store. For cumulative release notes information for all released apps, see the [ServiceNow Store version history release notes](https://www.servicenow.com/docs/r/store-release-notes/sn-store-release-notes.html).\n\n## Unmatched APIs\n\nAPI endpoints that are not structured well enough to populate the API \\[cmdb\\_ci\\_api\\] and API Component \\[cmdb\\_ci\\_api\\_component\\] classes instead populate the Unmatched API Endpoint \\[cmdb\\_ci\\_unmatched\\_api\\_endpoint\\] class. Unmatched APIs are typically used by integrations like security scanners or observability tools.\n\n## Classes\n\nThis section lists the classes that the CMDB CI Class Models app adds or updates.\n\nCMDB CI Class Models: Release 1.49.0 adds the following class for unmatched API endpoints. For the list of classes in the base system, including classes that this app might extend, see [CMDB tables descriptions](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/servicenow-platform/configuration-management-database-cmdb/cmdb-tables-details.md).\n\n<table id=\"table_h2r_d5z_ryb\"><thead><tr><th>\n\nClass\n\n</th><th>\n\nExtends\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nUnmatched API Endpoint\\[cmdb\\_ci\\_unmatched\\_api\\_endpoint\\]\n\n</td><td>\n\nConfiguration Item\\[cmdb\\_ci\\]\n\n</td><td>\n\nAPIs with unstructured endpoints that cannot populate cmdb\\_ci\\_api or cmdb\\_ci\\_api\\_component.\n\n</td></tr></tbody>\n</table>## Class attributes\n\nCMDB CI Class Models: Release 1.49.0 adds the following attributes to the Unmatched API Endpoint \\[cmdb\\_ci\\_unmatched\\_api\\_endpoint\\] class.\n\n<table id=\"table_tqx_q3g_syb\"><thead><tr><th>\n\nAttribute\n\n</th><th>\n\nData type\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nMethod\n\n</td><td>\n\nString\n\n</td><td>\n\nBackend protocol types of the API. Examples:-   Lambda\n-   HTTP\n-   Logic App\n\n</td></tr><tr><td>\n\nProtocol\n\n</td><td>\n\nString\n\n</td><td>\n\nCommunication protocol. Example: HTTP, HTTPS.\n\n</td></tr><tr><td>\n\nURL\n\n</td><td>\n\nString \\(1024\\)\n\n</td><td>\n\nURL of the resource being called.\n\n</td></tr><tr><td>\n\nID\n\n</td><td>\n\nString \\(1024\\)\n\n</td><td>\n\nUnique identifier from the source system.\n\n</td></tr><tr><td>\n\nInternet Facing\n\n</td><td>\n\nBoolean\n\n</td><td>\n\nBoolean that denotes whether the component is reachable from the public internet. Specify 1 or \"true\" if the component is reachable.\n\n</td></tr><tr><td>\n\nAuthorization\n\n</td><td>\n\nString\n\n</td><td>\n\nType of authorization or authentication method. Example:-   Basic\n-   Key\n-   Oauth\n-   None\n\n</td></tr><tr><td>\n\nRequest data types\n\n</td><td>\n\nString \\(255\\)\n\n</td><td>\n\nList of data types in the request. Examples:-   CC\n-   Email\n-   Address\n\n</td></tr><tr><td>\n\nResponse data types\n\n</td><td>\n\nString \\(255\\)\n\n</td><td>\n\nList of data types in the response. Examples:-   CC\n-   Email\n-   Address\n\n</td></tr></tbody>\n</table>## Key Relationship Structures\n\nThe Unmatched API Endpoint \\[cmdb\\_ci\\_unmatched\\_api\\_endpoint\\] CMDB class and API Endpoint Discovered \\[api\\_endpoint\\_discovered\\] non-CMDB table are intended for scenarios where unstructured API data is ingested and needs to be processed beyond the capabilities of IntegrationHub-ETL.\n\nAPI Endpoint Discovered \\[api\\_endpoint\\_discovered\\] can serve as a staging table for raw data for the API \\[cmdb\\_ci\\_api\\] and API Component \\[cmdb\\_ci\\_api\\_component\\] classes. API data that does not come from a well-structured data source or cannot have standard identification rules applied can first populate the API Endpoint Discovered \\[api\\_endpoint\\_discovered\\] table. You can then use a customer-defined integration to promote that well-formed data that matches the quality and condition requirements for API \\[cmdb\\_ci\\_api\\] and API Component \\[cmdb\\_ci\\_api\\_component\\] populates the most appropriate table.\n\nIn cases where the data cannot be correctly parsed or is structured in an unexpected fashion, you can instead use a customer-defined integration to populate the Unmatched API Endpoint \\[cmdb\\_ci\\_unmatched\\_api\\_endpoint\\] table.\n\nData that populates the API Endpoint Discovered \\[api\\_endpoint\\_discovered\\] table is purged every 30 days.\n\n<table id=\"table_tzf_mbr_tyb\"><thead><tr><th>\n\nAttribute\n\n</th><th>\n\nData type\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nName\n\n</td><td>\n\nString \\(100\\)\n\n</td><td>\n\nName of the API endpoint.\n\n</td></tr><tr><td>\n\nMethod\n\n</td><td>\n\nString\n\n</td><td>\n\nREST API methods. Examples:-   GET\n-   POST\n-   DELETE\n\n</td></tr><tr><td>\n\nURL\n\n</td><td>\n\nString \\(1024\\)\n\n</td><td>\n\nURL of the resource being called.\n\n</td></tr><tr><td>\n\nType\n\n</td><td>\n\nChoice list\n\n</td><td>\n\nType of API. You can specify:-   REST\n-   SOAP\n-   HTTP\n-   gRPC\n-   GraphQL\n-   Websocket\n\n</td></tr><tr><td>\n\nAuthorization\n\n</td><td>\n\nString\n\n</td><td>\n\nType of authorization or authentication method. Example:-   Basic\n-   Key\n-   OAuth\n-   None\n\n</td></tr><tr><td>\n\nInternet Facing\n\n</td><td>\n\nBoolean\n\n</td><td>\n\nBoolean that denotes whether the component is reachable from the public internet. Specify 1 or \"true\" if the component is reachable.\n\n</td></tr><tr><td>\n\nRequest Datatypes\n\n</td><td>\n\nString \\(255\\)\n\n</td><td>\n\nList of data types in the request. Examples:-   CC\n-   Email\n-   Address\n\n</td></tr><tr><td>\n\nResponse Datatypes\n\n</td><td>\n\nString \\(255\\)\n\n</td><td>\n\nList of data types in the response. Examples:-   CC\n-   Email\n-   Address\n\n</td></tr><tr><td>\n\nHeaders\n\n</td><td>\n\nString \\(255\\)\n\n</td><td>\n\nComma-separated list of header names.\n\n</td></tr><tr><td>\n\nConfiguration Item\n\n</td><td>\n\nReference\n\n</td><td>\n\nReference to a matching CMDB CI \\(API Component or Unmatched API Endpoint\\).\n\n</td></tr></tbody>\n</table>## Related non-CMDB tables\n\nThe Unmatched API extension class uses the API Deployment \\[api\\_deployment\\] non-CMDB table as a related list:\n\n|Attribute|Data type|Description|\n|---------|---------|-----------|\n|Name|String \\(100\\)|Name of the API deployment.|\n|API|Reference|Reference to the deployed API \\(cmdb\\_ci\\_api\\).|\n|Unmatched API Endpoint|Reference|Reference to the unmatched API endpoint, if the API doesn't match an existing API \\(cmdb\\_ci\\_unmatched\\_api\\_endpoint\\).|\n|Configuration Item|Reference|Reference to the Configuration Item. This is typically manually specified as a reference, if you know what CI the API is deployed to.|\n\n"}}