SAP BRIM Authorize and Confirm a Charge Reservation

Version 1.0.0

Reserve an amount against a prepaid balance, confirm it into a final charge, and read the balance.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub BillingEnterpriseOrder-to-CashRevenue ManagementSAPSubscription ManagementUsage-Based PricingArazzoWorkflows

Provider

sap-brim-billing-and-revenue-innovation-management

Workflows

authorize-confirm-charge
Authorize a reservation and confirm it into a final charge.
Reserves an amount against the account, confirms the reservation as a final charge, and reads the resulting account balance.
3 steps inputs: accountId, amountValue, currency, finalValue, serviceType outputs: authorizationId, availableBalance, chargeId
1
authorize
Reserve the amount against the prepaid balance.
2
confirm
Confirm the authorization, capturing the reserved amount as a charge.
3
getBalance
Read the account balance after the charge is captured.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: SAP BRIM Authorize and Confirm a Charge Reservation
  summary: Reserve an amount against a prepaid balance, confirm it into a final charge, and read the balance.
  description: >-
    Runs the reserve-then-capture charging pattern on SAP BRIM Convergent
    Charging. The workflow authorizes (reserves) an amount against a prepaid
    balance, confirms the authorization to convert the reservation into a final
    charge, and reads the account balance to observe the result. 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: balancesApi
  url: ../openapi/sap-brim-billing-and-revenue-innovation-management-balances-api-openapi.yml
  type: openapi
- name: chargingApi
  url: ../openapi/sap-brim-billing-and-revenue-innovation-management-charging-api-openapi.yml
  type: openapi
workflows:
- workflowId: authorize-confirm-charge
  summary: Authorize a reservation and confirm it into a final charge.
  description: >-
    Reserves an amount against the account, confirms the reservation as a final
    charge, and reads the resulting account balance.
  inputs:
    type: object
    required:
    - accountId
    - amountValue
    - currency
    properties:
      accountId:
        type: string
        description: Identifier of the subscriber account.
      amountValue:
        type: number
        description: Amount value to reserve against the account.
      currency:
        type: string
        description: ISO 4217 currency code for the reservation.
      finalValue:
        type: number
        description: Optional final amount value to capture at confirmation.
      serviceType:
        type: string
        description: Optional service type associated with the authorization.
  steps:
  - stepId: authorize
    description: Reserve the amount against the prepaid balance.
    operationId: authorizeCharge
    requestBody:
      contentType: application/json
      payload:
        accountId: $inputs.accountId
        amount:
          value: $inputs.amountValue
          currency: $inputs.currency
        serviceType: $inputs.serviceType
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.status == "AUTHORIZED"
      type: jsonpath
    outputs:
      authorizationId: $response.body#/authorizationId
      reservedAmount: $response.body#/reservedAmount
  - stepId: confirm
    description: Confirm the authorization, capturing the reserved amount as a charge.
    operationId: confirmAuthorization
    parameters:
    - name: authorizationId
      in: path
      value: $steps.authorize.outputs.authorizationId
    requestBody:
      contentType: application/json
      payload:
        finalAmount:
          value: $inputs.finalValue
          currency: $inputs.currency
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      chargeId: $response.body#/chargeId
      status: $response.body#/status
      remainingBalance: $response.body#/remainingBalance
  - stepId: getBalance
    description: Read the account balance after the charge is captured.
    operationId: getAccountBalance
    parameters:
    - name: accountId
      in: path
      value: $inputs.accountId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      availableBalance: $response.body#/availableBalance
      reservedAmount: $response.body#/reservedAmount
  outputs:
    authorizationId: $steps.authorize.outputs.authorizationId
    chargeId: $steps.confirm.outputs.chargeId
    availableBalance: $steps.getBalance.outputs.availableBalance

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/sap-brim-billing-and-revenue-innovation-management-authorize-confirm-charge-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.