arazzo: 1.0.1 info: title: SAP BRIM Suspend and Resume a Subscription summary: Suspend an active subscription, confirm the paused state, then reactivate it. description: >- Pauses and later resumes billing on a subscription in SAP BRIM Subscription Billing. The workflow suspends the subscription with a documented reason, reads it back to confirm it entered the SUSPENDED state, and then reactivates it so billing resumes. Every step spells out its request inline so the flow can be read and executed without opening the underlying OpenAPI description. version: 1.0.0 sourceDescriptions: - name: subscriptionBillingApi url: ../openapi/sap-brim-subscription-billing-openapi.yml type: openapi workflows: - workflowId: suspend-and-resume summary: Suspend a subscription, verify it is paused, and reactivate it. description: >- Suspends an active subscription with a reason, confirms the SUSPENDED status, and reactivates the subscription to resume billing. inputs: type: object required: - subscriptionId - reason properties: subscriptionId: type: string description: Identifier of the subscription to suspend and resume. reason: type: string description: Reason recorded for the suspension. resumeDate: type: string description: Optional scheduled date to automatically resume (YYYY-MM-DD). steps: - stepId: suspendSubscription description: Temporarily suspend the active subscription, pausing billing. operationId: suspendSubscription parameters: - name: subscriptionId in: path value: $inputs.subscriptionId requestBody: contentType: application/json payload: reason: $inputs.reason resumeDate: $inputs.resumeDate successCriteria: - condition: $statusCode == 200 outputs: status: $response.body#/status - stepId: confirmSuspended description: Read the subscription back to confirm it entered the SUSPENDED state. operationId: getSubscription parameters: - name: subscriptionId in: path value: $inputs.subscriptionId successCriteria: - condition: $statusCode == 200 - context: $response.body condition: $.status == "SUSPENDED" type: jsonpath outputs: status: $response.body#/status - stepId: resumeSubscription description: Reactivate the suspended subscription so billing resumes. operationId: activateSubscription parameters: - name: subscriptionId in: path value: $inputs.subscriptionId requestBody: contentType: application/json payload: {} successCriteria: - condition: $statusCode == 200 - context: $response.body condition: $.status == "ACTIVE" type: jsonpath outputs: subscriptionId: $response.body#/subscriptionId status: $response.body#/status nextBillingDate: $response.body#/nextBillingDate outputs: subscriptionId: $steps.resumeSubscription.outputs.subscriptionId status: $steps.resumeSubscription.outputs.status nextBillingDate: $steps.resumeSubscription.outputs.nextBillingDate