arazzo: 1.0.1 info: title: HSBC Australia CDR - Browse Products version: 1.0.0 description: >- Browse the HSBC Bank Australia public Consumer Data Right Product Reference Data catalog, then fetch the full detail of the first product returned. Both operations are public and unauthenticated on the CDR public host (https://public.ob.hsbc.com.au/cds-au/v1); the only requirement is the CDR version header x-v. Forkable and runnable in production as-is. sourceDescriptions: - name: cdsBanking url: ../openapi/hsbc-australia-cds-banking-products-openapi.yml type: openapi workflows: - workflowId: browse-products-and-get-detail summary: List public banking products, then retrieve detail for the first product. description: >- Calls Get Products (effective=CURRENT) to page the public product catalog, captures the first productId from data.products[], then calls Get Product Detail for that productId. Sends the required CDR x-v version header on each request (5 for products, 7 for product detail). inputs: type: object properties: effective: type: string enum: [ALL, CURRENT, FUTURE] default: CURRENT page-size: type: integer default: 25 steps: - stepId: listProducts description: Page the public CDR product catalog for HSBC Australia. operationId: listBankingProducts parameters: - name: x-v in: header value: '5' - name: effective in: query value: $inputs.effective - name: page-size in: query value: $inputs.page-size successCriteria: - condition: $statusCode == 200 outputs: firstProductId: $response.body#/data/products/0/productId totalRecords: $response.body#/meta/totalRecords - stepId: getProductDetail description: Retrieve full detail for the first product returned above. operationId: getBankingProductDetail parameters: - name: productId in: path value: $steps.listProducts.outputs.firstProductId - name: x-v in: header value: '7' successCriteria: - condition: $statusCode == 200 outputs: productName: $response.body#/data/name productCategory: $response.body#/data/productCategory outputs: firstProductId: $steps.listProducts.outputs.firstProductId productName: $steps.getProductDetail.outputs.productName