# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Twilio SendGrid Marketing Campaigns Segments 2.0 Segmenting… version: 1.0.0 extends: openapi/sendgrid-segmenting-contacts-v2-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-24' generator: build-phrasing.py label: Generated by API Evangelist operations: 6 - target: $.paths['/v3/marketing/segments/2.0'].get update: x-apievangelist-phrasing: intent: List contact segments (Segmentation 2.0) effect: read questions: - Which 2.0 segments have I built, and which lists are they based on? - Can I list only the segments that have no parent list? instructions: - text: List my 2.0 segments. - text: Show 2.0 segments built on parent lists {parent_list_ids}. slots: parent_list_ids: query.parent_list_ids method: generated generated: '2026-09-24' - target: $.paths['/v3/marketing/segments/2.0'].post update: x-apievangelist-phrasing: intent: Create a contact segment from a query effect: write questions: - How do I build a segment of contacts using a SQL-style query? - Do segment names have to be unique? - Can a new segment be limited to contacts on one list? instructions: - text: Create segment {name} with query {query_dsl}. slots: name: requestBody.name query_dsl: requestBody.query_dsl - text: Build segment {name} from list {parent_list_ids} using {query_dsl}. slots: name: requestBody.name parent_list_ids: requestBody.parent_list_ids query_dsl: requestBody.query_dsl method: generated generated: '2026-09-24' - target: $.paths['/v3/marketing/segments/2.0/{segment_id}'].get update: x-apievangelist-phrasing: intent: Get a 2.0 segment and sample contacts effect: read questions: - What query defines a given 2.0 segment? - Can I see a sample of contacts in a segment when I fetch it? instructions: - text: Get 2.0 segment {segment_id}. slots: segment_id: path.segment_id - text: 'Show segment {segment_id} with a contacts sample: {contacts_sample}.' slots: segment_id: path.segment_id contacts_sample: query.contacts_sample method: generated generated: '2026-09-24' - target: $.paths['/v3/marketing/segments/2.0/{segment_id}'].delete update: x-apievangelist-phrasing: intent: Delete a 2.0 segment effect: destructive questions: - How do I get rid of a 2.0 segment I no longer use? - Can I remove a Segmentation 2.0 segment by its ID? instructions: - text: Delete 2.0 segment {segment_id}. slots: segment_id: path.segment_id - text: Remove the Segmentation 2.0 segment {segment_id}. slots: segment_id: path.segment_id method: generated generated: '2026-09-24' - target: $.paths['/v3/marketing/segments/2.0/{segment_id}'].patch update: x-apievangelist-phrasing: intent: Rename or change a segment's query effect: write questions: - Can I change the query of an existing segment? - Is renaming a segment allowed if the new name is already taken? instructions: - text: Change the query of segment {segment_id} to {query_dsl}. slots: segment_id: path.segment_id query_dsl: requestBody.query_dsl - text: Rename segment {segment_id} to {name}. slots: segment_id: path.segment_id name: requestBody.name method: generated generated: '2026-09-24' - target: $.paths['/v3/marketing/segments/2.0/refresh/{segment_id}'].post update: x-apievangelist-phrasing: intent: Manually refresh a segment's membership effect: write questions: - Can I force a segment to recalculate its contacts right now? - Why does refreshing a segment need my time zone? instructions: - text: Refresh segment {segment_id} now in time zone {user_time_zone}. slots: segment_id: path.segment_id user_time_zone: requestBody.user_time_zone - text: Recalculate the contacts in segment {segment_id} using {user_time_zone}. slots: segment_id: path.segment_id user_time_zone: requestBody.user_time_zone method: generated generated: '2026-09-24'