Docs / Reference

Discovery API

The Discovery API is a read-only OData V2 interface that exposes ASAPIO Integration Add-on configuration to external tools. It allows systems such as the Whitepaper.id Integration Cockpit and the ASAPIO Event Studio Landscape Explorer to discover installed connector types, configured connections, and inbound/outbound interfaces — including status flags and endpoint details.

The API runs directly on your SAP instance alongside the add-on. It provides no write capability; all configuration changes must be made through the standard add-on tools.

Availability

The Discovery API is included in ASAPIO Integration Add-on release 9.32607 (July 2026) and later. For earlier releases, a separate installation file is available — contact ASAPIO support to request it.

Enabling the OData Service

Prerequisites

Activation Steps

  1. Open transaction /IWFND/MAINT_SERVICE (Activate and Maintain Services).
  2. Click Add Service.
  3. Enter System Alias LOCAL (for embedded Gateway).
  4. Search for the technical service name /ASADEV/ODATA_EXTINT_1_SRV and select it.
  5. Click Add Selected Services, assign a package and transport request, and confirm.
  6. Verify the service is active in /IWFND/MAINT_SERVICE and SICF.

Test activation using the SAP Gateway Client or a browser:

GET /sap/opu/odata/ASADEV/ODATA_EXTINT_1_SRV/$metadata

A 200 OK response with EDMX metadata confirms the service is reachable.

Authorization

All endpoints require display authorization for ASAPIO configuration: authorization object /ASADEV/CU, activity 03. A missing authorization returns a business error. Access restriction per user or per instance is handled externally — not within the service itself.

API Reference

Connectors

GET /ConnectorSet — List installed connectors

Returns all installed connector types. Non-installed connectors are excluded. Supports $filter by ConnectionId or InterfaceId, and $top / $skip for paging. Results are sorted by ConnectorId.

GET /ConnectorSet('{ConnectorId}') — Single connector

Returns a single connector by ID. Returns 404 Not Found if the connector is not present in any outbound or inbound source.

Connections

GET /ConnectionSet — List connections

Returns all configured connections. HTTP destinations are enriched with Hostname, Port, and SSL via RFC_READ_HTTP_DESTINATION. Returns a business error (not an empty list) if no connections exist.

GET /ConnectorSet('{ConnectorId}')/ToConnections — Connections by connector

Navigation property — returns all connections using a specific connector type.

Interfaces

GET /InterfaceSet — List all interfaces

Returns all inbound and outbound interfaces. Supports $filter by ConnectionId (recommended for large landscapes) or InterfaceId. Results are sorted by instance ASC, object ASC, direction DESC.

GET /ConnectionSet('{ConnectionId}')/ToInterfaces — Interfaces by connection (preferred)

Returns interfaces scoped to a single connection. Use this to reduce response size in landscapes with many interfaces.

GET /InterfaceSet(InterfaceId='{InterfaceId}',ConnectionId='{ConnectionId}') — Single interface

Returns a single interface by composite key. Returns 404 Not Found if the interface does not exist.

Example response:

{
  "d": {
    "InterfaceId": "SALESORDER_OUT",
    "ConnectionId": "PRD_AZURE",
    "Direction": "Outbound",
    "MessageType": "BUS2032",
    "lastRun": "2026-04-24T09:15:00Z",
    "isActive": true,
    "Events": "CREATED,CHANGED",
    "HeaderAttributes": "TOPIC=sales-orders",
    "LoadType": "I",
    "DataLayer": "ASAPIO Payload",
    "ASAPIOPayload": "ZACI_SALESORDER",
    "ASAPIOPayloadVersion": "0001",
    "TableView": ""
  }
}

isActive determination:

  1. Checks classic BOR event linkage via SWFDEVTYP → SWFDEVENA; if enabled, returns true.
  2. If unmatched and /ASADEV/DATA_LOG exists, checks the Event Studio runtime log for an active record matching ConnectionId + InterfaceId.
  3. RAP linkages created outside Event Studio are not currently reflected in isActive.

Schema Reference

Connector (ConnectorSet)

FieldTypeNotes
ConnectorIdStringUnique connector type identifier
isInstalledBooleanAlways true; non-installed connectors are excluded from results
isActiveBooleantrue if at least one connection uses this connector type
HeaderAttributesStringComma-separated NAME=VALUE pairs
LoadTypeStringOutbound only: I (Incremental), P (Packed), F (Full load)
DataLayerStringOutbound only: ASAPIO Payload, Table/View, or Custom
ASAPIOPayloadString (32)Outbound: payload view name
ASAPIOPayloadVersionString (16)Outbound: payload version
TableViewString (32)Outbound: table or view name

Connection (ConnectionSet)

FieldTypeNotes
ConnectionIdString (15)ASAPIO instance identifier; primary navigation anchor
ConnectionTypeStringConnector type used by this connection
RFCDestStringRFC destination name
HostnameStringHTTP destinations only
PortStringHTTP destinations only
SSLBooleanHTTP destinations only

Interface (InterfaceSet)

FieldTypeNotes
InterfaceIdString (30)Interface identifier
ConnectionIdString (15)Parent connection; primary filter key
DirectionStringInbound or Outbound
MessageTypeStringSAP message or event type
lastRunStringTimestamp of last execution
isActiveBooleanActivation status (see determination logic above)
EventsStringComma-separated linked events; always populated regardless of isActive
HeaderAttributesStringComma-separated NAME=VALUE pairs; always populated
LoadTypeStringOutbound only: I, P, or F
DataLayerStringOutbound only: ASAPIO Payload, Table/View, or Custom
ASAPIOPayloadString (32)Outbound: payload view name
ASAPIOPayloadVersionString (16)Outbound: payload version
TableViewString (32)Outbound: table or view name

Usage Notes