Adafruit IO · Arazzo Workflow

Adafruit IO Batch Ingest and Chart

Version 1.0.0

Bulk upload many data points to a feed, then fetch aggregated chart data for it.

1 workflow 1 source API 1 provider
View Spec View on GitHub IoTInternet of ThingsMQTTMakerHobbyistCircuitPythonArduinoESP32FeatherDashboardsTime SeriesArazzoWorkflows

Provider

adafruit-io

Workflows

batch-ingest-and-chart
Batch upload data records to a feed and retrieve aggregated chart data.
Sends an array of data records to a feed in one batch call, then requests chart data aggregated over the requested number of hours.
2 steps inputs: aioKey, feedKey, hours, records, resolution, username outputs: chartData, columns, firstRecordId
1
batchUpload
Upload the full array of data records to the feed in a single batch create call.
2
fetchChart
Retrieve aggregated chart data for the feed over the requested time window so the freshly ingested series can be rendered.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Adafruit IO Batch Ingest and Chart
  summary: Bulk upload many data points to a feed, then fetch aggregated chart data for it.
  description: >-
    A backfill-and-visualize flow for time series data. The workflow uploads a
    batch of historical data records to an existing feed in a single request,
    then pulls aggregated chart data over a window of hours so the caller can
    immediately render or verify the uploaded series. Every step spells out its
    request inline — including the username path parameter and the X-AIO-Key
    authentication header.
  version: 1.0.0
sourceDescriptions:
- name: dataApi
  url: ../openapi/adafruit-io-data-api-openapi.yml
  type: openapi
workflows:
- workflowId: batch-ingest-and-chart
  summary: Batch upload data records to a feed and retrieve aggregated chart data.
  description: >-
    Sends an array of data records to a feed in one batch call, then requests
    chart data aggregated over the requested number of hours.
  inputs:
    type: object
    required:
    - username
    - aioKey
    - feedKey
    - records
    properties:
      username:
        type: string
        description: A valid Adafruit IO username.
      aioKey:
        type: string
        description: The Adafruit IO API key, sent in the X-AIO-Key header.
      feedKey:
        type: string
        description: The feed key to ingest data into and chart.
      records:
        type: array
        description: >-
          Array of data records, each with a required `value` and optional
          `created_at`, `lat`, `lon`, `ele`, and `epoch` fields.
        items:
          type: object
      hours:
        type: integer
        description: Number of hours of history the chart should cover (default 1).
      resolution:
        type: integer
        description: Aggregation resolution in minutes (1, 5, 10, 30, 60, or 120).
  steps:
  - stepId: batchUpload
    description: >-
      Upload the full array of data records to the feed in a single batch
      create call.
    operationId: batchCreateData
    parameters:
    - name: username
      in: path
      value: $inputs.username
    - name: feed_key
      in: path
      value: $inputs.feedKey
    - name: X-AIO-Key
      in: header
      value: $inputs.aioKey
    requestBody:
      contentType: application/json
      payload: $inputs.records
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstRecordId: $response.body#/0/id
  - stepId: fetchChart
    description: >-
      Retrieve aggregated chart data for the feed over the requested time
      window so the freshly ingested series can be rendered.
    operationId: chartData
    parameters:
    - name: username
      in: path
      value: $inputs.username
    - name: feed_key
      in: path
      value: $inputs.feedKey
    - name: hours
      in: query
      value: $inputs.hours
    - name: resolution
      in: query
      value: $inputs.resolution
    - name: X-AIO-Key
      in: header
      value: $inputs.aioKey
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      columns: $response.body#/columns
      chartData: $response.body#/data
  outputs:
    firstRecordId: $steps.batchUpload.outputs.firstRecordId
    columns: $steps.fetchChart.outputs.columns
    chartData: $steps.fetchChart.outputs.chartData

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/adafruit-io-batch-ingest-and-chart-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.