Clix · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Clix So Clix External Service API

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

What the actions change

x-apievangelist-phrasing

Targets 12

$.info
$.paths['/api/v1/devices'].post
$.paths['/api/v1/devices/{deviceId}/user/project-user-id'].post
$.paths['/api/v1/devices/{deviceId}/user/properties'].post
$.paths['/api/v1/events'].post
$.paths['/api/v1/health'].get
$.paths['/api/v1/messages:send'].post
$.paths['/api/v1/users'].post
$.paths['/api/v1/users/{project_user_id}'].delete
$.paths['/api/v1/users/{project_user_id}'].patch
$.paths['/api/v1/live-activities:start'].post
$.paths['/api/v1/campaigns/{campaign_id}:trigger'].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 Clix So Clix External Service API
  version: 1.0.0
extends: openapi/clix-so-clixexternalservice-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 11
- target: $.paths['/api/v1/devices'].post
  update:
    x-apievangelist-phrasing:
      intent: Register or update app devices
      effect: write
      questions:
      - Can I register new app installs as devices in Clix so they can receive messages?
      - What happens if I send a device record that already exists, does it get updated?
      - Is there a way to upsert several devices in one request?
      instructions:
      - text: 'Register these devices with Clix, updating any that already exist: {devices}.'
        slots:
          devices: requestBody.devices
      - text: Upsert the device records for my latest app installs.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/user/project-user-id'].post
  update:
    x-apievangelist-phrasing:
      intent: Link a device to a project user ID
      effect: write
      questions:
      - How do I associate a device with my own user ID after someone logs in?
      - Can I change which project user ID a specific device belongs to?
      instructions:
      - text: Link device {deviceId} to project user ID {project_user_id}.
        slots:
          deviceId: path.deviceId
          project_user_id: requestBody.project_user_id
      - text: Set the project user ID on device {deviceId} to the logged-in user's ID.
        slots:
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/user/properties'].post
  update:
    x-apievangelist-phrasing:
      intent: Set user properties via a device ID
      effect: write
      questions:
      - Can I update a user's properties when I only know their device ID?
      - How do I attach attributes like plan or locale to the user behind a device?
      instructions:
      - text: Set properties {properties} on the user linked to device {deviceId}.
        slots:
          properties: requestBody.properties
          deviceId: path.deviceId
      - text: Upsert the user properties for whoever owns device {deviceId}.
        slots:
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/events'].post
  update:
    x-apievangelist-phrasing:
      intent: Track user events
      effect: write
      questions:
      - How do I send in-app events like purchases or sign-ups to Clix?
      - Can I record a batch of user events in a single call?
      instructions:
      - text: 'Record these tracking events: {events}.'
        slots:
          events: requestBody.events
      - text: Log a batch of user activity events from today's sessions.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/health'].get
  update:
    x-apievangelist-phrasing:
      intent: Check that the service is up
      effect: read
      questions:
      - Is the external service API currently healthy and reachable?
      - What endpoint can I ping to verify the API is responding?
      instructions:
      - text: Run a health check against the API.
      - text: Ping the service to confirm it is up before sending traffic.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/messages:send'].post
  update:
    x-apievangelist-phrasing:
      intent: Send push notifications to devices
      effect: write
      questions:
      - How do I send a push notification to a user's phone?
      - How many push notifications should I include per request?
      - Can one call push messages to several user devices at once?
      instructions:
      - text: 'Send these push notifications: {push_notifications}.'
        slots:
          push_notifications: requestBody.push_notifications
      - text: Push a notification to each of these user devices, keeping it under 500 per call.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/users'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a user
      effect: write
      questions:
      - How do I create a new user record keyed by my own user ID?
      - Can I set initial properties when I first create a user?
      instructions:
      - text: Create a new user with project user ID {project_user_id}.
        slots:
          project_user_id: requestBody.project_user_id
      - text: Create user {project_user_id} with starting properties {properties}.
        slots:
          project_user_id: requestBody.project_user_id
          properties: requestBody.properties
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/users/{project_user_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Permanently delete a user
      effect: destructive
      questions:
      - How do I permanently remove a user and all their data?
      - Does deleting a user also wipe the data associated with them?
      instructions:
      - text: Delete user {project_user_id} and all of their data.
        slots:
          project_user_id: path.project_user_id
      - text: Permanently erase the user with project user ID {project_user_id}.
        slots:
          project_user_id: path.project_user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/users/{project_user_id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update an existing user's properties
      effect: write
      questions:
      - How do I change properties on a user I already created, using their project user ID?
      - Can I modify just a few attributes of an existing user?
      instructions:
      - text: Update existing user {project_user_id} with properties {properties}.
        slots:
          project_user_id: path.project_user_id
          properties: requestBody.properties
      - text: Patch the profile of user {project_user_id} with their new subscription tier.
        slots:
          project_user_id: path.project_user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/live-activities:start'].post
  update:
    x-apievangelist-phrasing:
      intent: Start iOS Live Activities on devices
      effect: write
      questions:
      - How do I start an iOS Live Activity remotely using Push to Start?
      - Can I launch Live Activities on several users' iPhones in one request?
      instructions:
      - text: 'Start these Live Activities on user devices: {live_activities}.'
        slots:
          live_activities: requestBody.live_activities
      - text: Kick off a delivery-tracking Live Activity on the customer's iPhone.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/campaigns/{campaign_id}:trigger'].post
  update:
    x-apievangelist-phrasing:
      intent: Trigger an API-triggered campaign
      effect: write
      questions:
      - How do I fire an API-triggered campaign from my backend?
      - Can I pass personalization properties when triggering a campaign?
      - Is it possible to target a specific audience when a campaign is triggered?
      instructions:
      - text: Trigger campaign {campaign_id}.
        slots:
          campaign_id: path.campaign_id
      - text: Trigger campaign {campaign_id} for audience {audience} with personalization {properties}.
        slots:
          campaign_id: path.campaign_id
          audience: requestBody.audience
          properties: requestBody.properties
      method: generated
      generated: '2026-10-01'