API extension classes

  • Release version: Zurich
  • Updated August 7, 2025
  • 9 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of API extension classes

    The CMDB CI Class Models app enhances the ServiceNow Configuration Management Database (CMDB) by adding or updating classes specifically designed to represent APIs and their components. This extension enables ServiceNow customers to better model, discover, and manage API-related configuration items (CIs) within their environment. It supports applications such as Discovery and Service Mapping Patterns to identify and populate API technologies and software within the CMDB.

    Show full answer Show less

    These classes provide a foundational data model to improve visibility into APIs, including identifying security vulnerabilities at API endpoints, and managing API infrastructure components like gateways and managed APIs.

    Key Features

    • Extended CMDB Classes for APIs: Includes classes such as cmdbciapi (API), cmdbciapicomponent (reusable API components), cmdbciapifrontend and cmdbciapibackend (frontend/backend parts of APIs), cmdbciapigateway (API gateways), and cmdbcimanagedapi (APIs discovered via gateways or managed services).
    • API Product Bundles and Consumer Subscriptions: Classes like cmdbciapiproductbundle and cmdbciapiconsumersubscription enable modeling of grouped APIs for developer consumption and tracking of subscriptions.
    • Attributes and Metadata Support: Each class includes relevant attributes such as base URL, unique identifiers, types, protocols, authorization methods, and versioning to capture comprehensive API details. Key-value storage mapping facilitates flexible metadata tagging.
    • Support for API Gateways: Includes specific classes for popular gateways (e.g., MuleSoft Anypoint, Tyk, Boomi), allowing integration with existing gateway infrastructure without needing changes to identification and reconciliation rules.
    • Non-CMDB Related Lists: Additional tables such as apideployment, apiheader, apiconsumer, apiconsumeraccess, and apipolicy enable modeling of deployments, headers, consumers, access permissions, and policies related to APIs and gateways for detailed operational management.
    • Defined Relationships: Predefined relationships between API classes (e.g., uses, provides, dependent) help establish dependencies and associations critical for impact analysis and comprehensive API lifecycle management.

    Practical Benefits for ServiceNow Customers

    • Comprehensive API Visibility: Model APIs and their components as CIs in the CMDB, enhancing configuration and asset management.
    • Improved Security and Compliance: Identify and manage security issues and vulnerabilities related to API endpoints and infrastructure.
    • Enhanced Discovery and Mapping: Use with Discovery and Service Mapping Patterns to automate population of API data and relationships.
    • Streamlined API Management: Track API products, consumer subscriptions, access policies, and deployments to better control API consumption and governance.
    • Integration with API Gateways: Support for popular API gateways allows seamless integration with existing API infrastructure and simplifies management.

    The CMDB CI Class Models ServiceNow Store app adds or updates classes for APIs (application programming interface).

    The CMDB CI Class Models app adds class models that extend the CMDB class hierarchy, including 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.

    See the CMDB CI Class Models release notes.

    Request apps on the Store

    Visit the ServiceNow Store website 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.

    APIs

    APIs are a set of definitions and protocols that enable computer programs to communicate with each other, which enables you to build or integrate application software. APIs typically use web-based technology to communicate with other APIs. APIs are generally used to programmatically perform jobs or tasks, or to view, import, export, delete, or modify data.

    The classes added in this release extend the CMDB data model and provide a foundation for the representation of API CI classes. You can use this foundation to do the following:
    • Gain greater visibility into your APIs.
    • Identify security issues and vulnerabilities associated with an API endpoint.

    Classes

    This section lists the classes that the CMDB CI Class Models store app adds or updates. For additional detail, see the Community article titled "New Data Model in CMDB for APIs".

    CMDB CI Class Models: The following classes for API are available. For the list of classes in the base system, including classes that this app might extend, see CMDB tables descriptions.

    Class Extends Description
    API

    [cmdb_ci_api]

    Configuration Item

    [cmdb_ci]

    APIs that enable two computer programs to communicate with each other, typically using web-based technologies. Example: ChatAPI (https://[apiID].execute-api.use-east-2.amazonaws.com).
    API Component

    [cmdb_ci_api_component]

    Configuration Item

    [cmdb_ci]

    Reusable objects related to your API definition that facilitate functionality or exchange of data. API Headers related list. Example: GET https://[instance].service-now.com/api/now/table/{tablename}.
    API Frontend

    [cmdb_ci_api_frontend]

    API Component

    [cmdb_ci_api_component]

    The part of an API from which a client or user interacts or makes requests. Example: GET https://[apiID].execute-api.us-east-2.amazonaws.com/{proxy+}.
    API Backend

    [cmdb_ci_api_backend]

    API Component

    [cmdb_ci_api_component]

    The part of an API that fulfills requests by interacting with backend services, such as servers. Example: Lambda:Chat-API-Proxy.
    API Gateway

    [cmdb_ci_api_gateway]

    Application

    [cmdb_ci_appl]

    API infrastructure that centralizes client API requests and manages backend processes and services. Example: Kong Gateway.
    Managed API

    [cmdb_ci_managed_api]

    Configuration Item

    [cmdb_ci_api]

    API discovered from a gateway or management service. You can enforce a dependency on a gateway for APIs in this class.

    Class attributes

    CMDB CI Class Models: Release 1.49.0 adds the following attributes to the respective classes.

    Table 1. API [cmdb_ci_api]
    Attribute Data type Description
    Base URL String (1024) Base address from which all API components extend.
    ID String (1024) Unique identifier from the source system.
    Type List Type of API. You can specify:
    • REST
    • SOAP
    • HTTP
    • gRPC
    • GraphQL
    • Websocket
    Version Numeric Version of the API.
    Spec Location URL URL to the location of the API specification. Example: OpenAPI spec definition.
    Technical Specification Location String Location of the technical specification repository for an API. Example: GitHub repository containing the deployed API code.
    Design Specification Location String URL to the location of the API design or documentation. Example: SwaggerHub API Design Specification URL.
    The API [cmdb_ci_api] class supports mapping of tags and labels to the Key Value [cmdb_key_value] table to enable key-value storage for API metadata.
    Table 2. API Component [cmdb_ci_api_component]
    Attribute Data type Description
    Method String REST API methods. Examples:
    • GET
    • POST
    • DELETE
    Protocol String Communication protocol. Example: HTTP, HTTPS.
    Host String (100) System that hosts the API.
    Path String (1024) Specific route the API follows.
    Port String Communication port. Example: 80, 443, and so on.
    URL String (1024) URL of the resource being called.
    ID String (1024) Unique identifier from the source system.
    Internet Facing Boolean Boolean that denotes whether the component is reachable from the public internet. Specify 1 or "true" if the component is reachable.
    Authorization String Type of authorization or authentication method. Example:
    • Basic
    • Key
    • OAuth
    • None
    Request data types String (255) List of data types in the request. Examples:
    • CC
    • Email
    • Address
    Response data types String (255) List of data types in the response. Examples:
    • CC
    • Email
    • Address
    The API Component [cmdb_ci_api_component] class supports mapping of tags and labels to the Key Value [cmdb_key_value] table to enable key-value storage for API component metadata.
    Table 3. API Frontend [cmdb_ci_api_frontend]
    Attribute Data type Description
    Parent ID Reference to [cmdb_ci_api_frontend] Reference to a parent API component.
    Table 4. API Backend [cmdb_ci_api_backend]
    Attribute Data type Description
    Type String Backend protocol types of the API. Examples:
    • Lambda
    • HTTP
    • Logic App
    Table 5. API Gateway [cmdb_ci_api_gateway]
    Attribute Data type Description
    ID String (255) Unique identifier from the source system.
    The API Gateway [cmdb_ci_api_gateway] class supports mapping of tags and labels to the Key Value [cmdb_key_value] table. The mapping enables key-value storage for API gateway metadata.
    The following marker classes are available for API gateways. These classes inherit all attributes from the API Gateway [cmdb_ci_api_gateway] parent class.
    • Anypoint API Gateway [cmdb_ci_api_gateway_anypoint] (provided by MuleSoft)
    • Tyk API Gateway [cmdb_ci_api_gateway_tyk] (provided by Tyk)
    • Boomi API Gateway [cmdb_ci_api_gateway_boomi] (provided by Boomi)
    The marker classes follow the existing class structure and do not require changes to Identification and Reconciliation engine (IRE) rules.
    Note:
    The Managed API [cmdb_ci_managed_api] class is specific to APIs discovered from gateways and other managed services, and does not introduce new attributes.
    In API gateways and developer portals, an API product bundle is a collection of one or more APIs for consumption by developers and applications. Some platforms use the term for an API product alone.
    Table 6. API Product Bundle [cmdb_ci_api_product_bundle]
    Attribute Data type Description
    ID String (255) Unique identifier of the API product bundle.
    Discovered Approval Type String Type of request approval as discovered from the source system.
    Discovered Access Type String Access configuration as discovered from the source system. For example, public or internal.
    Creation Date Date/Time Date and time when the API product bundle was initially discovered or recorded.
    Last Modified Date Date/Time Date and time of the most recent update to the API product bundle.
    Discovered State String Current state of the product bundle as reported by the source. For example, published or deprecated.
    To access one or more API product bundles, a developer can register for an API consumer subscription on a developer portal. The subscription registers with one or more bundles and provides a key for access to the APIs in the bundles.
    Table 7. API Consumer Subscription [cmdb_ci_api_consumer_subscription]
    Attribute Data type Description
    Discovered Scope String Scope of access as discovered from the source system. For example, all APIs or specific APIs.
    API Consumer Reference Reference to the API consumer record. For example, cmdb_ci_api_consumer.
    ID String (255) Unique identifier of the API consumer subscription.
    Discovered State String Subscription status as discovered from the source system. For example, active or inactive.
    Creation Date Date/Time Date and time when the API consumer subscription was created in the source system.
    Last Modified Date Date/Time Date and time of the most recent update to the API consumer subscription.

    The WebACL class [cmdb_ci_web_acl] represents ACLs for CloudFront, API gateway REST APIs, application load balancers, AppSync GraphQL APIs, Cognito user pools, App Runner services, AWS Verified Access, and the Azure Front Door application gateway.

    Key relationship structures

    There are a number of key relationships that must be defined for API and Kong classes.

    Table 8. API relationships
    Parent class Relationship Child class Relationship type
    API

    [cmdb_ci_api]

    Uses::Used by API Component

    [cmdb_ci_api_component]

    Suggested
    API Gateway

    [cmdb_ci_api_gateway]

    Provides::Provided By Managed API

    [cmdb_ci_managed_api]

    Dependent
    API Frontend

    [cmdb_ci_api_frontend]

    Use End Point To::Use End Point From API Backend

    [cmdb_ci_api_backend]

    Suggested
    API Backend

    [cmdb_ci_api_backend]

    Uses::Used By Kong Load Balancer

    [cmdb_ci_kong_lb]

    Suggested
    API Gateway

    [cmdb_ci_api_gateway]

    Provides::Provided By API Product Bundle

    [cmdb_ci_api_product_bundle]

    Dependent
    API Gateway

    [cmdb_ci_api_gateway]

    Provides::Provided By API Consumer Subscription

    [cmdb_ci_api_consumer_subscription]

    Dependent
    API Product Bundle Contains::Contained by API

    [cmdb_ci_api]

    Suggested
    API Product Bundle Used by::Uses API Consumer Subscription

    [cmdb_ci_api_consumer_subscription]

    Suggested

    Related non-CMDB tables

    CMDB CI Class Models v 1.49.0 introduces the following non-CMDB tables as related lists for the following API extension classes:

    API related list
    Table 9. API Deployment [api_deployment]
    Attribute Data type Description
    Name String (100) Name of the API deployment.
    API Reference Reference to the deployed API (cmdb_ci_api).
    Unmatched API Endpoint Reference Reference to the unmatched API endpoint, if the API doesn't match an existing API (cmdb_ci_unmatched_api_endpoint).
    Configuration Item Reference Reference to the CI. This is typically manually specified as a reference, if you know what CI the API is deployed to.
    Note:
    The API Deployment non-CMDB table relates to both the API [cmdb_ci_api] and Unmatched API Endpoint [cmdb_ci_unmatched_api_endpoint] classes.
    API Component related list
    Table 10. API Header [api_header]
    Attribute Data type Description
    Name String (100) Name of the API header.
    API Component Reference Reference to the component where the API header is defined (cmdb_ci_api_component).
    Unmatched API Endpoint Reference Reference to the unmatched API when the endpoint can't be matched to an existing API or component (cmdb_ci_unmatched_endpoint).
    API Gateway related lists
    Table 11. API Consumer [api_consumer]
    Attribute Data type Description
    Username String (100)

    Name of the API consumer.

    Note:
    The Consumer field in the api_policy table is a reference field. To display the username in the Username field on the API Policies list, you must set the display attribute of Username to true. If the attribute is not set to true, then the list displays the Sys ID instead.
    ID String (255) Unique identifier from the source system.
    Custom ID String (100) Alternate display name of the user.
    API Gateway Reference Reference to the gateway where the consumer is defined (cmdb_ci_api_gateway).
    API Consumer Type List API user type (user_type). You can specify:
    • Internal
    • External
    • Unknown
    Discovered State String Represents the current status of the API consumer's account.
    Provider String Name of the identity management provider responsible for authenticating the API consumer.
    Email String Email address of the API consumer.
    Registration Date Date/Time Date the consumer registered with the providing platform.
    Table 12. API Consumer Access [api_consumer_access]
    Attribute Data type Description
    API Consumer Reference Reference to the API consumer record. For example, cmdb_ci_api_consumer.
    API Reference Reference to the API [cmdb_ci_api] to which the consumer is requesting access.
    Auth Method String Authentication method used by the API consumer to access the API. For example, API key or OAuth.
    State Choice Indicates whether the access is currently active or inactive.
    Last used Date/Time Last date and time the API consumer accessed the API.
    Valid to Date/Time Expiration date of the consumer’s access to the API.
    Table 13. API Policy [api_policy]
    Attribute Data type Description
    Name String (100) Name of the API policy.
    ID String (255) Unique identifier from the source system.
    Frontend Reference Reference to the API Frontend (cmdb_ci_api_frontend).
    Managed API Reference Reference to the Managed API (cmdb_ci_managed_api).
    Consumer Reference Reference to the API Consumer (api_consumer) non-CMDB table.
    Note:
    Consumer is a reference field. To display the api_consumer (Username) in the API Policies list, you must set the display attribute to true for Username field on the api_consumer table. If the attribute is not set to true, then the list displays the Sys ID instead.
    Protocols String Array of protocols that this API policy can apply to.
    Active Boolean Determines if this non-CMDB table is considered active or inactive.
    API Gateway Reference Reference to the gateway where the consumer is defined (cmdb_ci_api_gateway).