# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Zoho Crm Actions API version: 1.0.0 extends: openapi/zoho-crm-actions-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 48 - target: $.paths['/{module}/{recordId}/actions/associate_email'].post update: x-apievangelist-phrasing: intent: Associate emails with a CRM record effect: write questions: - How do I link an existing email to a specific contact or lead record? - Can I attach sent emails to a deal record after the fact so they show in its history? instructions: - text: Associate this email with record {recordId} in the {module} module. slots: module: path.module recordId: path.recordId - text: Link the email details in {data} to {module} record {recordId}. slots: module: path.module recordId: path.recordId data: requestBody.data method: generated generated: '2026-09-26' - target: $.paths['/{module}/actions/unenrol_from_cadences'].post update: x-apievangelist-phrasing: intent: Unenroll records from cadences effect: write questions: - How do I take leads out of a follow-up cadence they were enrolled in? - Can I stop several records from receiving a cadence's scheduled follow-ups at once? instructions: - text: Unenroll records {ids} in {module} from cadences {cadences_ids}. slots: module: path.module ids: requestBody.ids cadences_ids: requestBody.cadences_ids - text: Remove these {module} records from their cadence follow-ups. slots: module: path.module method: generated generated: '2026-09-26' - target: $.paths['/{module}/actions/enrol_in_cadences'].post update: x-apievangelist-phrasing: intent: Enroll records into a manual cadence effect: write questions: - How do I enroll a batch of leads into a manual cadence in Zoho CRM? - Can I add existing contacts to a follow-up cadence through the API? instructions: - text: Enroll {module} records {ids} into cadences {cadences_ids}. slots: module: path.module ids: requestBody.ids cadences_ids: requestBody.cadences_ids - text: Start the manual cadence for these {module} records. slots: module: path.module method: generated generated: '2026-09-26' - target: $.paths['/{module}/{record}/actions/change_owner'].post update: x-apievangelist-phrasing: intent: Change the owner of one record effect: write questions: - How do I reassign a single deal to a different sales rep? - When I change one record's owner, can its related tasks and notes move with it? instructions: - text: Make {owner} the owner of {module} record {record}. slots: module: path.module record: path.record owner: requestBody.owner - text: Reassign {module} record {record} to {owner} and notify them. slots: module: path.module record: path.record owner: requestBody.owner method: generated generated: '2026-09-26' - target: $.paths['/{module}/actions/change_owner'].post update: x-apievangelist-phrasing: intent: Change the owner of several chosen records effect: write questions: - How do I reassign a hand-picked list of leads to one new owner in a single call? - Can I change the owner of multiple records by their IDs and carry related records over too? instructions: - text: Transfer {module} records {ids} to owner {owner}. slots: module: path.module ids: requestBody.ids owner: requestBody.owner - text: Give {owner} ownership of these selected {module} records. slots: module: path.module owner: requestBody.owner method: generated generated: '2026-09-26' - target: $.paths['/{moduleApiName}/actions/fetch_full_data'].get update: x-apievangelist-phrasing: intent: Fetch full rich text for several records effect: read questions: - How do I get the complete, untruncated rich text fields for a batch of records? - What is the maximum number of rich text fields I can request when pulling full data for multiple records? instructions: - text: Fetch full rich text field {fields} for {moduleApiName} records {ids}. slots: moduleApiName: path.moduleApiName ids: query.ids fields: query.fields - text: Pull the complete rich text content of {moduleApiName} records {ids}. slots: moduleApiName: path.moduleApiName ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/{moduleApiName}/{id}/actions/fetch_full_data'].get update: x-apievangelist-phrasing: intent: Fetch full rich text for one record effect: read questions: - How can I read the whole content of a long rich text field on one record? - If I don't name fields, does fetching full data for a record return every rich text field? instructions: - text: Get all rich text fields in full for {moduleApiName} record {id}. slots: moduleApiName: path.moduleApiName id: path.id - text: Show the untruncated {fields} field of {moduleApiName} record {id}. slots: moduleApiName: path.moduleApiName id: path.id fields: query.fields method: generated generated: '2026-09-26' - target: $.paths['/{module}/{masterRecordId}/actions/merge'].get update: x-apievangelist-phrasing: intent: Check the status of a record merge job effect: read questions: - How do I find out whether an asynchronous merge of duplicate records has finished? - Can I track the progress of a merge job started on a master record? instructions: - text: Check merge job {job_id} for master record {masterRecordId} in {module}. slots: module: path.module masterRecordId: path.masterRecordId job_id: query.job_id - text: Show the merge job status for {module} master record {masterRecordId}. slots: module: path.module masterRecordId: path.masterRecordId method: generated generated: '2026-09-26' - target: $.paths['/{module}/{masterRecordId}/actions/merge'].post update: x-apievangelist-phrasing: intent: Merge duplicate records into a master record effect: destructive questions: - How do I merge duplicate contacts into one master record? - Can I choose which field values survive when combining duplicate records? instructions: - text: Merge the duplicates in {merge} into {module} master record {masterRecordId}. slots: module: path.module masterRecordId: path.masterRecordId merge: requestBody.merge - text: Combine duplicate {module} records into master record {masterRecordId}. slots: module: path.module masterRecordId: path.masterRecordId method: generated generated: '2026-09-26' - target: $.paths['/{moduleApiName}/{recordId}/actions/get_related_records_count'].post update: x-apievangelist-phrasing: intent: Count related records under a parent record effect: read questions: - How many notes, tasks or deals are attached to a given account without fetching them all? - Can I count a record's related list entries filtered by approval or conversion status? instructions: - text: Count the related records of {moduleApiName} record {recordId}. slots: moduleApiName: path.moduleApiName recordId: path.recordId - text: Get related list counts {get_related_records_count} for {moduleApiName} record {recordId}. slots: moduleApiName: path.moduleApiName recordId: path.recordId get_related_records_count: requestBody.get_related_records_count method: generated generated: '2026-09-26' - target: $.paths['/{moduleApiName}/{id}/actions/convert'].post update: x-apievangelist-phrasing: intent: Convert a quote or sales order to the next stage effect: write questions: - How do I turn a quote into a sales order automatically? - Can a sales order be converted straight into an invoice through the API? instructions: - text: Convert {moduleApiName} record {id} into its next inventory document. slots: moduleApiName: path.moduleApiName id: path.id - text: Turn quote {id} into a sales order. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/{moduleApiName}/{recordId}/actions/send_mail_merge'].post update: x-apievangelist-phrasing: intent: Send an email from a mail merge template effect: write questions: - How do I email a record a document generated from a mail merge template? - Can a mail merge email include file attachments or inline images? instructions: - text: Send the mail merge email for {moduleApiName} record {recordId}. slots: moduleApiName: path.moduleApiName recordId: path.recordId - text: Email record {recordId} in {moduleApiName} using mail merge settings {send_mail_merge}. slots: moduleApiName: path.moduleApiName recordId: path.recordId send_mail_merge: requestBody.send_mail_merge method: generated generated: '2026-09-26' - target: $.paths['/{moduleApiName}/{recordId}/actions/sign_mail_merge'].post update: x-apievangelist-phrasing: intent: Send a mail merge document for signature effect: write questions: - How do I send a merged contract document out for e-signature and approval? - What setup is needed in Writer before I can send a mail merge document for signing? instructions: - text: Send the merged document for {moduleApiName} record {recordId} for signing. slots: moduleApiName: path.moduleApiName recordId: path.recordId - text: Route a mail merge for signature on {moduleApiName} record {recordId} with {sign_mail_merge}. slots: moduleApiName: path.moduleApiName recordId: path.recordId sign_mail_merge: requestBody.sign_mail_merge method: generated generated: '2026-09-26' - target: $.paths['/{moduleApiName}/{recordId}/actions/download_mail_merge'].post update: x-apievangelist-phrasing: intent: Download a merged mail merge document effect: read questions: - How can I download the document a mail merge template produces for a record? - Can I get the merged file for a deal without emailing it to anyone? instructions: - text: Download the mail merge document for {moduleApiName} record {recordId}. slots: moduleApiName: path.moduleApiName recordId: path.recordId - text: Generate and download the merged file {download_mail_merge} for record {recordId} in {moduleApiName}. slots: moduleApiName: path.moduleApiName recordId: path.recordId download_mail_merge: requestBody.download_mail_merge method: generated generated: '2026-09-26' - target: $.paths['/{module}/actions/mass_change_owner'].get update: x-apievangelist-phrasing: intent: Check a mass change owner job effect: read questions: - How do I see whether a mass owner reassignment job has completed? - Is there a way to check how many records a mass change owner job has processed? instructions: - text: Check mass change owner job {job_id} in {module}. slots: module: path.module job_id: query.job_id - text: Show the progress of owner reassignment job {job_id} for {module}. slots: module: path.module job_id: query.job_id method: generated generated: '2026-09-26' - target: $.paths['/{module}/actions/mass_change_owner'].post update: x-apievangelist-phrasing: intent: Reassign owner for every record in a custom view effect: write questions: - How do I reassign all records in a saved custom view to a new owner? - Can I limit a mass owner change to a territory or extra criteria? instructions: - text: Change the owner of all {module} records in custom view {cvid} to {owner}. slots: module: path.module cvid: requestBody.cvid owner: requestBody.owner - text: Mass reassign {module} records in view {cvid} within territory {territory} to {owner}. slots: module: path.module cvid: requestBody.cvid owner: requestBody.owner territory: requestBody.territory method: generated generated: '2026-09-26' - target: $.paths['/{module}/actions/mass_delete'].get update: x-apievangelist-phrasing: intent: Check a mass delete job effect: read questions: - How do I find out if a scheduled mass delete has finished? - Can I see how many records a mass delete job actually removed? instructions: - text: Check mass delete job {job_id} in {module}. slots: module: path.module job_id: query.job_id - text: Show the results of the {module} mass delete job {job_id}. slots: module: path.module job_id: query.job_id method: generated generated: '2026-09-26' - target: $.paths['/{module}/actions/mass_delete'].post update: x-apievangelist-phrasing: intent: Mass delete records by IDs or custom view effect: destructive questions: - How do I delete every record in a custom view at once? - Can I schedule a mass deletion of records filtered by territory? instructions: - text: Mass delete all {module} records in custom view {cvid}. slots: module: path.module cvid: requestBody.cvid - text: Schedule a mass delete of {module} records {ids}. slots: module: path.module ids: requestBody.ids method: generated generated: '2026-09-26' - target: $.paths['/{module}/actions/mass_update'].get update: x-apievangelist-phrasing: intent: Check a mass update job effect: read questions: - How do I monitor progress of an asynchronous mass update job? - Can I see how many records were updated or failed in a mass update? instructions: - text: Check mass update job {job_id} for {module}. slots: module: path.module job_id: query.job_id - text: Show record counts for the {module} mass update job {job_id}. slots: module: path.module job_id: query.job_id method: generated generated: '2026-09-26' - target: $.paths['/{module}/actions/mass_update'].post update: x-apievangelist-phrasing: intent: Set one field value across many records effect: write questions: - How do I set the same field value on a large batch of records at once? - Can I mass update a picklist value on dozens of leads by their IDs? instructions: - text: Mass update {module} records {ids} with field values {data}. slots: module: path.module ids: requestBody.ids data: requestBody.data - text: Set the same field value on all these {module} records. slots: module: path.module method: generated generated: '2026-09-26' - target: $.paths['/actions/watch'].get update: x-apievangelist-phrasing: intent: List active notification channels effect: read questions: - Which webhook notification channels do I currently have active in Zoho CRM? - Can I list notification channels only for one module? instructions: - text: List my active notification channels. - text: Show notification channels watching the {module} module. slots: module: query.module - text: Get details of notification channel {channel_id}. slots: channel_id: query.channel_id method: generated generated: '2026-09-26' - target: $.paths['/actions/watch'].put update: x-apievangelist-phrasing: intent: Replace a notification channel configuration effect: write questions: - How do I overwrite the whole configuration of an existing notification channel? - Can I replace every setting of a watch subscription in one call rather than patching it? instructions: - text: Replace the notification channel configuration with {watch}. slots: watch: requestBody.watch - text: Overwrite all settings of my existing watch subscription. method: generated generated: '2026-09-26' - target: $.paths['/actions/watch'].post update: x-apievangelist-phrasing: intent: Subscribe to record change notifications effect: write questions: - How do I get a webhook call whenever records change in my CRM? - Can I create several notification channels in a single request? instructions: - text: Create notification channels {watch}. slots: watch: requestBody.watch - text: Set up a new watch so my URL is notified when records are created or edited. method: generated generated: '2026-09-26' - target: $.paths['/actions/watch'].delete update: x-apievangelist-phrasing: intent: Disable notification channels effect: destructive questions: - How do I stop receiving CRM change notifications on a channel? - Can I turn off several notification channels by their IDs at once? instructions: - text: Disable notification channels {channel_ids}. slots: channel_ids: query.channel_ids - text: Turn off my CRM change notification channels. method: generated generated: '2026-09-26' - target: $.paths['/actions/watch'].patch update: x-apievangelist-phrasing: intent: Change a notification channel's URL or events effect: write questions: - How do I change only the callback URL or events of a notification channel? - What is the longest expiry I can set when extending a notification channel? instructions: - text: Point notification channel {channel_id} to {notify_url} for events {events}. slots: channel_id: requestBody.channel_id notify_url: requestBody.notify_url events: requestBody.events - text: Extend channel {channel_id} expiry to {channel_expiry}. slots: channel_id: requestBody.channel_id channel_expiry: requestBody.channel_expiry method: generated generated: '2026-09-26' - target: $.paths['/{module}/actions/portal_invite'].get update: x-apievangelist-phrasing: intent: Check a scheduled portal invitation job effect: read questions: - How do I see whether bulk portal invitations have been sent? - Can I check the status of a portal invite job by its job ID? instructions: - text: Check portal invitation job {job_id} for {module}. slots: module: path.module job_id: query.job_id - text: Show scheduled portal invitations in {module}. slots: module: path.module method: generated generated: '2026-09-26' - target: $.paths['/{module}/actions/portal_invite'].post update: x-apievangelist-phrasing: intent: Invite multiple portal users effect: write questions: - How do I invite a batch of contacts to our customer portal? - Can I send portal invitations for many records in one request? instructions: - text: Send portal invitations {portal_invite} for {module}. slots: module: path.module portal_invite: requestBody.portal_invite - text: Invite these {module} records to the portal in bulk. slots: module: path.module method: generated generated: '2026-09-26' - target: $.paths['/{module}/{recordId}/actions/portal_invite'].post update: x-apievangelist-phrasing: intent: Invite one record to the portal effect: write questions: - How do I invite a single contact to the portal as a specific user type? - Can I choose the language of a portal invitation for one person? instructions: - text: Invite {module} record {recordId} to the portal as user type {user_type_id} with invite type {type}. slots: module: path.module recordId: path.recordId user_type_id: query.user_type_id type: query.type - text: Send a {language} portal invite to {module} record {recordId} as user type {user_type_id}, type {type}. slots: module: path.module recordId: path.recordId user_type_id: query.user_type_id type: query.type language: query.language method: generated generated: '2026-09-26' - target: $.paths['/{module}/{recordID}/actions/clone'].post update: x-apievangelist-phrasing: intent: Clone a record effect: write questions: - How do I make a copy of an existing deal with a few fields changed? - Can I duplicate a record without triggering workflows? instructions: - text: Clone {module} record {recordID}. slots: module: path.module recordID: path.recordID - text: Duplicate {module} record {recordID} with changes {data}. slots: module: path.module recordID: path.recordID data: requestBody.data method: generated generated: '2026-09-26' - target: $.paths['/{moduleApiName}/{id}/actions/share_emails'].post update: x-apievangelist-phrasing: intent: Share one record's emails with colleagues effect: write questions: - How do I let teammates see the emails on a single contact? - Can I share the email history of one deal with other users? instructions: - text: Share the emails of {moduleApiName} record {id}. slots: moduleApiName: path.moduleApiName id: path.id - text: Make the emails on record {id} in {moduleApiName} visible to my colleagues. slots: moduleApiName: path.moduleApiName id: path.id method: generated generated: '2026-09-26' - target: $.paths['/{moduleApiName}/{id}/actions/unshare_emails'].post update: x-apievangelist-phrasing: intent: Stop sharing one record's emails effect: destructive questions: - How do I make a single contact's emails private again? - Can I revoke email sharing on just one record? instructions: - text: Unshare the emails of {moduleApiName} record {id}. slots: moduleApiName: path.moduleApiName id: path.id - text: Stop sharing emails on record {id} in {moduleApiName}. slots: moduleApiName: path.moduleApiName id: path.id method: generated generated: '2026-09-26' - target: $.paths['/{moduleApiName}/actions/share_emails'].post update: x-apievangelist-phrasing: intent: Share emails of many records effect: write questions: - How do I share email history for a list of records in one go? - Is bulk email sharing possible across several leads by their IDs? instructions: - text: Share emails of {moduleApiName} records {ids}. slots: moduleApiName: path.moduleApiName ids: requestBody.ids - text: Bulk share the emails of these {moduleApiName} records with my team. slots: moduleApiName: path.moduleApiName method: generated generated: '2026-09-26' - target: $.paths['/{moduleApiName}/actions/unshare_emails'].post update: x-apievangelist-phrasing: intent: Stop sharing emails of many records effect: destructive questions: - How do I revoke email sharing for a whole batch of records? - Can I make emails private again on several records at once? instructions: - text: Unshare emails of {moduleApiName} records {ids}. slots: moduleApiName: path.moduleApiName ids: requestBody.ids - text: Bulk revoke email sharing on these {moduleApiName} records. slots: moduleApiName: path.moduleApiName method: generated generated: '2026-09-26' - target: $.paths['/{moduleName}/{id}/actions/send_mail'].post update: x-apievangelist-phrasing: intent: Send an email to a record effect: write questions: - How do I send an email to a lead straight from the CRM? - Can I email a contact using one of my saved email templates? instructions: - text: Send an email to {moduleName} record {id}. slots: moduleName: path.moduleName id: path.id - text: Email record {id} in {moduleName} with content {data}. slots: moduleName: path.moduleName id: path.id data: requestBody.data method: generated generated: '2026-09-26' - target: $.paths['/{moduleApiName}/{recordId}/actions/share'].get update: x-apievangelist-phrasing: intent: See who a record is shared with effect: read questions: - Who has access to a record that was shared manually? - Can I check which users a specific account is shared with? instructions: - text: Show who {moduleApiName} record {recordId} is shared with. slots: moduleApiName: path.moduleApiName recordId: path.recordId - text: List sharing for record {recordId} in {moduleApiName} filtered to user {sharedTo}. slots: moduleApiName: path.moduleApiName recordId: path.recordId sharedTo: query.sharedTo method: generated generated: '2026-09-26' - target: $.paths['/{moduleApiName}/{recordId}/actions/share'].put update: x-apievangelist-phrasing: intent: Change sharing permissions on a record effect: write questions: - How do I change a user's access level on a record I already shared? - Can I update existing record sharing and notify the shared members? instructions: - text: Update sharing on {moduleApiName} record {recordId} to {share}. slots: moduleApiName: path.moduleApiName recordId: path.recordId share: requestBody.share - text: Change existing share permissions for record {recordId} in {moduleApiName}. slots: moduleApiName: path.moduleApiName recordId: path.recordId method: generated generated: '2026-09-26' - target: $.paths['/{moduleApiName}/{recordId}/actions/share'].post update: x-apievangelist-phrasing: intent: Share a record with users effect: write questions: - How do I share a single deal with another user who doesn't own it? - Can I share a record and have the new users notified? instructions: - text: Share {moduleApiName} record {recordId} with {share}. slots: moduleApiName: path.moduleApiName recordId: path.recordId share: requestBody.share - text: Give colleagues access to record {recordId} in {moduleApiName} and notify them. slots: moduleApiName: path.moduleApiName recordId: path.recordId method: generated generated: '2026-09-26' - target: $.paths['/{moduleApiName}/{recordId}/actions/share'].delete update: x-apievangelist-phrasing: intent: Revoke all sharing on a record effect: destructive questions: - How do I stop sharing a record with everyone it was shared with? - Can I remove all manual shares from one record at once? instructions: - text: Revoke all sharing on {moduleApiName} record {recordId}. slots: moduleApiName: path.moduleApiName recordId: path.recordId - text: Unshare record {recordId} in {moduleApiName} from everyone. slots: moduleApiName: path.moduleApiName recordId: path.recordId method: generated generated: '2026-09-26' - target: $.paths['/{module}/actions/add_tags'].post update: x-apievangelist-phrasing: intent: Add tags to multiple records effect: write questions: - How do I tag a batch of leads in one call? - Can I overwrite existing tags when tagging several records? instructions: - text: Add tags {tags} to {module} records {ids}. slots: module: path.module tags: requestBody.tags ids: requestBody.ids - text: Tag these {module} records with {tags}, replacing old tags. slots: module: path.module tags: requestBody.tags method: generated generated: '2026-09-26' - target: $.paths['/{module}/actions/remove_tags'].post update: x-apievangelist-phrasing: intent: Remove tags from multiple records effect: write questions: - How do I strip a tag from many records at once? - Can I remove several tags from a list of contacts in bulk? instructions: - text: Remove tags {tags} from {module} records {ids}. slots: module: path.module tags: requestBody.tags ids: requestBody.ids - text: Bulk untag {tags} across these {module} records. slots: module: path.module tags: requestBody.tags method: generated generated: '2026-09-26' - target: $.paths['/{module}/{id}/actions/add_tags'].post update: x-apievangelist-phrasing: intent: Add tags to a single record effect: write questions: - How do I tag one specific deal? - Can I replace a single record's existing tags with new ones? instructions: - text: Add tags {tags} to {module} record {id}. slots: module: path.module id: path.id tags: requestBody.tags - text: Tag record {id} in {module} with {tags}. slots: module: path.module id: path.id tags: requestBody.tags method: generated generated: '2026-09-26' - target: $.paths['/{module}/{id}/actions/remove_tags'].post update: x-apievangelist-phrasing: intent: Remove tags from a single record effect: write questions: - How do I remove a tag from just one contact? - Can I untag one specific record without touching others? instructions: - text: Remove tags {tags} from {module} record {id}. slots: module: path.module id: path.id tags: requestBody.tags - text: Untag record {id} in {module}. slots: module: path.module id: path.id method: generated generated: '2026-09-26' - target: $.paths['/{module}/{record}/actions/assign_territories'].post update: x-apievangelist-phrasing: intent: Assign territories to one record effect: write questions: - How do I put a single account into a sales territory? - Can I assign territories to one specific record by its ID? instructions: - text: Assign territories to {module} record {record}. slots: module: path.module record: path.record - text: Add record {record} in {module} to territories {data}. slots: module: path.module record: path.record data: requestBody.data method: generated generated: '2026-09-26' - target: $.paths['/{module}/actions/assign_territories'].post update: x-apievangelist-phrasing: intent: Assign territories to many records effect: write questions: - How do I assign a territory to a whole batch of accounts at once? - Can I bulk assign territories across multiple records? instructions: - text: Assign territories {data} to multiple {module} records. slots: module: path.module data: requestBody.data - text: Bulk assign these {module} records to their territories. slots: module: path.module method: generated generated: '2026-09-26' - target: $.paths['/{module}/{record}/actions/remove_territories'].post update: x-apievangelist-phrasing: intent: Remove territories from one record effect: write questions: - How do I take a single account out of a territory? - Can I remove a territory from one specific record? instructions: - text: Remove territories from {module} record {record}. slots: module: path.module record: path.record - text: Take record {record} in {module} out of territories {data}. slots: module: path.module record: path.record data: requestBody.data method: generated generated: '2026-09-26' - target: $.paths['/{module}/actions/remove_territories'].post update: x-apievangelist-phrasing: intent: Remove territories from many records effect: write questions: - How do I remove territory assignments from many records at once? - Can I bulk unassign territories from a set of accounts? instructions: - text: Remove territories {data} from multiple {module} records. slots: module: path.module data: requestBody.data - text: Bulk unassign territories from these {module} records. slots: module: path.module method: generated generated: '2026-09-26' - target: $.paths['/{module}/actions/unblock_email'].post update: x-apievangelist-phrasing: intent: Unblock email addresses on many records effect: write questions: - How do I unblock bounced email addresses for a batch of leads? - Can I unblock specific email fields across multiple records? instructions: - text: Unblock {unblock_fields} on {module} records {ids}. slots: module: path.module ids: requestBody.ids unblock_fields: requestBody.unblock_fields - text: Bulk unblock email addresses on these {module} records. slots: module: path.module method: generated generated: '2026-09-26' - target: $.paths['/{module}/{id}/actions/unblock_email'].post update: x-apievangelist-phrasing: intent: Unblock the email address on one record effect: write questions: - How do I unblock a single contact's blocked email so I can send to them again? - Which email field gets unblocked when I unblock one record? instructions: - text: Unblock {unblock_fields} on {module} record {id}. slots: module: path.module id: path.id unblock_fields: requestBody.unblock_fields - text: Unblock the email on record {id} in {module}. slots: module: path.module id: path.id method: generated generated: '2026-09-26'