lemlist · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Lemlist Unsubscribes API
20 actions
20 updates
phrasing
extends
openapi/lemlist-unsubscribes-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for lemlist's API. It is a proposal applied on top of the contract, not a document lemlist publishes.
What the actions change
x-apievangelist-phrasing
Targets 20 · first 16 shown; the file carries all of them
$.info
$.paths['/unsubscribes/'].get
$.paths['/unsubs/export'].get
$.paths['/unsubscribes/john.doe@domain.com'].get
$.paths['/unsubscribes/john.doe@domain.com'].post
$.paths['/unsubscribes/john.doe@domain.com'].delete
$.paths['/unsubscribes'].get
$.paths['/v2/unsubscribes/variables'].get
$.paths['/v2/unsubscribes/variables'].post
$.paths['/v2/unsubscribes/variables/{value}'].get
$.paths['/v2/unsubscribes/variables/{value}'].post
$.paths['/v2/unsubscribes/variables/{value}'].delete
$.paths['/v2/unsubscribes/contacts/{contactId}'].get
$.paths['/v2/unsubscribes/contacts/{contactId}'].post
$.paths['/v2/unsubscribes/contacts/{contactId}'].delete
$.paths['/v2/unsubscribes/exports/variables'].get
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 Lemlist Unsubscribes API
version: 1.0.0
extends: openapi/lemlist-unsubscribes-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: 19
- target: $.paths['/unsubscribes/'].get
update:
x-apievangelist-phrasing:
intent: List unsubscribes via the trailing-slash route
effect: read
questions:
- Is there an older trailing-slash route that lists unsubscribed emails?
- Which legacy unsubscribe listing takes an offset and limit with a slash-terminated path?
instructions:
- text: Using the /unsubscribes/ trailing-slash route, list {limit} unsubscribed emails.
slots:
limit: query.limit
- text: Page the slash-terminated unsubscribe list starting at offset {offset}.
slots:
offset: query.offset
method: generated
generated: '2026-10-01'
- target: $.paths['/unsubs/export'].get
update:
x-apievangelist-phrasing:
intent: Export unsubscribes with the legacy export route
effect: read
questions:
- Can I download my unsubscribe list through the original unsubs export?
- Which older endpoint exports every unsubscribed address in one file?
instructions:
- text: Export my unsubscribes using the legacy unsubs export.
- text: Download the old-style unsubscribe export file.
method: generated
generated: '2026-10-01'
- target: $.paths['/unsubscribes/john.doe@domain.com'].get
update:
x-apievangelist-phrasing:
intent: Check the sample john.doe@domain.com unsubscribe
effect: read
questions:
- What does the documentation example for checking john.doe@domain.com return?
- Is the sample address john.doe@domain.com on the unsubscribe list?
instructions:
- text: Check the sample address john.doe@domain.com against the unsubscribe list.
- text: Run the documented example lookup for john.doe@domain.com.
method: generated
generated: '2026-10-01'
- target: $.paths['/unsubscribes/john.doe@domain.com'].post
update:
x-apievangelist-phrasing:
intent: Unsubscribe the sample john.doe@domain.com
effect: write
questions:
- What happens when I call the documentation example that unsubscribes john.doe@domain.com?
- Can I try out adding an unsubscribe with the sample john.doe address?
instructions:
- text: Add the sample address john.doe@domain.com to the unsubscribe list.
- text: Run the documented example that unsubscribes john.doe@domain.com.
method: generated
generated: '2026-10-01'
- target: $.paths['/unsubscribes/john.doe@domain.com'].delete
update:
x-apievangelist-phrasing:
intent: Remove the sample john.doe@domain.com unsubscribe
effect: destructive
questions:
- How does the documentation example for removing john.doe@domain.com from unsubscribes behave?
- Can I take the sample john.doe address back off the unsubscribe list?
instructions:
- text: Delete the sample address john.doe@domain.com from the unsubscribe list.
- text: Run the documented example that re-allows john.doe@domain.com.
method: generated
generated: '2026-10-01'
- target: $.paths['/unsubscribes'].get
update:
x-apievangelist-phrasing:
intent: List unsubscribed emails
effect: read
questions:
- Which email addresses have unsubscribed from my campaigns?
- How many unsubscribes come back per page by default?
instructions:
- text: List my unsubscribed email addresses.
- text: Get {limit} unsubscribes starting at {offset}.
slots:
limit: query.limit
offset: query.offset
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/unsubscribes/variables'].get
update:
x-apievangelist-phrasing:
intent: List unsubscribed emails, domains, URLs and phones
effect: read
questions:
- Which domains, LinkedIn URLs and phone numbers are on my do-not-contact list?
- Can I page through every blocked variable, not just emails?
instructions:
- text: List all unsubscribed variables including domains and phone numbers.
- text: Show {limit} blocked variables after skipping {offset}.
slots:
limit: query.limit
offset: query.offset
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/unsubscribes/variables'].post
update:
x-apievangelist-phrasing:
intent: Bulk-unsubscribe up to 10,000 values
effect: write
questions:
- How do I upload a big suppression list of emails and domains at once?
- What's the maximum number of values I can unsubscribe in one request?
instructions:
- text: 'Bulk unsubscribe these values: {values}.'
slots:
values: requestBody.values
- text: Add my suppression list {values} to the do-not-contact list in one go.
slots:
values: requestBody.values
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/unsubscribes/variables/{value}'].get
update:
x-apievangelist-phrasing:
intent: Check if a domain, URL or phone is unsubscribed
effect: read
questions:
- Is a particular domain or phone number blocked from outreach?
- Can I see the unsubscribe record for a specific LinkedIn URL?
instructions:
- text: Check whether {value} is on the v2 unsubscribe list.
slots:
value: path.value
- text: Get the unsubscribed-variable record for {value}.
slots:
value: path.value
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/unsubscribes/variables/{value}'].post
update:
x-apievangelist-phrasing:
intent: Block a single email, domain, URL or phone
effect: write
questions:
- How do I block an entire domain from receiving any of my outreach?
- What happens if I unsubscribe a value that's already blocked?
instructions:
- text: Block the domain, URL, phone or email {value} via the v2 list.
slots:
value: path.value
- text: Add the single value {value} to the do-not-contact variables.
slots:
value: path.value
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/unsubscribes/variables/{value}'].delete
update:
x-apievangelist-phrasing:
intent: Re-subscribe a blocked email, domain, URL or phone
effect: destructive
questions:
- How do I unblock a domain I added to the suppression list by mistake?
- Why can't some unsubscribed values be re-subscribed?
instructions:
- text: Re-subscribe the variable {value}.
slots:
value: path.value
- text: Unblock {value} on the v2 do-not-contact list.
slots:
value: path.value
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/unsubscribes/contacts/{contactId}'].get
update:
x-apievangelist-phrasing:
intent: Check a contact's do-not-contact status
effect: read
questions:
- Is a given CRM contact flagged as do-not-contact?
- Can I check whether a contact has opted out before reaching out?
instructions:
- text: Check if contact {contactId} is unsubscribed.
slots:
contactId: path.contactId
- text: Get the subscription status of contact {contactId}.
slots:
contactId: path.contactId
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/unsubscribes/contacts/{contactId}'].post
update:
x-apievangelist-phrasing:
intent: Flag a contact as do-not-contact
effect: write
questions:
- How do I mark a CRM contact so nobody on my team reaches out again?
- Can I opt out a contact by their contact id?
instructions:
- text: Mark contact {contactId} as do-not-contact.
slots:
contactId: path.contactId
- text: Opt out contact {contactId} from all outreach.
slots:
contactId: path.contactId
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/unsubscribes/contacts/{contactId}'].delete
update:
x-apievangelist-phrasing:
intent: Clear a contact's do-not-contact flag
effect: destructive
questions:
- How do I allow outreach again to a contact who was opted out?
- Can I remove the do-not-contact flag from a specific contact?
instructions:
- text: Re-subscribe contact {contactId}.
slots:
contactId: path.contactId
- text: Clear the do-not-contact flag on contact {contactId}.
slots:
contactId: path.contactId
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/unsubscribes/exports/variables'].get
update:
x-apievangelist-phrasing:
intent: Export all unsubscribed variables to CSV
effect: read
questions:
- Can I download my full suppression list of emails, domains and phones as CSV?
- Where do I export every blocked value at once?
instructions:
- text: Export all unsubscribed variables to a CSV.
- text: Download my suppression list of emails and domains as a spreadsheet.
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/unsubscribes/exports/contacts'].get
update:
x-apievangelist-phrasing:
intent: Export contacts with subscription status to CSV
effect: read
questions:
- How do I get a CSV of every contact and whether they're opted out?
- Can I export contact subscription statuses for my CRM?
instructions:
- text: Export all contacts with their subscription status to CSV.
- text: Download a spreadsheet of contacts showing who is do-not-contact.
method: generated
generated: '2026-10-01'
- target: $.paths['/unsubscribes/{email}'].get
update:
x-apievangelist-phrasing:
intent: Check if an email address is unsubscribed
effect: read
questions:
- Has a specific email address unsubscribed from my emails?
- Can I check one address's unsubscribe status before adding them?
instructions:
- text: Check whether {email} has unsubscribed.
slots:
email: path.email
- text: Look up the unsubscribe entry for {email}.
slots:
email: path.email
method: generated
generated: '2026-10-01'
- target: $.paths['/unsubscribes/{email}'].post
update:
x-apievangelist-phrasing:
intent: Unsubscribe an email address or domain
effect: write
questions:
- How do I stop all future emails to a person who asked to opt out?
- Can I add an address to my unsubscribe list by email?
instructions:
- text: Unsubscribe {email}.
slots:
email: path.email
- text: Add {email} to my unsubscribe list.
slots:
email: path.email
method: generated
generated: '2026-10-01'
- target: $.paths['/unsubscribes/{email}'].delete
update:
x-apievangelist-phrasing:
intent: Remove an email from the unsubscribe list
effect: destructive
questions:
- How do I take an email address off the unsubscribe list?
- Can I let someone who opted out receive emails again?
instructions:
- text: Remove {email} from the unsubscribe list.
slots:
email: path.email
- text: Allow emails to {email} again.
slots:
email: path.email
method: generated
generated: '2026-10-01'