Amplitude · Arazzo Workflow

Amplitude Ingest Events and Segment

Version 1.0.0

Upload a batch of events through the HTTP V2 API, then query event segmentation to verify the metric.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub A/B TestingAnalyticsExperimentationFeature FlagsProduct AnalyticsUser BehaviorArazzoWorkflows

Provider

amplitude

Workflows

ingest-and-segment
Upload events and then segment the same event type to validate ingestion.
Sends a batch of events for a user, confirms the ingestion code, and then runs an event segmentation query over a date window to retrieve totals or unique counts for the ingested event type.
2 steps inputs: apiKey, basicAuth, end, eventProperties, eventType, start, userId outputs: eventsIngested, series
1
uploadEvents
Send a single event for the user to Amplitude. The step proceeds only when the response reports events were ingested successfully.
2
segmentEvent
Query event segmentation for the ingested event type over the supplied date window, returning daily unique-user counts.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Amplitude Ingest Events and Segment
  summary: Upload a batch of events through the HTTP V2 API, then query event segmentation to verify the metric.
  description: >-
    A round-trip data-quality flow that sends a batch of events into Amplitude
    through the HTTP V2 ingestion endpoint and then queries the Dashboard REST
    event segmentation endpoint for the same event type to confirm the data is
    being counted. The ingestion step branches on the returned code so the
    segmentation query only runs after events were accepted. 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: eventSegmentationApi
  url: ../openapi/amplitude-event-segmentation-api-openapi.yml
  type: openapi
- name: eventsApi
  url: ../openapi/amplitude-events-api-openapi.yml
  type: openapi
workflows:
- workflowId: ingest-and-segment
  summary: Upload events and then segment the same event type to validate ingestion.
  description: >-
    Sends a batch of events for a user, confirms the ingestion code, and then
    runs an event segmentation query over a date window to retrieve totals or
    unique counts for the ingested event type.
  inputs:
    type: object
    required:
    - apiKey
    - basicAuth
    - userId
    - eventType
    - start
    - end
    properties:
      apiKey:
        type: string
        description: The Amplitude project API key used for HTTP V2 ingestion.
      basicAuth:
        type: string
        description: Base64-encoded api_key:secret_key credentials for the Dashboard REST Basic auth.
      userId:
        type: string
        description: A readable user ID for the event (minimum length 5).
      eventType:
        type: string
        description: The name of the event being tracked and later segmented.
      eventProperties:
        type: object
        description: A dictionary of event properties to attach to the event.
      start:
        type: string
        description: The segmentation start date in YYYYMMDD format.
      end:
        type: string
        description: The segmentation end date in YYYYMMDD format.
  steps:
  - stepId: uploadEvents
    description: >-
      Send a single event for the user to Amplitude. The step proceeds only when
      the response reports events were ingested successfully.
    operationId: uploadEvents
    requestBody:
      contentType: application/json
      payload:
        api_key: $inputs.apiKey
        events:
        - user_id: $inputs.userId
          event_type: $inputs.eventType
          event_properties: $inputs.eventProperties
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      eventsIngested: $response.body#/events_ingested
      serverUploadTime: $response.body#/server_upload_time
    onSuccess:
    - name: ingested
      type: goto
      stepId: segmentEvent
      criteria:
      - context: $response.body
        condition: $.events_ingested > 0
        type: jsonpath
  - stepId: segmentEvent
    description: >-
      Query event segmentation for the ingested event type over the supplied
      date window, returning daily unique-user counts.
    operationId: getEventSegmentation
    parameters:
    - name: Authorization
      in: header
      value: "Basic $inputs.basicAuth"
    - name: e
      in: query
      value: "{\"event_type\":\"$inputs.eventType\"}"
    - name: start
      in: query
      value: $inputs.start
    - name: end
      in: query
      value: $inputs.end
    - name: m
      in: query
      value: uniques
    - name: i
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      series: $response.body#/data/series
      xValues: $response.body#/data/xValues
  outputs:
    eventsIngested: $steps.uploadEvents.outputs.eventsIngested
    series: $steps.segmentEvent.outputs.series

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/amplitude-ingest-and-segment-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.