Amplitude · Arazzo Workflow

Amplitude Event Property Lifecycle

Version 1.0.0

Create an event property on an event type, read it back, update its metadata, and list all properties for the event.

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

Provider

amplitude

Workflows

event-property-lifecycle
Create, read, update, and list an event property on an event type.
Drives one event property through creation, retrieval, an update, and a list of all properties on its event type so the complete property lifecycle is exercised.
4 steps inputs: basicAuth, description, eventProperty, eventType, isRequired, propertyType, updatedDescription outputs: eventProperty, properties
1
createProperty
createEventProperty
Create a new typed event property for the supplied event type.
2
getProperty
getEventProperty
Retrieve the event property by name for its event type to confirm it was created.
3
updateProperty
updateEventProperty
Update the property's description and required flag while keeping it on the same event type.
4
listProperties
listEventProperties
List all event properties for the event type to confirm the updated property is present.

Source API Descriptions

Arazzo Workflow Specification

amplitude-event-property-lifecycle-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amplitude Event Property Lifecycle
  summary: Create an event property on an event type, read it back, update its metadata, and list all properties for the event.
  description: >-
    Manages the full lifecycle of a single event property within the Amplitude
    tracking plan. The workflow creates a typed event property for a given event
    type, retrieves it to confirm creation, updates its description and required
    flag, and lists every property on the event type to confirm the change. The
    create and update steps use form-urlencoded bodies and the get and list
    steps pass the event_type as a query parameter, exactly as the Taxonomy API
    requires. 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: taxonomyApi
  url: ../openapi/amplitude-taxonomy-api-openapi.yml
  type: openapi
workflows:
- workflowId: event-property-lifecycle
  summary: Create, read, update, and list an event property on an event type.
  description: >-
    Drives one event property through creation, retrieval, an update, and a
    list of all properties on its event type so the complete property lifecycle
    is exercised.
  inputs:
    type: object
    required:
    - basicAuth
    - eventType
    - eventProperty
    properties:
      basicAuth:
        type: string
        description: Base64-encoded api_key:secret_key credentials for HTTP Basic auth.
      eventType:
        type: string
        description: The event type the property belongs to.
      eventProperty:
        type: string
        description: The name of the event property.
      propertyType:
        type: string
        description: The data type of the property.
        enum:
        - string
        - number
        - boolean
        - enum
        - any
        default: string
      description:
        type: string
        description: A description of the event property.
      updatedDescription:
        type: string
        description: The updated description to apply during the update step.
      isRequired:
        type: boolean
        description: Whether the property should be marked required during the update.
        default: false
  steps:
  - stepId: createProperty
    description: >-
      Create a new typed event property for the supplied event type.
    operationId: createEventProperty
    parameters:
    - name: Authorization
      in: header
      value: "Basic $inputs.basicAuth"
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        event_type: $inputs.eventType
        event_property: $inputs.eventProperty
        type: $inputs.propertyType
        description: $inputs.description
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      success: $response.body#/success
  - stepId: getProperty
    description: >-
      Retrieve the event property by name for its event type to confirm it was
      created.
    operationId: getEventProperty
    parameters:
    - name: Authorization
      in: header
      value: "Basic $inputs.basicAuth"
    - name: event_property
      in: path
      value: $inputs.eventProperty
    - name: event_type
      in: query
      value: $inputs.eventType
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      eventProperty: $response.body#/event_property
      type: $response.body#/type
  - stepId: updateProperty
    description: >-
      Update the property's description and required flag while keeping it on the
      same event type.
    operationId: updateEventProperty
    parameters:
    - name: Authorization
      in: header
      value: "Basic $inputs.basicAuth"
    - name: event_property
      in: path
      value: $inputs.eventProperty
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        event_type: $inputs.eventType
        description: $inputs.updatedDescription
        is_required: $inputs.isRequired
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      success: $response.body#/success
  - stepId: listProperties
    description: >-
      List all event properties for the event type to confirm the updated
      property is present.
    operationId: listEventProperties
    parameters:
    - name: Authorization
      in: header
      value: "Basic $inputs.basicAuth"
    - name: event_type
      in: query
      value: $inputs.eventType
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      properties: $response.body#/data
  outputs:
    eventProperty: $steps.getProperty.outputs.eventProperty
    properties: $steps.listProperties.outputs.properties