Open Resource Discovery API
Open Resource Discovery (ORD) is a protocol for machine-readable resource and capability discovery, enabling API management platforms to automatically discover what services and APIs an application exposes.
Open Resource Discovery (ORD) is a protocol for machine-readable resource and capability discovery, enabling API management platforms to automatically discover what services and APIs an application exposes.
openapi: 3.1.0
info:
title: Application Research Open Resource Discovery (ORD) API
version: 1.12.0
description: |
The Open Resource Discovery (ORD) API provides access to ORD Documents which serve as wrappers
for ORD resources and taxonomy. This API enables discovery and management of API resources,
event resources, data products, entity types, capabilities, and integration dependencies.
ORD enables machine-readable self-description of systems and their capabilities, supporting
automated discovery, integration, and governance of enterprise APIs and services.
contact:
name: ORD Specification Team
url: https://open-resource-discovery.org
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://api.example.com/ord/v1
description: Production server
- url: https://sandbox.example.com/ord/v1
description: Sandbox server
tags:
- name: API Resources
description: API Resource operations
- name: Capabilities
description: Capability operations
- name: Consumption Bundles
description: Consumption Bundle operations
- name: Data Products
description: Data Product operations
- name: Entity Types
description: Entity Type operations
- name: Event Resources
description: Event Resource operations
- name: Groups
description: Group and Group Type operations
- name: Integration Dependencies
description: Integration Dependency operations
- name: ORD Documents
description: Operations for ORD Document management
- name: Packages
description: Package management operations
- name: Products
description: Product operations
- name: Vendors
description: Vendor operations
paths:
/documents:
get:
tags:
- ORD Documents
summary: Application Research List all ORD Documents
description: Retrieves a list of all available ORD Documents
operationId: listOrdDocuments
parameters:
- $ref: '#/components/parameters/LimitParam'
- $ref: '#/components/parameters/OffsetParam'
- $ref: '#/components/parameters/PerspectiveParam'
responses:
'200':
description: Successfully retrieved list of ORD Documents
content:
application/json:
schema:
$ref: '#/components/schemas/OrdDocumentList'
examples:
documentList:
$ref: '#/components/examples/OrdDocumentListExample'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalServerError'
post:
tags:
- ORD Documents
summary: Application Research Create a new ORD Document
description: Creates a new ORD Document with the provided resources and taxonomy
operationId: createOrdDocument
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrdDocument'
examples:
iotPlatform:
$ref: '#/components/examples/IoTPlatformOrdDocumentExample'
successFactors:
$ref: '#/components/examples/SuccessFactorsOrdDocumentExample'
responses:
'201':
description: Successfully created ORD Document
content:
application/json:
schema:
$ref: '#/components/schemas/OrdDocument'
examples:
created:
$ref: '#/components/examples/IoTPlatformOrdDocumentExample'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalServerError'
/documents/{documentId}:
get:
tags:
- ORD Documents
summary: Application Research Get an ORD Document by ID
description: Retrieves a specific ORD Document by its identifier
operationId: getOrdDocument
parameters:
- $ref: '#/components/parameters/DocumentIdParam'
responses:
'200':
description: Successfully retrieved ORD Document
content:
application/json:
schema:
$ref: '#/components/schemas/OrdDocument'
examples:
iotPlatform:
$ref: '#/components/examples/IoTPlatformOrdDocumentExample'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
put:
tags:
- ORD Documents
summary: Application Research Update an ORD Document
description: Updates an existing ORD Document
operationId: updateOrdDocument
parameters:
- $ref: '#/components/parameters/DocumentIdParam'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrdDocument'
examples:
update:
$ref: '#/components/examples/IoTPlatformOrdDocumentExample'
responses:
'200':
description: Successfully updated ORD Document
content:
application/json:
schema:
$ref: '#/components/schemas/OrdDocument'
examples:
updated:
$ref: '#/components/examples/IoTPlatformOrdDocumentExample'
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
delete:
tags:
- ORD Documents
summary: Application Research Delete an ORD Document
description: Deletes an ORD Document
operationId: deleteOrdDocument
parameters:
- $ref: '#/components/parameters/DocumentIdParam'
responses:
'204':
description: Successfully deleted ORD Document
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/packages:
get:
tags:
- Packages
summary: Application Research List all Packages
description: Retrieves a list of all Packages across all ORD Documents
operationId: listPackages
parameters:
- $ref: '#/components/parameters/LimitParam'
- $ref: '#/components/parameters/OffsetParam'
- $ref: '#/components/parameters/VendorFilterParam'
responses:
'200':
description: Successfully retrieved list of Packages
content:
application/json:
schema:
$ref: '#/components/schemas/PackageList'
examples:
packageList:
$ref: '#/components/examples/PackageListExample'
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalServerError'
/packages/{ordId}:
get:
tags:
- Packages
summary: Application Research Get a Package by ORD ID
description: Retrieves a specific Package by its ORD ID
operationId: getPackage
parameters:
- $ref: '#/components/parameters/PackageOrdIdParam'
responses:
'200':
description: Successfully retrieved Package
content:
application/json:
schema:
$ref: '#/components/schemas/Package'
examples:
package:
$ref: '#/components/examples/PackageExample'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/api-resources:
get:
tags:
- API Resources
summary: Application Research List all API Resources
description: Retrieves a list of all API Resources across all ORD Documents
operationId: listApiResources
parameters:
- $ref: '#/components/parameters/LimitParam'
- $ref: '#/components/parameters/OffsetParam'
- $ref: '#/components/parameters/ApiProtocolFilterParam'
- $ref: '#/components/parameters/VisibilityFilterParam'
- $ref: '#/components/parameters/ReleaseStatusFilterParam'
responses:
'200':
description: Successfully retrieved list of API Resources
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResourceList'
examples:
apiResourceList:
$ref: '#/components/examples/ApiResourceListExample'
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalServerError'
/api-resources/{ordId}:
get:
tags:
- API Resources
summary: Application Research Get an API Resource by ORD ID
description: Retrieves a specific API Resource by its ORD ID
operationId: getApiResource
parameters:
- $ref: '#/components/parameters/ApiResourceOrdIdParam'
responses:
'200':
description: Successfully retrieved API Resource
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResource'
examples:
apiResource:
$ref: '#/components/examples/ApiResourceExample'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/api-resources/{ordId}/definitions:
get:
tags:
- API Resources
summary: Application Research Get API Resource Definitions
description: Retrieves all resource definitions for a specific API Resource
operationId: getApiResourceDefinitions
parameters:
- $ref: '#/components/parameters/ApiResourceOrdIdParam'
responses:
'200':
description: Successfully retrieved API Resource Definitions
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiResourceDefinition'
examples:
definitions:
$ref: '#/components/examples/ApiResourceDefinitionListExample'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/event-resources:
get:
tags:
- Event Resources
summary: Application Research List all Event Resources
description: Retrieves a list of all Event Resources across all ORD Documents
operationId: listEventResources
parameters:
- $ref: '#/components/parameters/LimitParam'
- $ref: '#/components/parameters/OffsetParam'
- $ref: '#/components/parameters/VisibilityFilterParam'
- $ref: '#/components/parameters/ReleaseStatusFilterParam'
responses:
'200':
description: Successfully retrieved list of Event Resources
content:
application/json:
schema:
$ref: '#/components/schemas/EventResourceList'
examples:
eventResourceList:
$ref: '#/components/examples/EventResourceListExample'
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalServerError'
/event-resources/{ordId}:
get:
tags:
- Event Resources
summary: Application Research Get an Event Resource by ORD ID
description: Retrieves a specific Event Resource by its ORD ID
operationId: getEventResource
parameters:
- $ref: '#/components/parameters/EventResourceOrdIdParam'
responses:
'200':
description: Successfully retrieved Event Resource
content:
application/json:
schema:
$ref: '#/components/schemas/EventResource'
examples:
eventResource:
$ref: '#/components/examples/EventResourceExample'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/entity-types:
get:
tags:
- Entity Types
summary: Application Research List all Entity Types
description: Retrieves a list of all Entity Types across all ORD Documents
operationId: listEntityTypes
parameters:
- $ref: '#/components/parameters/LimitParam'
- $ref: '#/components/parameters/OffsetParam'
- $ref: '#/components/parameters/LevelFilterParam'
- $ref: '#/components/parameters/VisibilityFilterParam'
responses:
'200':
description: Successfully retrieved list of Entity Types
content:
application/json:
schema:
$ref: '#/components/schemas/EntityTypeList'
examples:
entityTypeList:
$ref: '#/components/examples/EntityTypeListExample'
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalServerError'
/entity-types/{ordId}:
get:
tags:
- Entity Types
summary: Application Research Get an Entity Type by ORD ID
description: Retrieves a specific Entity Type by its ORD ID
operationId: getEntityType
parameters:
- $ref: '#/components/parameters/EntityTypeOrdIdParam'
responses:
'200':
description: Successfully retrieved Entity Type
content:
application/json:
schema:
$ref: '#/components/schemas/EntityType'
examples:
entityType:
$ref: '#/components/examples/EntityTypeExample'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/data-products:
get:
tags:
- Data Products
summary: Application Research List all Data Products
description: Retrieves a list of all Data Products across all ORD Documents
operationId: listDataProducts
parameters:
- $ref: '#/components/parameters/LimitParam'
- $ref: '#/components/parameters/OffsetParam'
- $ref: '#/components/parameters/DataProductTypeFilterParam'
- $ref: '#/components/parameters/DataProductCategoryFilterParam'
responses:
'200':
description: Successfully retrieved list of Data Products
content:
application/json:
schema:
$ref: '#/components/schemas/DataProductList'
examples:
dataProductList:
$ref: '#/components/examples/DataProductListExample'
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalServerError'
/data-products/{ordId}:
get:
tags:
- Data Products
summary: Application Research Get a Data Product by ORD ID
description: Retrieves a specific Data Product by its ORD ID
operationId: getDataProduct
parameters:
- $ref: '#/components/parameters/DataProductOrdIdParam'
responses:
'200':
description: Successfully retrieved Data Product
content:
application/json:
schema:
$ref: '#/components/schemas/DataProduct'
examples:
dataProduct:
$ref: '#/components/examples/DataProductExample'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/capabilities:
get:
tags:
- Capabilities
summary: Application Research List all Capabilities
description: Retrieves a list of all Capabilities across all ORD Documents
operationId: listCapabilities
parameters:
- $ref: '#/components/parameters/LimitParam'
- $ref: '#/components/parameters/OffsetParam'
- $ref: '#/components/parameters/CapabilityTypeFilterParam'
responses:
'200':
description: Successfully retrieved list of Capabilities
content:
application/json:
schema:
$ref: '#/components/schemas/CapabilityList'
examples:
capabilityList:
$ref: '#/components/examples/CapabilityListExample'
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalServerError'
/capabilities/{ordId}:
get:
tags:
- Capabilities
summary: Application Research Get a Capability by ORD ID
description: Retrieves a specific Capability by its ORD ID
operationId: getCapability
parameters:
- $ref: '#/components/parameters/CapabilityOrdIdParam'
responses:
'200':
description: Successfully retrieved Capability
content:
application/json:
schema:
$ref: '#/components/schemas/Capability'
examples:
capability:
$ref: '#/components/examples/CapabilityExample'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/integration-dependencies:
get:
tags:
- Integration Dependencies
summary: Application Research List all Integration Dependencies
description: Retrieves a list of all Integration Dependencies across all ORD Documents
operationId: listIntegrationDependencies
parameters:
- $ref: '#/components/parameters/LimitParam'
- $ref: '#/components/parameters/OffsetParam'
- $ref: '#/components/parameters/MandatoryFilterParam'
responses:
'200':
description: Successfully retrieved list of Integration Dependencies
content:
application/json:
schema:
$ref: '#/components/schemas/IntegrationDependencyList'
examples:
integrationDependencyList:
$ref: '#/components/examples/IntegrationDependencyListExample'
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalServerError'
/integration-dependencies/{ordId}:
get:
tags:
- Integration Dependencies
summary: Application Research Get an Integration Dependency by ORD ID
description: Retrieves a specific Integration Dependency by its ORD ID
operationId: getIntegrationDependency
parameters:
- $ref: '#/components/parameters/IntegrationDependencyOrdIdParam'
responses:
'200':
description: Successfully retrieved Integration Dependency
content:
application/json:
schema:
$ref: '#/components/schemas/IntegrationDependency'
examples:
integrationDependency:
$ref: '#/components/examples/IntegrationDependencyExample'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/consumption-bundles:
get:
tags:
- Consumption Bundles
summary: Application Research List all Consumption Bundles
description: Retrieves a list of all Consumption Bundles across all ORD Documents
operationId: listConsumptionBundles
parameters:
- $ref: '#/components/parameters/LimitParam'
- $ref: '#/components/parameters/OffsetParam'
- $ref: '#/components/parameters/VisibilityFilterParam'
responses:
'200':
description: Successfully retrieved list of Consumption Bundles
content:
application/json:
schema:
$ref: '#/components/schemas/ConsumptionBundleList'
examples:
consumptionBundleList:
$ref: '#/components/examples/ConsumptionBundleListExample'
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalServerError'
/consumption-bundles/{ordId}:
get:
tags:
- Consumption Bundles
summary: Application Research Get a Consumption Bundle by ORD ID
description: Retrieves a specific Consumption Bundle by its ORD ID
operationId: getConsumptionBundle
parameters:
- $ref: '#/components/parameters/ConsumptionBundleOrdIdParam'
responses:
'200':
description: Successfully retrieved Consumption Bundle
content:
application/json:
schema:
$ref: '#/components/schemas/ConsumptionBundle'
examples:
consumptionBundle:
$ref: '#/components/examples/ConsumptionBundleExample'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/products:
get:
tags:
- Products
summary: Application Research List all Products
description: Retrieves a list of all Products across all ORD Documents
operationId: listProducts
parameters:
- $ref: '#/components/parameters/LimitParam'
- $ref: '#/components/parameters/OffsetParam'
- $ref: '#/components/parameters/VendorFilterParam'
responses:
'200':
description: Successfully retrieved list of Products
content:
application/json:
schema:
$ref: '#/components/schemas/ProductList'
examples:
productList:
$ref: '#/components/examples/ProductListExample'
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalServerError'
/products/{ordId}:
get:
tags:
- Products
summary: Application Research Get a Product by ORD ID
description: Retrieves a specific Product by its ORD ID
operationId: getProduct
parameters:
- $ref: '#/components/parameters/ProductOrdIdParam'
responses:
'200':
description: Successfully retrieved Product
content:
application/json:
schema:
$ref: '#/components/schemas/Product'
examples:
product:
$ref: '#/components/examples/ProductExample'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/vendors:
get:
tags:
- Vendors
summary: Application Research List all Vendors
description: Retrieves a list of all Vendors across all ORD Documents
operationId: listVendors
parameters:
- $ref: '#/components/parameters/LimitParam'
- $ref: '#/components/parameters/OffsetParam'
responses:
'200':
description: Successfully retrieved list of Vendors
content:
application/json:
schema:
$ref: '#/components/schemas/VendorList'
examples:
vendorList:
$ref: '#/components/examples/VendorListExample'
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalServerError'
/vendors/{ordId}:
get:
tags:
- Vendors
summary: Application Research Get a Vendor by ORD ID
description: Retrieves a specific Vendor by its ORD ID
operationId: getVendor
parameters:
- $ref: '#/components/parameters/VendorOrdIdParam'
responses:
'200':
description: Successfully retrieved Vendor
content:
application/json:
schema:
$ref: '#/components/schemas/Vendor'
examples:
vendor:
$ref: '#/components/examples/VendorExample'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/groups:
get:
tags:
- Groups
summary: Application Research List all Groups
description: Retrieves a list of all Groups across all ORD Documents
operationId: listGroups
parameters:
- $ref: '#/components/parameters/LimitParam'
- $ref: '#/components/parameters/OffsetParam'
- $ref: '#/components/parameters/GroupTypeFilterParam'
responses:
'200':
description: Successfully retrieved list of Groups
content:
application/json:
schema:
$ref: '#/components/schemas/GroupList'
examples:
groupList:
$ref: '#/components/examples/GroupListExample'
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalServerError'
/groups/{groupId}:
get:
tags:
- Groups
summary: Application Research Get a Group by Group ID
description: Retrieves a specific Group by its Group ID
operationId: getGroup
parameters:
- $ref: '#/components/parameters/GroupIdParam'
responses:
'200':
description: Successfully retrieved Group
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
examples:
group:
$ref: '#/components/examples/GroupExample'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/group-types:
get:
tags:
- Groups
summary: Application Research List all Group Types
description: Retrieves a list of all Group Types across all ORD Documents
operationId: listGroupTypes
parameters:
- $ref: '#/components/parameters/LimitParam'
- $ref: '#/components/parameters/OffsetParam'
responses:
'200':
description: Successfully retrieved list of Group Types
content:
application/json:
schema:
$ref: '#/components/schemas/GroupTypeList'
examples:
groupTypeList:
$ref: '#/components/examples/GroupTypeListExample'
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalServerError'
/group-types/{groupTypeId}:
get:
tags:
- Groups
summary: Application Research Get a Group Type by Group Type ID
description: Retrieves a specific Group Type by its Group Type ID
operationId: getGroupType
parameters:
- $ref: '#/components/parameters/GroupTypeIdParam'
responses:
'200':
description: Successfully retrieved Group Type
content:
application/json:
schema:
$ref: '#/components/schemas/GroupType'
examples:
groupType:
$ref: '#/components/examples/GroupTypeExample'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
components:
securitySchemes:
oauth2:
type: oauth2
description: OAuth 2.0 authentication
flows:
clientCredentials:
tokenUrl: /oauth/token
scopes:
ord:read: Read access to ORD resources
ord:write: Write access to ORD resources
ord:admin: Administrative access to ORD resources
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
parameters:
DocumentIdParam:
name: documentId
in: path
required: true
description: Unique identifier of the ORD Document
schema:
type: string
example: sap-iot-platform-v1
PackageOrdIdParam:
name: ordId
in: path
required: true
description: ORD ID of the Package
schema:
type: string
pattern: '^([a-z0-9]+(?:[.][a-z0-9]+)*):(package):([a-zA-Z0-9._\-]+):(v0|v[1-9][0-9]*)$'
example: sap.iot:package:DeviceManagement:v1
ApiResourceOrdIdParam:
name: ordId
in: path
required: true
description: ORD ID of the API Resource
schema:
type: string
pattern: '^([a-z0-9]+(?:[.][a-z0-9]+)*):(apiResource):([a-zA-Z0-9._\-]+):(v0|v[1-9][0-9]*)$'
example: sap.iot:apiResource:DeviceManagementAPI:v1
EventResourceOrdIdParam:
name: ordId
in: path
required: true
description: ORD ID of the Event Resource
schema:
type: string
pattern: '^([a-z0-9]+(?:[.][a-z0-9]+)*):(eventResource):([a-zA-Z0-9._\-]+):(v0|v[1-9][0-9]*)$'
example: sap.iot:eventResource:DeviceEvents:v1
EntityTypeOrdIdParam:
name: ordId
in: path
required: true
description: ORD ID of the Entity Type
schema:
type: string
pattern: '^([a-z0-9]+(?:[.][a-z0-9]+)*):(entityType):([a-zA-Z0-9._\-]+):(v0|v[1-9][0-9]*)$'
example: sap.iot:entityType:Device:v1
DataProductOrdIdParam:
name: ordId
in: path
required: true
description: ORD ID of the Data Product
schema:
type: string
pattern: '^([a-z0-9]+(?:[.][a-z0-9]+)*):(dataProduct):([a-zA-Z0-9._\-]+):(v0|v[1-9][0-9]*)$'
example: sap.iot:dataProduct:AssetPerformance:v1
CapabilityOrdIdParam:
name: ordId
in: path
required: true
description: ORD ID of the Capability
schema:
type: string
pattern: '^([a-z0-9-]+(?:[.][a-z0-9-]+)*):(capability):([a-zA-Z0-9._\-]+):(v0|v[1-9][0-9]*)$'
example: sap.iot:capability:EdgeProcessing:v1
IntegrationDependencyOrdIdParam:
name: ordId
in: path
required: true
description: ORD ID of the Integration Dependency
schema:
type: string
pattern: '^([a-z0-9-]+(?:[.][a-z0-9-]+)*):(integrationDependency):([a-zA-Z0-9._\-]+):(v0|v[1-9][0-9]*)$'
example: sap.iot:integrationDependency:SensorDataIngestion:v1
ConsumptionBundleOrdIdParam:
name: ordId
in: path
required: true
description: ORD ID of the Consumption Bundle
schema:
type: string
pattern: '^([a-z0-9]+(?:[.][a-z0-9]+)*):(consumptionBundle):([a-zA-Z0-9._\-]+):(v0|v[1-9][0-9]*)$'
example: sap.iot:consumptionBundle:PlatformAPIs:v1
ProductOrdIdParam:
name: ordId
in: path
required: true
description: ORD ID of the Product
schema:
type: string
pattern: '^([a-z0-9]+(?:[.][a-z0-9]+)*):(product):([a-zA-Z0-9._\-]+):()$'
example: 'sap:product:IoTPlatform:'
VendorOrdIdParam:
name: ordId
in: path
required: true
description: ORD ID of the Vendor
schema:
type: string
pattern: '^([a-z0-9]+):(vendor):([a-zA-Z0-9._\-]+):()$'
example: 'sap:vendor:SAP:'
GroupIdParam:
name: groupId
in: path
required: true
description: Group ID
schema:
type: string
pattern: '^([a-z0-9-]+(?:[.][a-z0-9-]+)*):([a-zA-Z0-9._\-\/]+):([a-z0-9-]+(?:[.][a-z0-9-]+)*):([a-zA-Z0-9._\-\/]+)$'
example: sap.iot:capability-area:sap.iot:Connectivity
GroupTypeIdParam:
name: groupTypeId
in: path
required: true
description: Group Type ID
schema:
type: string
pattern: '^([a-z0-9-]+(?:[.][a-z0-9-]+)*):([a-zA-Z0-9._\-\/]+)$'
example: sap.iot:capability-area
LimitParam:
name: limit
in: query
description: Maximum number of items to return
schema:
type: integer
minimum: 1
maximum: 100
default: 20
OffsetPa
# --- truncated at 32 KB (112 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/application-research/refs/heads/main/openapi/open-resource-discovery-openapi.yml