REST Endpoint Metadata and a Swagger Link to a REST Metadata Description

When you activate an integration with a REST Adapter trigger connection, an endpoint metadata URL link is provided at the top of the Integrations page.

For example:
integration Hello World (1.1.0) was activated successfully.
You can access it via http://host:port/ic/api/integration/v1/flows/rest/HELLO_WORLD/1.0/metadata.

This link enables you to inspect the shape of the API. The metadata includes additional information about the endpoint description, the endpoint URI, and the Swagger URI.

Note the following details:

  • If you import an IAR file with an endpoint description defined in the inbound (trigger) direction, update the connection, activate the integration, and access the metadata in a browser (for example, through a URL similar in structure to the following), the endpoint description is not shown even though the inbound direction has a description defined.

    http://host:port/ic/api/integration/v1/flows/rest/OLD_INTG_DESC/1.0/metadata

    This is expected behavior. The description is stored in a JCA file from which it is read and displayed. Existing integrations do not have this file. Even after upgrades, the existing integration does not show the endpoint description. To get the correct description, you must re-edit the REST Adapter to generate the artifacts again and re-activate the integration.

  • If you attempt to re-edit an imported integration or existing integration in the Adapter Endpoint Configuration Wizard with a resource URI of /metadata or /metadata/swagger, you cannot navigate the wizard and receive an error. This is because the /metadata or /metadata/swagger keywords are reserved.

  • If the relative URI has template parameters, then at runtime the value of the relative URI if resolved to /metadata or /metadata/swagger is treated as reserved for retrieving the integration metadata. Note the following behavior:
    • /{param}: Allowed - The integration cannot be invoked with the value of param as metadata and returns the metadata page.

    • /{param}/swagger: Allowed - The integration cannot be invoked with the value of param as metadata and returns the Swagger page.

    • /metadata/{param}: Allowed - The integration cannot be invoked with the value of param as Swagger and returns the Swagger page.

  • Metadata and Swagger are only served depending on predefined reserve URIs for an integration. Resources with arbitrary URIs ending with values metadata or swagger are not confused with the endpoint documentation artifacts.