RudderStack · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for RudderStack HTTP HTTP API

8 actions 8 updates phrasing extends openapi/rudderstack-http-api-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for RudderStack's API. It is a proposal applied on top of the contract, not a document RudderStack publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 8

$.info
$.paths['/v1/identify'].post
$.paths['/v1/track'].post
$.paths['/v1/page'].post
$.paths['/v1/screen'].post
$.paths['/v1/group'].post
$.paths['/v1/alias'].post
$.paths['/v1/batch'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for RudderStack HTTP HTTP API
  version: 1.0.0
extends: openapi/rudderstack-http-api-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 7
- target: $.paths['/v1/identify'].post
  update:
    x-apievangelist-phrasing:
      intent: Identify a user and record their traits
      effect: write
      questions:
      - How do I tie a visitor to a known user ID in RudderStack?
      - Can I record traits for an anonymous visitor before they sign up?
      - What call links a user's later actions to who they are?
      instructions:
      - text: Identify user {userId} so their actions are tied to that profile.
        slots:
          userId: requestBody.userId
      - text: Identify anonymous visitor {anonymousId} with the traits I give you.
        slots:
          anonymousId: requestBody.anonymousId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/track'].post
  update:
    x-apievangelist-phrasing:
      intent: Track a user action as an event
      effect: write
      questions:
      - How can I send a custom event like 'Order Completed' with its properties?
      - Can I track an action for a user who hasn't logged in yet?
      - What do I send to record something a user did in my app?
      instructions:
      - text: Track event {event} for user {userId}.
        slots:
          event: requestBody.event
          userId: requestBody.userId
      - text: Send a {event} event for anonymous visitor {anonymousId} with properties {properties}.
        slots:
          event: requestBody.event
          anonymousId: requestBody.anonymousId
          properties: requestBody.properties
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/page'].post
  update:
    x-apievangelist-phrasing:
      intent: Record a website page view
      effect: write
      questions:
      - How do I record a page view on my website from the server?
      - Can I include the page name and URL details when logging a web page view?
      instructions:
      - text: Record a view of web page {name} by user {userId}.
        slots:
          name: requestBody.name
          userId: requestBody.userId
      - text: Log a website page view for anonymous visitor {anonymousId}.
        slots:
          anonymousId: requestBody.anonymousId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/screen'].post
  update:
    x-apievangelist-phrasing:
      intent: Record a mobile app screen view
      effect: write
      questions:
      - How do I record which mobile app screen a user just opened?
      - Is there a mobile equivalent of a page view for app screens?
      instructions:
      - text: Record that user {userId} viewed the {name} screen in the mobile app.
        slots:
          userId: requestBody.userId
          name: requestBody.name
      - text: Log a mobile screen view of {name} for anonymous visitor {anonymousId}.
        slots:
          name: requestBody.name
          anonymousId: requestBody.anonymousId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/group'].post
  update:
    x-apievangelist-phrasing:
      intent: Link a user to a company or account group
      effect: write
      questions:
      - How do I associate a user with the company or organization they belong to?
      - Can I store traits about a company, like its name or employee count?
      instructions:
      - text: Add user {userId} to group {groupId}.
        slots:
          userId: requestBody.userId
          groupId: requestBody.groupId
      - text: Link user {userId} to account {groupId} with group traits {traits}.
        slots:
          userId: requestBody.userId
          groupId: requestBody.groupId
          traits: requestBody.traits
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/alias'].post
  update:
    x-apievangelist-phrasing:
      intent: Merge a user's previous identity into a new one
      effect: write
      questions:
      - How do I merge two identities of the same user after they change IDs?
      - Can I connect a user's old ID to their new user ID so history carries over?
      instructions:
      - text: Alias previous ID {previousId} to user {userId}.
        slots:
          previousId: requestBody.previousId
          userId: requestBody.userId
      - text: Merge the identity {previousId} into user {userId}.
        slots:
          previousId: requestBody.previousId
          userId: requestBody.userId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/batch'].post
  update:
    x-apievangelist-phrasing:
      intent: Send many tracking events in one request
      effect: write
      questions:
      - Can I send identify, track, page and group events together in a single request?
      - How do I cut down on HTTP calls when sending lots of customer events?
      instructions:
      - text: 'Send these events together in one batch: {batch}.'
        slots:
          batch: requestBody.batch
      - text: Upload the queued mixed event list {batch} to RudderStack in a single call.
        slots:
          batch: requestBody.batch
      method: generated
      generated: '2026-09-26'