Mapp Marketing Cloud · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Mapp Engage public Contact API

9 actions 9 updates phrasing extends openapi/mapp-contact-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Mapp Marketing Cloud's API. It is a proposal applied on top of the contract, not a document Mapp Marketing Cloud publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 9

$.info
$.paths['/contact/anonymize'].get
$.paths['/contact/checkUpdateVersion'].get
$.paths['/contact/create'].post
$.paths['/contact/delete'].post
$.paths['/contact/export'].get
$.paths['/contact/get'].post
$.paths['/contact/update'].post
$.paths['/contact/updateMultichannelContact'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Mapp Engage public Contact API
  version: 1.0.0
extends: openapi/mapp-contact-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: 8
- target: $.paths['/contact/anonymize'].get
  update:
    x-apievangelist-phrasing:
      intent: Anonymize a contact's personal data (GDPR)
      effect: destructive
      questions:
      - How do I handle a GDPR erasure request for a contact?
      - Can I strip a contact's personal data while keeping the record?
      instructions:
      - text: Anonymize contact {contactId} and notify {notificationRecipient} when done.
        slots:
          contactId: query.contactId
          notificationRecipient: query.notificationRecipient
      - text: Erase the PII of contact {contactId} under GDPR.
        slots:
          contactId: query.contactId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/contact/checkUpdateVersion'].get
  update:
    x-apievangelist-phrasing:
      intent: Check whether a profile update was saved
      effect: read
      questions:
      - Has a specific contact profile update made it into the Data Store yet?
      - Can I confirm an update with a given timestamp version was saved?
      instructions:
      - text: Check whether update version {updateVersion} for contact {contactIdentifier} is saved.
        slots:
          updateVersion: query.updateVersion
          contactIdentifier: query.contactIdentifier
      - text: Confirm contact {contactIdentifier} has the update stamped {updateVersion}.
        slots:
          contactIdentifier: query.contactIdentifier
          updateVersion: query.updateVersion
      method: generated
      generated: '2026-09-26'
- target: $.paths['/contact/create'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a contact
      effect: write
      questions:
      - How do I add a new contact with a first and last name?
      - Which identifiers can I use when creating a contact?
      instructions:
      - text: Create a contact for jane@example.com with first name Jane.
      - text: Add a new contact with these attributes.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/contact/delete'].post
  update:
    x-apievangelist-phrasing:
      intent: Delete a contact by identifier
      effect: destructive
      questions:
      - Can I delete a contact by passing its email or mobile identifier?
      - What identifier types work for removing a contact?
      instructions:
      - text: Delete the contact with email test@test.com.
      - text: Remove this contact using its mobile identifier.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/contact/export'].get
  update:
    x-apievangelist-phrasing:
      intent: Export a contact's data (GDPR)
      effect: read
      questions:
      - How do I fulfil a GDPR data access request for a contact?
      - Who gets the download link when a contact export finishes?
      instructions:
      - text: Export all data for contact {contactId} and send the link to {notificationRecipient}.
        slots:
          contactId: query.contactId
          notificationRecipient: query.notificationRecipient
      - text: Start a GDPR data export for contact {contactId}.
        slots:
          contactId: query.contactId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/contact/get'].post
  update:
    x-apievangelist-phrasing:
      intent: Get a contact by email or mobile identifier
      effect: read
      questions:
      - Can I fetch a contact by sending its email or mobile as an identifier object?
      - What does a contact record look like when I look it up by identifier type?
      instructions:
      - text: Get the contact whose EMAIL identifier is test@test.com.
      - text: Fetch the contact for MOBILE identifier 48505606707.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/contact/update'].post
  update:
    x-apievangelist-phrasing:
      intent: Update a contact
      effect: write
      questions:
      - Does updating a contact clear attributes I leave empty?
      - How do I update a contact's attributes using a chosen identifier type?
      instructions:
      - text: Update the contact using identifier type {identifierType} with these attributes.
        slots:
          identifierType: query.identifierType
      - text: Change the last name of the contact identified by {identifierType}.
        slots:
          identifierType: query.identifierType
      method: generated
      generated: '2026-09-26'
- target: $.paths['/contact/updateMultichannelContact'].post
  update:
    x-apievangelist-phrasing:
      intent: Update a multichannel contact and its mobile alias
      effect: write
      questions:
      - How do I update a contact that has both email and mobile channels?
      - Can I set a contact's mobile alias correctly while updating profile data?
      instructions:
      - text: Update the multichannel contact matched by {identifierType}, keeping its mobile alias.
        slots:
          identifierType: query.identifierType
      - text: Update the email-and-SMS contact by {identifierType} with these attributes.
        slots:
          identifierType: query.identifierType
      method: generated
      generated: '2026-09-26'