Merge · Arazzo Workflow

Merge Knowledge Base Link and Browse Articles

Version 1.0.0

Exchange a public token for an account token, list knowledge base containers, and list the articles within the first container.

1 workflow 4 source APIs 1 provider
View Spec View on GitHub IntegrationPlatformUnified-APIAgent HandlerLLM GatewayArazzoWorkflows

Provider

merge

Workflows

link-and-browse-knowledge-base
Link a knowledge base account and browse its containers and articles.
Exchanges a public token for an account token, confirms the account, lists containers, and lists the articles inside the first container.
4 steps inputs: authorization, publicToken outputs: accountToken, articles, containers
1
exchangePublicToken
{$sourceDescriptions.subpackageAccounttokenApi.url}#/paths/~1knowledgebase~1v1~1account-token~1{public_token}/get
Exchange the public token returned by the Merge Link frontend flow for a durable account token used on all subsequent data requests.
2
confirmAccount
{$sourceDescriptions.subpackageAccountdetailsApi.url}#/paths/~1knowledgebase~1v1~1account-details/get
Read the linked account details to confirm the integration and surface the connected knowledge base platform.
3
listContainers
{$sourceDescriptions.subpackageContainersApi.url}#/paths/~1knowledgebase~1v1~1containers/get
List the knowledge base containers (spaces or categories) on the linked account.
4
listArticles
{$sourceDescriptions.subpackageArticlesApi.url}#/paths/~1knowledgebase~1v1~1articles/get
List the articles that live inside the first container.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Merge Knowledge Base Link and Browse Articles
  summary: Exchange a public token for an account token, list knowledge base containers, and list the articles within the first container.
  description: >-
    An end-to-end Knowledge Base pattern that links an account and immediately
    reads content from it. The workflow exchanges the public token from the
    Merge Link frontend flow for a durable account token, confirms the linked
    account, lists the knowledge base containers (spaces or categories), and
    then lists the articles inside the first container. 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: subpackageAccountdetailsApi
  url: ../openapi/merge-subpackage-accountdetails-api-openapi.yml
  type: openapi
- name: subpackageAccounttokenApi
  url: ../openapi/merge-subpackage-accounttoken-api-openapi.yml
  type: openapi
- name: subpackageArticlesApi
  url: ../openapi/merge-subpackage-articles-api-openapi.yml
  type: openapi
- name: subpackageContainersApi
  url: ../openapi/merge-subpackage-containers-api-openapi.yml
  type: openapi
workflows:
- workflowId: link-and-browse-knowledge-base
  summary: Link a knowledge base account and browse its containers and articles.
  description: >-
    Exchanges a public token for an account token, confirms the account, lists
    containers, and lists the articles inside the first container.
  inputs:
    type: object
    required:
    - authorization
    - publicToken
    properties:
      authorization:
        type: string
        description: Production access token with the required "Bearer " prefix.
      publicToken:
        type: string
        description: The public token returned by the Merge Link frontend after the user finishes linking.
  steps:
  - stepId: exchangePublicToken
    description: >-
      Exchange the public token returned by the Merge Link frontend flow for a
      durable account token used on all subsequent data requests.
    operationPath: '{$sourceDescriptions.subpackageAccounttokenApi.url}#/paths/~1knowledgebase~1v1~1account-token~1{public_token}/get'
    parameters:
    - name: public_token
      in: path
      value: $inputs.publicToken
    - name: Authorization
      in: header
      value: $inputs.authorization
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      accountToken: $response.body#/account_token
      linkedAccountId: $response.body#/id
  - stepId: confirmAccount
    description: >-
      Read the linked account details to confirm the integration and surface
      the connected knowledge base platform.
    operationPath: '{$sourceDescriptions.subpackageAccountdetailsApi.url}#/paths/~1knowledgebase~1v1~1account-details/get'
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: X-Account-Token
      in: header
      value: $steps.exchangePublicToken.outputs.accountToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      integration: $response.body#/integration
      status: $response.body#/status
  - stepId: listContainers
    description: >-
      List the knowledge base containers (spaces or categories) on the linked
      account.
    operationPath: '{$sourceDescriptions.subpackageContainersApi.url}#/paths/~1knowledgebase~1v1~1containers/get'
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: X-Account-Token
      in: header
      value: $steps.exchangePublicToken.outputs.accountToken
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.results.length > 0
      type: jsonpath
    outputs:
      containers: $response.body#/results
      firstContainerId: $response.body#/results/0/id
  - stepId: listArticles
    description: >-
      List the articles that live inside the first container.
    operationPath: '{$sourceDescriptions.subpackageArticlesApi.url}#/paths/~1knowledgebase~1v1~1articles/get'
    parameters:
    - name: parent_container_id
      in: query
      value: $steps.listContainers.outputs.firstContainerId
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: X-Account-Token
      in: header
      value: $steps.exchangePublicToken.outputs.accountToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      articles: $response.body#/results
  outputs:
    accountToken: $steps.exchangePublicToken.outputs.accountToken
    containers: $steps.listContainers.outputs.containers
    articles: $steps.listArticles.outputs.articles

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/merge-knowledgebase-link-and-browse-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.