Dynamic Data Using Adapter iapMetadata

Prev Next

With changes to APIs change over time, the Adapter Team also has to make updates to Itential's open source adapters. This can often include making changes to existing calls. As such, the Adapter Team usually has to add a new call with new parameters so that Itential does not break the existing call and impact the customers that are using it.

iapMetadata Object Added

During 2024, the Itential Adapter Team added an iapMetadata object to all new calls created in an existing adapter, as well as all calls in a new adapter. This is done by the Adapter Builder during the build and update process. This object is not added to any existing adapter calls as it would be a breaking change.

Importance

The importance of the iapMetadata object is that it allows data to be added to a call from the Itential workflow. This data can then be placed into a call without having to make changes in the future that would break the call.

This object allows you to add dynamic information to various different areas of an API call. You can add:

  • Headers
  • Query Parameters
  • Path Variables
  • Payload
  • Call specific properties

In addition, this object will support further extensions in the future.

Format

The iapMetadata object is an object that will contain fields and values. Each field serves a specific purpose. The format should look like this:

{
  "addlHeaders": {
    <header1_name>: <value1>,
    <header2_name>: <value2>
  },
  "uriQuery": {
    <query1_key>: <value1>
  },
  "payload": {
    <data1_field>: <value1>
  },
  "callProperties": {
    <prop1_name>: <value1>,
    <prop2_group>: {
      <prop2_name>: <value2>
    }
  }
}

Working with iapMetadata

For more detail on using the iapMetadata object in adapter calls, refer to: