Button · Arazzo Workflow

Fetch offers and generate an attributable link

Version 1.0.0

Fetch the real-time affiliate offers available to a Publisher user, then generate a fully attributable Button-wrapped link to the chosen Brand destination.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub CommerceAffiliate MarketingMobileAttributionDeep LinkingRetail MediaAnalyticsAdvertisingLinksArazzoWorkflows

Provider

button

Workflows

fetchOffersAndGenerateLink
Get offers for a user and wrap a destination URL as an attributable link.
Authenticate with your Button API key (HTTP basic, key as username). Retrieve offers, choose a destination, then generate an attributable link carrying your publisher user reference.
2 steps inputs: btn_pub_user, destination_url outputs: link, offers
1
getOffers
Obtain real-time rates/offers available to the Publisher user.
2
generateLink
Generate a fully attributable Button-wrapped link to the destination.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Fetch offers and generate an attributable link
  version: 1.0.0
  description: >-
    Fetch the real-time affiliate offers available to a Publisher user, then generate a fully
    attributable Button-wrapped link to the chosen Brand destination.
sourceDescriptions:
- name: linksApiApi
  url: ../openapi/button-links-api-api-openapi.yml
  type: openapi
- name: offersApi
  url: ../openapi/button-offers-api-openapi.yml
  type: openapi
workflows:
- workflowId: fetchOffersAndGenerateLink
  summary: Get offers for a user and wrap a destination URL as an attributable link.
  description: >-
    Authenticate with your Button API key (HTTP basic, key as username). Retrieve offers, choose a
    destination, then generate an attributable link carrying your publisher user reference.
  inputs:
    type: object
    properties:
      destination_url:
        type: string
        description: The target Retailer page URL to wrap.
      btn_pub_user:
        type: string
        description: Your stable user identifier, echoed back in transaction webhooks.
  steps:
  - stepId: getOffers
    description: Obtain real-time rates/offers available to the Publisher user.
    operationId: offers
    requestBody:
      contentType: application/json
      payload:
        btn_pub_user: $inputs.btn_pub_user
    successCriteria:
    - condition: $statusCode == 200
  - stepId: generateLink
    description: Generate a fully attributable Button-wrapped link to the destination.
    operationId: generate-a-link
    requestBody:
      contentType: application/json
      payload:
        url: $inputs.destination_url
        experience:
          btn_pub_user: $inputs.btn_pub_user
    successCriteria:
    - condition: $statusCode == 200
  outputs:
    offers: $steps.getOffers.outputs
    link: $steps.generateLink.outputs

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/button-offer-to-link"
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 email required.

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