# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for SendPulse CRM Public Contact Attributes API version: 1.0.0 extends: openapi/sendpulse-contact-attributes-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: 4 - target: $.paths['/contacts/attributes'].get update: x-apievangelist-phrasing: intent: List CRM contact attributes effect: read questions: - What custom fields exist for my CRM contacts? - Which contact attributes are mandatory? instructions: - text: List my contact attributes. - text: Show all custom fields defined for contacts. method: generated generated: '2026-10-01' - target: $.paths['/contacts/attributes'].post update: x-apievangelist-phrasing: intent: Create a custom contact attribute effect: write questions: - How do I add a new custom field to my CRM contacts? - Can I create a mandatory contact attribute with a list of options? instructions: - text: Create a contact attribute named {name}. slots: name: requestBody.name - text: Add a {type} contact field called {name} with options {options}. slots: type: requestBody.type name: requestBody.name options: requestBody.options method: generated generated: '2026-10-01' - target: $.paths['/contacts/attributes/{attributeId}'].put update: x-apievangelist-phrasing: intent: Update a contact attribute effect: write questions: - Can I rename a contact attribute or change its display order? - Is it possible to show or hide a field on the contact card? instructions: - text: Rename contact attribute {attributeId} to {name} at position {order}. slots: attributeId: path.attributeId name: requestBody.name order: requestBody.order - text: 'Update contact field {attributeId}: name {name}, order {order}, show on card {contactCardShow}.' slots: attributeId: path.attributeId name: requestBody.name order: requestBody.order contactCardShow: requestBody.contactCardShow method: generated generated: '2026-10-01' - target: $.paths['/contacts/attributes/{attributeId}'].delete update: x-apievangelist-phrasing: intent: Delete a contact attribute effect: destructive questions: - Can I delete a custom contact field I no longer use? - What's the way to remove a contact attribute? instructions: - text: Delete contact attribute {attributeId}. slots: attributeId: path.attributeId - text: Remove custom contact field {attributeId}. slots: attributeId: path.attributeId method: generated generated: '2026-10-01'