Mapp Marketing Cloud Prepared Message API

The Prepared Message API from Mapp Marketing Cloud — 4 operation(s) for prepared message.

Business capability
Digital Marketing Management BC-400.60

Operations 4

POST /preparedmessage/find Find prepared messages #
GET /preparedmessage/get Get a prepared message #
GET /preparedmessage/send Send a prepared message #
POST /preparedmessage/update Update a prepared message #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/mapp-prepared-message-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

mapp-prepared-message-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Mapp Engage public Prepared Message API
  version: '1'
  description: 'Mapp Engage REST API (REST 2.0, incremental version v19). Assembled verbatim from the per-operation OpenAPI fragments Mapp publishes on each endpoint page of https://docs.mapp.com/apidocs/. The base URL is tenant-specific: take your Mapp Engage login host and append /api/rest/v19.'
  contact:
    name: Mapp Technical Support
    url: https://mapp.com/tech-support/
servers:
- url: /api/rest/v19
security:
- basicAuth: []
tags:
- name: Prepared Message
paths:
  /preparedmessage/find:
    post:
      tags:
      - Prepared Message
      summary: Find prepared messages
      description: 'Returns list of prepared messages. At least one of the following two fields is mandatory:


        ''lastUpdateDateFrom''


        ''creationDateFrom'' - must be within 31 days of CreationDateTo.


        CreationDateTo if is not given then by default is currentDate, if is given than obligatory is to use creationDateFrom as well.


        To get the result faster, use limit (1-500)

        Request body examples:


        {

        "externalMessageId": "MessageID"

        }


        {

        "creationDateFrom": "2020-07-10",

        "messageName" : "MessageToBeArchived",

        "limit":1

        }


        {

        "creationDateFrom": "2020-07-10",

        "creationDateTo" : "2020-07-15",

        "messageName" : "MessageToBeArchived",

        "limit":1

        }


        {

        "lastUpdateDateFrom": "2020-07-17",

        "messageName" : "MessageToBeArchived",

        "limit":1

        }


        {

        "lastUpdateDateFrom": "2020-07-10",

        "creationDateTo" : "2020-07-15",

        "messageName" : "MessageToBeArchived",

        "limit":1

        }


        {

        "creationDateFrom": "2020-07-01",

        "lastUpdateDateFrom": "2020-07-10",

        "creationDateTo" : "2020-07-15",

        "messageName" : "MessageToBeArchived",

        "limit":1

        }'
      operationId: FindPreparedMessage
      parameters:
      - name: preparedMessageFilter
        in: query
        description: A filter with the list of prepared message.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreparedMessageSummary'
            application/xml:
              schema:
                $ref: '#/components/schemas/PreparedMessageSummary'
        '400':
          description: ''
  /preparedmessage/get:
    get:
      tags:
      - Prepared Message
      summary: Get a prepared message
      description: 'Returns a prepared message identified by the messageId, personalized for contactId.


        trackingOverride controls message tracking consent override behavior:

        1 = no override; per-contact tracking consent applies.

        2 = full override; open and link-click tracking are enforced for all recipients regardless of individual consent.

        Any other value is rejected by this API.'
      operationId: GetPreparedMessage
      parameters:
      - name: messageId
        in: query
        description: The prepared message ID
        required: true
        schema:
          type: integer
          format: int64
      - name: contactId
        in: query
        description: 'The contact ID to personalize message for. It has to be the member of the prepared message''s group. Note: empty - Leave contact empty to get not personalized (raw) message'
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: '{<br>   "contactId": 45802709,<br>   "messageId": 7579,<br>   "name": "JohnPreparedWithCustom20220215",<br>   "groupId": 3302,<br>   "groupName": "John20220208",<br>   "selectionId": null,<br>   "selectionName": null,<br>   "channelId": 327699,<br>   "channelName": "DMC Email",<br>   "externalId": null,<br>   "messageCategoryId": null,<br>   "messageCategoryName": null,<br>   "trackingOverride": 2,<br>   "message":    {<br>      "subject": "JohnPreparedWithCustom20220215",<br>      "emailBodyText": null,<br>      "emailBodyHtml": "<html><body>JohnPreparedWithCustom20220215\r\nEmail(standard) tt7177798@gmail.comtt7178198@gmail.com\r\nEmail(Custom) OBFUSCATEDtt71778198@gmail.com<\/body><\/html>",<br>      "smsText": null,<br>      "faxText": null,<br>      "emailHeaders": [],<br>      "attachments": [],<br>      "attachmentReferences": null,<br>      "encoding": "ISO-8859-1",<br>      "encodingSMS": "ISO-8859-1",<br>      "imageHandlingMode": "none"<br>   }<br>}'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreparedMessage'
            application/xml:
              schema:
                $ref: '#/components/schemas/PreparedMessage'
        '400':
          description: Please enter a valid prepared message ID, Please enter a valid test contact ID to get the personalized HTML. Leave it blank to get the raw HTML, No membership for user '25493969' in group '2186' found.
  /preparedmessage/send:
    get:
      tags:
      - Prepared Message
      summary: Send a prepared message
      description: Send prepared messages based on a given send datetime.
      operationId: send
      parameters:
      - name: preparedMessageId
        in: query
        description: The id of the prepared message you want to send.
        required: true
        schema:
          type: integer
          format: int64
      - name: sendDateTime
        in: query
        description: Sendout date-time. ISO_8601 format, in URL encoded form
        required: true
        schema:
          type: string
      - name: processingDateTime
        in: query
        description: The preprocessing date-time (optional). ISO_8601 format, in URL encoded form
        required: false
        schema:
          type: string
      - name: selectionId
        in: query
        description: A selection id to associate with the sendout (optional).
        required: false
        schema:
          type: integer
          format: int64
      - name: bestSendoutTime
        in: query
        description: True/False.
        required: true
        schema:
          type: string
      - name: bestSendoutTimeDefault
        in: query
        description: '17:00.'
        required: true
        schema:
          type: string
      - name: bestSendoutTimeTimezone
        in: query
        description: Europe/Berlin.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreparedMessage'
            application/xml:
              schema:
                $ref: '#/components/schemas/PreparedMessage'
        '400':
          description: ''
  /preparedmessage/update:
    post:
      tags:
      - Prepared Message
      summary: Update a prepared message
      description: 'Update prepared message.


        trackingOverride controls message tracking consent override behavior:

        1 = no override; per-contact tracking consent applies.

        2 = full override; open and link-click tracking are enforced for all recipients regardless of individual consent.

        Any other value is rejected by this API.

        On update, omit trackingOverride or send null to preserve the existing stored value; set trackingOverride to 1 explicitly to clear an active override.'
      operationId: UpdatePreparedMessage
      responses:
        '204':
          description: ''
        '400':
          description: ''
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreparedMessage'
        description: Prepared message body.<br><br>trackingOverride controls message tracking consent override behavior:<br>1 = no override; per-contact tracking consent applies.<br>2 = full override; open and link-click tracking are enforced for all recipients regardless of individual consent.<br>Any other value is rejected by this API.<br>On update, omit trackingOverride or send null to preserve the existing stored value; set trackingOverride to 1 explicitly to clear an active override.
        required: true
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication with a Mapp Engage system user of type API (or Hybrid).
x-apievangelist-provenance:
  method: searched
  generated: '2026-08-12'
  source: https://docs.mapp.com/apidocs/ (per-endpoint OpenAPI fragments)
  note: Union of the OpenAPI JSON fragments Mapp publishes on each endpoint page. Mapp does not serve one consolidated document at a public URL; the tenant-served Swagger lives at https://<your-engage-host>/apidoc/swagger.json and requires a tenant. Operation bodies, parameters, responses, tags, summaries and descriptions are verbatim from Mapp. The swagger/basePath/schemes/securityDefinitions envelope is added by API Evangelist from the published Getting Started guide; no operation content was authored.
  duplicate_operation_ids_suffixed: 30