serviceOrchestrationPushManagement IDD (dynamic strategy)
generic_http & generic_https
Overview
This page describes the generic_http and generic_https service interface of serviceOrchestrationPushManagement, which enables systems to manage data and activities related to the push type of service orchestration process in bulk. It’s implemented using protocol, encoding as stated in the following tables:
generic_http
Profile type | type | Version |
---|---|---|
Transfer protocol | HTTP | 1.1 |
Data encryption | N/A | - |
Encoding | JSON | RFC 8259 |
Compression | N/A | - |
generic_https
Profile type | type | Version |
---|---|---|
Transfer protocol | HTTPS | 1.1 |
Data encryption | TLS | - |
Encoding | JSON | RFC 8259 |
Compression | N/A | - |
Hereby the Interface Design Description (IDD) is provided to the serviceOrchestrationPushManagement – Service Description. For further details about how this service is meant to be used, please consult that document.
Interface Description
subscribe
The service operation request requires an identity related header or certificate and a ServiceOrchestrationSubscriberListRequest JSON encoded body.
POST /serviceorchestration/orchestration/mgmt/push/subscribe HTTP/1.1
Authorization: Bearer <identity-info>
{
"subscriptions":[
{
"targetSystemName":"TemperatureConsumer",
"orchestrationRequest":{
"serviceRequirement":{
"serviceDefinition":"kelvinInfo",
"operations":[
"query-temperature"
],
"versions":[
],
"alivesAt":"2025-10-05T11:35:14Z",
"metadataRequirements":[
],
"interfaceTemplateNames":[
"generic_https"
],
"interfaceAddressTypes":[
"HOSTNAME",
"IPV4"
],
"interfacePropertyRequirements":[
],
"securityPolicies":[
"TIME_LIMITED_TOKEN_AUTH"
],
"preferredProviders":[
]
},
"orchestrationFlags":{
"MATCHMAKING":"true",
"ALLOW_TRANSLATION":"true",
"ONLY_PREFERRED":"false",
"ONLY_EXCLUSIVE":"false",
"ALLOW_INTERCLOUD":"false",
"ONLY_INTERCLOUD":"false"
},
"qosRequirements":{
"maxLatencyMs":"10"
},
"exclusivityDuration":600
},
"notifyInterface":{
"protocol":"mqtt",
"properties":{
"topic":"arrowhead/orchestration-push"
}
},
"duration":100000
}
]
}
The service operation responds with the status code 201
if subscriptions were successfully created. The response also contains a ServiceOrchestrationSubscriptionListResponse JSON encoded body.
{
"entries":[
{
"id":"d2fefc6a-f563-40a2-9ce4-3512c2887755",
"ownerSystemName":"TemperatureSensorManager",
"targetSystemName":"TemperatureConsumer",
"orchestrationRequest":{
"serviceRequirement":{
"serviceDefinition":"kelvinInfo",
"operations":[
"query-temperature"
],
"versions":[
],
"alivesAt":"2025-10-05T11:35:14Z",
"metadataRequirements":[
],
"interfaceTemplateNames":[
"generic_https"
],
"interfaceAddressTypes":[
"HOSTNAME",
"IPV4"
],
"interfacePropertyRequirements":[
],
"securityPolicies":[
"TIME_LIMITED_TOKEN_AUTH"
],
"preferredProviders":[
]
},
"orchestrationFlags":{
"MATCHMAKING":"true",
"ALLOW_TRANSLATION":"true",
"ONLY_PREFERRED":"false",
"ONLY_EXCLUSIVE":"false",
"ALLOW_INTERCLOUD":"false",
"ONLY_INTERCLOUD":"false"
},
"qosRequirements":{
"maxLatencyMs":"10"
},
"exclusivityDuration":600
},
"notifyInterface":{
"protocol":"mqtt",
"properties":{
"topic":"arrowhead/orchestration-push"
}
},
"expiredAt":"2025-10-08T11:35:14Z",
"createdAt":"2025-10-05T11:30:14Z"
}
],
"count":1
}
The error codes are 400
if the request is malformed, 401
if the requester authentication was unsuccessful,
403
if the authenticated requester has no permission and
500
if an unexpected error happens. The error response also contains an
ErrorResponse JSON encoded body.
{
"errorMessage": "Subscription request list is empty",
"errorCode": 400,
"exceptionType": "INVALID_PARAMETER",
"origin": "POST /serviceorchestration/orchestration/mgmt/push/subscribe"
}
unsubscribe
The service operation request requires an identity related header or certificate and a query parameter ids, which is a List<UUID>. It contains the identifiers of the subscription records to remove.
DELETE /serviceorchestration/orchestration/mgmt/push/unsubscribe?ids=d2fefc6a-f563-40a2-9ce4-3512c2887755&ids=a44ab333-cfb5-420b-a7cf-b327904e243b HTTP/1.1
Authorization: Bearer <identity-info>
The service operation responds with the status code 200
if called successfully. The success response does not contain any response body.
The error codes are 400
if the request is malformed, 401
if the requester authentication was unsuccessful, 403
if the requester has no permission and 500
if an unexpected error happens. The error response also contains an ErrorResponse JSON encoded body.
{
"errorMessage": "a44ab333-cfb5-420b-a7cf-b327904e243b is not owned by the requester",
"errorCode": 403,
"exceptionType": "FORBIDDEN",
"origin": "POST /serviceorchestration/orchestration/mgmt/push/unsubscribe"
}
trigger
The service operation request requires an identity related header or certificate and a ServiceOrchestrationPushTriggerRequest JSON encoded body.
POST /serviceorchestration/orchestration/mgmt/push/trigger HTTP/1.1
Authorization: Bearer <identity-info>
{
"targetSystems":[
"TemperatureConsumer"
],
"subscriptionIds":[
]
}
The service operation responds with the status code 201
if orchestration jobs were successfully created. The response also contains a ServiceOrchestrationJobListResponse JSON encoded body.
{
"jobs":[
{
"id":"1fac8a1c-aa4b-456e-b501-01289035fcc6",
"status":"IN_PROGRESS",
"type":"PUSH",
"requesterSystem":"TemperatureSensorManager",
"targetSystem":"TemperatureConsumer",
"serviceDefinition":"kelvinInfo",
"subscriptionId":"d2fefc6a-f563-40a2-9ce4-3512c2887755",
"message":"",
"createdAt":"2025-10-05T11:30:14Z",
"startedAt":"2025-10-05T11:30:17Z",
"finishedAt":""
}
]
}
The error codes are 400
if the request is malformed, 401
if the requester authentication was unsuccessful, 403
if the requester has no permission and 500
if an unexpected error happens. The error response also contains an ErrorResponse JSON encoded body.
{
"errorMessage": "Invalid subscription id: a44ab333-cfb5-420b-a7cf-b327904e243b",
"errorCode": 400,
"exceptionType": "INVALID_PARAMETER",
"origin": "POST /serviceorchestration/orchestration/mgmt/push/trigger"
}
query
The service operation request requires an identity related header or certificate and a ServiceOrchestrationSubscriptionQueryRequest JSON encoded body.
POST /serviceorchestration/orchestration/mgmt/push/query HTTP/1.1
Authorization: Bearer <identity-info>
{
"pagination":{
"page":0,
"size":20,
"direction":"ASC",
"sortField":"createdAt"
},
"ownerSystems":[
"TemperatureSensorManager"
],
"targetSystems":[
"TemperatureConsumer"
],
"serviceDefinitions":[
"kelvinInfo"
]
}
The service operation responds with the status code 200
if subscriptions were successfully queried. The response also contains a ServiceOrchestrationSubscriptionListResponse JSON encoded body.
{
"entries":[
{
"id":"d2fefc6a-f563-40a2-9ce4-3512c2887755",
"ownerSystemName":"TemperatureSensorManager",
"targetSystemName":"TemperatureConsumer",
"orchestrationRequest":{
"serviceRequirement":{
"serviceDefinition":"kelvinInfo",
"operations":[
"query-temperature"
],
"versions":[
],
"alivesAt":"2025-10-05T11:35:14Z",
"metadataRequirements":[
],
"interfaceTemplateNames":[
"generic_https"
],
"interfaceAddressTypes":[
"HOSTNAME",
"IPV4"
],
"interfacePropertyRequirements":[
],
"securityPolicies":[
"TIME_LIMITED_TOKEN_AUTH"
],
"preferredProviders":[
]
},
"orchestrationFlags":{
"MATCHMAKING":"true",
"ALLOW_TRANSLATION":"true",
"ONLY_PREFERRED":"false",
"ONLY_EXCLUSIVE":"false",
"ALLOW_INTERCLOUD":"false",
"ONLY_INTERCLOUD":"false"
},
"qosRequirements":{
"maxLatencyMs":"10"
},
"exclusivityDuration":600
},
"notifyInterface":{
"protocol":"mqtt",
"properties":{
"topic":"arrowhead/orchestration-push"
}
},
"expiredAt":"2025-10-08T11:35:14Z",
"createdAt":"2025-10-05T11:30:14Z"
}
],
"count":1
}
The error codes are 400
if the request is malformed, 401
if the requester authentication was unsuccessful, 403
if the requester has no permission and 500
if an unexpected error happens. The error response also contains an ErrorResponse JSON encoded body.
{
"errorMessage": "Owner system list contains empty element",
"errorCode": 400,
"exceptionType": "INVALID_PARAMETER",
"origin": "POST /serviceorchestration/orchestration/mgmt/push/query"
}