Microsoft Edge · Arazzo Workflow

Microsoft Edge List And Inspect Product

Version 1.0.0

List the developer account's extensions and fetch full details for the first product.

1 workflow 1 source API 1 provider
View Spec View on GitHub BrowserChromiumDeveloper ToolsEdgeExtensionsMicrosoftProgressive Web AppsWeb DevelopmentWebViewArazzoWorkflows

Provider

microsoft-edge

Workflows

list-and-inspect-product
List products, then retrieve full details for the first product.
Lists the developer account's extensions and fetches the full record of the first product in the returned list.
2 steps inputs: accessToken, skip, top outputs: productId, productName, status, totalCount
1
listProducts
listProducts
Retrieve the list of extensions associated with the authenticated developer account, capturing the first product identifier and the total count for pagination.
2
getProduct
getProduct
Retrieve the full details of the first listed product, including its description, status, version, and store category.

Source API Descriptions

Arazzo Workflow Specification

microsoft-edge-list-and-inspect-product-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Microsoft Edge List And Inspect Product
  summary: List the developer account's extensions and fetch full details for the first product.
  description: >-
    A discovery flow for the Edge Add-ons store. The workflow lists the
    extensions associated with the authenticated developer account, then reads
    the full details of the first returned product, including its description,
    publishing status, version, and category. It is the natural starting point
    for any automation that needs to resolve a product before uploading a
    package or creating a submission. 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: addonsApi
  url: ../openapi/microsoft-edge-addons-api.yaml
  type: openapi
workflows:
- workflowId: list-and-inspect-product
  summary: List products, then retrieve full details for the first product.
  description: >-
    Lists the developer account's extensions and fetches the full record of the
    first product in the returned list.
  inputs:
    type: object
    required:
    - accessToken
    properties:
      accessToken:
        type: string
        description: >-
          Azure AD bearer access token acquired via the client credentials
          flow for the Microsoft Partner Center scope.
      top:
        type: integer
        description: Maximum number of products to return.
        default: 25
      skip:
        type: integer
        description: Number of products to skip for pagination.
        default: 0
  steps:
  - stepId: listProducts
    description: >-
      Retrieve the list of extensions associated with the authenticated
      developer account, capturing the first product identifier and the total
      count for pagination.
    operationId: listProducts
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: $top
      in: query
      value: $inputs.top
    - name: $skip
      in: query
      value: $inputs.skip
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstProductId: $response.body#/value/0/id
      totalCount: $response.body#/totalCount
  - stepId: getProduct
    description: >-
      Retrieve the full details of the first listed product, including its
      description, status, version, and store category.
    operationId: getProduct
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: productId
      in: path
      value: $steps.listProducts.outputs.firstProductId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      productId: $response.body#/id
      productName: $response.body#/name
      status: $response.body#/status
      version: $response.body#/version
      category: $response.body#/category
  outputs:
    totalCount: $steps.listProducts.outputs.totalCount
    productId: $steps.getProduct.outputs.productId
    productName: $steps.getProduct.outputs.productName
    status: $steps.getProduct.outputs.status