Generated by API Evangelist
Written by API Evangelist tooling for SendPulse's API. It is a proposal applied on top of the contract, not a document SendPulse publishes.
# 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'
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.