Punchh · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Platform Functions Custom Segments API
11 actions
11 updates
phrasing
extends
openapi/punchh-custom-segments-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Punchh's API. It is a proposal applied on top of the contract, not a document Punchh publishes.
What the actions change
x-apievangelist-phrasing
Targets 11
$.info
$.paths['/api2/dashboard/custom_segments'].get
$.paths['/api2/dashboard/custom_segments'].post
$.paths['/api2/dashboard/custom_segments'].delete
$.paths['/api2/dashboard/custom_segments'].patch
$.paths['/api2/dashboard/custom_segments/members'].get
$.paths['/api2/dashboard/custom_segments/members'].post
$.paths['/api2/dashboard/custom_segments/members'].delete
$.paths['/api2/dashboard/custom_segments/members/bulk_add'].post
$.paths['/api2/dashboard/custom_segments/members/bulk_remove'].delete
$.paths['/api2/dashboard/custom_segments/members/add_users'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Platform Functions Custom Segments API
version: 1.0.0
extends: openapi/punchh-custom-segments-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: 10
- target: $.paths['/api2/dashboard/custom_segments'].get
update:
x-apievangelist-phrasing:
intent: List all custom segments
effect: read
questions:
- What custom segments has my business created?
- Can I see every custom guest list we've built?
instructions:
- text: List all of our custom segments.
- text: Show the custom segments, including segment {ID}.
slots:
ID: path.ID
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/dashboard/custom_segments'].post
update:
x-apievangelist-phrasing:
intent: Create an empty custom segment
effect: write
questions:
- How do I create a new custom segment to hold a hand-picked list of guests?
- Are users added at the time a custom segment is created?
instructions:
- text: Create a custom segment named {name}.
slots:
name: requestBody.name
- text: Make a new custom segment {name} described as {description}.
slots:
name: requestBody.name
description: requestBody.description
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/dashboard/custom_segments'].delete
update:
x-apievangelist-phrasing:
intent: Delete a custom segment
effect: destructive
questions:
- How do I permanently remove a custom segment we no longer use?
- Can a deleted custom segment be recovered?
instructions:
- text: Delete custom segment {custom_segment_id}.
slots:
custom_segment_id: query.custom_segment_id
- text: Remove the custom segment {custom_segment_id} from the database.
slots:
custom_segment_id: query.custom_segment_id
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/dashboard/custom_segments'].patch
update:
x-apievangelist-phrasing:
intent: Rename or redescribe a custom segment
effect: write
questions:
- Can I change the name or description of an existing custom segment?
- What fields of a custom segment can be edited?
instructions:
- text: Rename custom segment {custom_segment_id} to {name}.
slots:
custom_segment_id: query.custom_segment_id
name: query.name
- text: Update the description of custom segment {custom_segment_id} to {description}.
slots:
custom_segment_id: query.custom_segment_id
description: query.description
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/dashboard/custom_segments/members'].get
update:
x-apievangelist-phrasing:
intent: Check whether a guest is in a custom segment
effect: read
questions:
- Is a particular guest already a member of this custom segment?
- Can I check segment membership by email instead of user ID?
instructions:
- text: Check if {email} belongs to custom segment {custom_segment_id}.
slots:
email: query.email
custom_segment_id: query.custom_segment_id
- text: Is user {user_id} in custom segment {custom_segment_id}? Look it up.
slots:
user_id: query.user_id
custom_segment_id: query.custom_segment_id
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/dashboard/custom_segments/members'].post
update:
x-apievangelist-phrasing:
intent: Add one guest to a custom segment
effect: write
questions:
- How do I add a single guest to a custom segment?
- If I pass both an email and a user ID when adding a guest, which one wins?
instructions:
- text: Add {email} to custom segment {custom_segment_id}.
slots:
email: requestBody.email
custom_segment_id: requestBody.custom_segment_id
- text: Put user {user_id} into custom segment {custom_segment_id}.
slots:
user_id: requestBody.user_id
custom_segment_id: requestBody.custom_segment_id
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/dashboard/custom_segments/members'].delete
update:
x-apievangelist-phrasing:
intent: Remove one guest from a custom segment
effect: destructive
questions:
- How do I take a single guest out of a custom segment?
- Can I remove someone from a segment using just their email?
instructions:
- text: Remove {email} from custom segment {custom_segment_id}.
slots:
email: query.email
custom_segment_id: query.custom_segment_id
- text: Take user {user_id} out of custom segment {custom_segment_id}.
slots:
user_id: query.user_id
custom_segment_id: query.custom_segment_id
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/dashboard/custom_segments/members/bulk_add'].post
update:
x-apievangelist-phrasing:
intent: Bulk add guests to a segment from a CSV
effect: write
questions:
- Can I upload a CSV of user IDs and emails to fill a custom segment?
- What columns does the bulk add CSV file need?
instructions:
- text: Upload CSV {bulk_guest_activity_file} to add users to custom segment {custom_segment_id} as job {name}.
slots:
bulk_guest_activity_file: requestBody.bulk_guest_activity_file
custom_segment_id: requestBody.custom_segment_id
name: requestBody.name
- text: Run a bulk CSV add named {name} into segment {custom_segment_id} from {bulk_guest_activity_file}.
slots:
name: requestBody.name
custom_segment_id: requestBody.custom_segment_id
bulk_guest_activity_file: requestBody.bulk_guest_activity_file
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/dashboard/custom_segments/members/bulk_remove'].delete
update:
x-apievangelist-phrasing:
intent: Bulk remove guests from a segment via CSV
effect: destructive
questions:
- How do I remove many guests from a custom segment at once with a file?
- Does the bulk removal CSV use the same user_id and email columns?
instructions:
- text: Remove the users in CSV {bulk_guest_activity_file} from custom segment {custom_segment_id} as job {name}.
slots:
bulk_guest_activity_file: requestBody.bulk_guest_activity_file
custom_segment_id: requestBody.custom_segment_id
name: requestBody.name
- text: Bulk-remove guests from segment {custom_segment_id} using file {bulk_guest_activity_file}, job name {name}.
slots:
custom_segment_id: requestBody.custom_segment_id
bulk_guest_activity_file: requestBody.bulk_guest_activity_file
name: requestBody.name
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/dashboard/custom_segments/members/add_users'].post
update:
x-apievangelist-phrasing:
intent: Bulk add guests to a list segment by ID or email
effect: write
questions:
- Can I add a list of emails and user IDs to a custom list segment without uploading a file?
- Which identifiers come back as invalid when adding users in bulk, and can it run asynchronously?
instructions:
- text: Add these users {user_identifiers} to custom list segment {custom_segment_id}.
slots:
user_identifiers: requestBody.user_identifiers
custom_segment_id: requestBody.custom_segment_id
- text: Asynchronously add {user_identifiers} to list segment {custom_segment_id} using method {bulk_method}.
slots:
user_identifiers: requestBody.user_identifiers
custom_segment_id: requestBody.custom_segment_id
bulk_method: requestBody.bulk_method
method: generated
generated: '2026-10-01'