@startuml useCase16Notification

hide footbox

participant "Buyer/Client" as B
participant "Seller/Server" as S

B -> S: POST {{baseUrl}}/hub with {{callbackUrl}} details
S --> B: 201 confirmation with {{id}}
...
B -> S: POST {{baseUrl}}/suspendTestJob (SuspendTestJob_Common)
S -> S: basic validation

alt succesful inquiry
  S --> B: 201 SuspendTestJob with {{id}}, `acknowledged` state 
  ...

  group loop [until Suspend Test Job in accepted state]
      S -> B: {{callbackUrl}}/listener/suspendTestJobStateChangeEvent ({{id}})
      B --> S: 204 confirmation
      B -> S:   GET {{baseUrl}}/suspendTestJob/{{id}}
      return 200 SuspendTestJob in current state
  end

else validation or internal problem
  S --> B : 4xx or 5xx error response
end 

...

B -> S : DELETE {{baseUrl}}/hub/{{id}} 
S --> B : 204 confirmation

@enduml