Mapp Marketing Cloud Meta API

The Meta API from Mapp Marketing Cloud — 13 operation(s) for meta.

Operations 13

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /meta/activateAttributeDefinitions Reactivate archived custom attributes · Activate attribute definitions #
Ask an LLM
“How do I bring an archived custom attribute back so it shows in the personalization builder?”
“Can archived attributes be reactivated by name?”
Tell an agent
Reactivate the archived custom attribute named loyaltyTier.
Restore these archived attributes so they can be used in personalization.
POST /meta/archiveAttributeDefinitions Archive custom attributes · Archive attribute definitions #
Ask an LLM
“Can I hide a custom attribute from message creation without deleting its data?”
“Do archived attributes still work in existing messages and sendouts?”
Tell an agent
Archive the custom attribute named legacyScore.
Archive these custom user attributes so editors stop using them.
POST /meta/attachTags Attach tags to an entity · Attach tags #
Ask an LLM
“How do I tag a message or other entity in Mapp Engage?”
“Can I add several tags to one entity at once?”
Tell an agent
Attach tags to {entityType} {entityId}.
Tag {entityType} {entityId} with spring-campaign.
POST /meta/createAttributeDefinitions Create custom user attributes · Create attribute definitions #
Ask an LLM
“How do I add a new custom data field to store information about users?”
“Is there a limit on how many custom attributes I can create?”
Tell an agent
Create a custom user attribute called favoriteStore of type string.
Define new custom attributes for storing profile data.
POST /meta/createLinkCategories Create link categories · Create link categories #
Ask an LLM
“Can I group links for reporting by matching them with a regex pattern?”
“Which call sets up new link categories that can trigger automations on click?”
Tell an agent
Create a link category Promotions matching links containing /promo/.
Add new link categories with their regex patterns.
POST /meta/deleteLinkCategory Delete a link category · Delete a link category #
Ask an LLM
“How do I remove a link category I no longer need?”
“Can a link category be deleted once created?”
Tell an agent destructive · confirm first
Delete the Promotions link category.
Remove this link category from the system.
POST /meta/detachTags Remove tags from an entity · Detach tags #
Ask an LLM
“Can I take specific tags off an entity without touching the others?”
“Which call untags a message?”
Tell an agent
Detach tags {tags} from {entityType} {entityId}.
Remove the spring-campaign tag from {entityType} {entityId}.
POST /meta/findByTags Find entities by tag · Find entities by tags #
Ask an LLM
“Which entities carry a given tag?”
“Can I filter tagged items by entity type?”
Tell an agent
Find all {entityType} entities tagged {tags}.
Search for anything tagged {tags}.
GET /meta/getAttributeDefinitions List active custom user attributes · Get attribute definitions #
Ask an LLM
“What custom attributes are currently active for users?”
“Does the attribute definition list include archived or system attributes?”
Tell an agent
List all active custom user attributes.
Show me the custom attribute definitions in use.
GET /meta/getLinkCategories List link categories · Get link categories #
Ask an LLM
“What link categories are set up for click reporting?”
“Can I see the patterns behind each link category?”
Tell an agent
List all link categories.
Show the link categories and their patterns.
GET /meta/getTags List tags on an entity · Get tags #
Ask an LLM
“What tags are attached to a particular message?”
“Where can I see every tag on an entity?”
Tell an agent
Get the tags on {entityType} {entityId}.
Show which tags entity {entityId} has.
POST /meta/mergeAttributeDefinitions Sync the full custom attribute list · Merge attribute definitions #
Ask an LLM
“Can I archive, activate and create custom attributes in one full-list update?”
“What happens to custom attributes I leave out of a merge?”
Tell an agent
Merge this complete custom attribute list, deactivating any attribute not included.
Sync all custom attribute definitions to match my list.
POST /meta/updateLinkCategory Update a link category · Update a link category #
Ask an LLM
“Can I change the name or regex pattern of an existing link category?”
“Which call edits a link category after it's created?”
Tell an agent
Update the Promotions link category to match /offers/ instead.
Change the pattern on this existing link category.

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:mapp-meta-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-meta-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Mapp Engage public Meta 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: Meta
paths:
  /meta/activateAttributeDefinitions:
    post:
      tags:
      - Meta
      summary: Activate attribute definitions
      description: 'Reactivates archived custom attributes that are named in the parameter list. After activation, they can be used in personalization during the message composition process.

        Request body example:


        ["attributename"]'
      operationId: activateAttributeDefinitions
      responses:
        '204':
          description: ''
        '400':
          description: ''
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
  /meta/archiveAttributeDefinitions:
    post:
      tags:
      - Meta
      summary: Archive attribute definitions
      description: 'Archives custom attributes. An archived attribute is still stored in the system. The attributes can still be in use for existing messages and sendouts, but they are not available in the GUI message creation process (i.e. personalization builder).

        Request body example:


        ["attributename"]'
      operationId: archiveAttributeDefinitions
      responses:
        '204':
          description: ''
        '400':
          description: ''
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
  /meta/attachTags:
    post:
      tags:
      - Meta
      summary: Attach tags
      operationId: attachTags
      parameters:
      - name: entityId
        in: query
        description: Entity id
        required: true
        schema:
          type: integer
          format: int64
      - name: entityType
        in: query
        description: Entity type
        required: true
        schema:
          type: string
      responses:
        '204':
          description: ''
        '400':
          description: ''
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
  /meta/createAttributeDefinitions:
    post:
      tags:
      - Meta
      summary: Create attribute definitions
      description: 'Creates a new data field (custom user attribute) where information about users can be stored. With the standard setup, you are permitted to create a limited number of custom attributes with different data types.

        Each custom user attribute has a unique name. If an attribute is no longer needed, it may be archived. Please contact your customer support representative if you need to delete an attribute.

        Request body example:


        [{

        "name": "attributename",

        "type": "STRING",

        "enumerationValues":

        [

        "value1",

        "value2",

        "value3"

        ],

        "active": "true"

        }]'
      operationId: createAttributeDefinitions
      responses:
        '204':
          description: ''
        '400':
          description: ''
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/AttributeDefinition'
  /meta/createLinkCategories:
    post:
      tags:
      - Meta
      summary: Create link categories
      description: 'Creates new link categories. Link categories are automatically assigned to a link via a regex pattern.

        The link categories group together different links for statistical purposes and can be used to trigger automated processes when a link of a certain category is clicked.

        The name and pattern are mandatory inputs for the category. The ID is automatically assigned by the system

        Request body example:


        [{

        "id": "",

        "name": "TestApi",

        "description" : "Rest Api Call",

        "pattern": "TestAp[i]"

        }]'
      operationId: createLinkCategories
      responses:
        '204':
          description: ''
        '400':
          description: ''
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/LinkCategory'
  /meta/deleteLinkCategory:
    post:
      tags:
      - Meta
      summary: Delete a link category
      description: Delete link category
      operationId: deleteLinkCategory
      responses:
        '204':
          description: ''
        '400':
          description: ''
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
  /meta/detachTags:
    post:
      tags:
      - Meta
      summary: Detach tags
      operationId: detachTags
      parameters:
      - name: entityId
        in: query
        description: Entity id
        required: false
        schema:
          type: integer
          format: int64
      - name: entityType
        in: query
        description: Entity type
        required: false
        schema:
          type: string
      - name: tags
        in: query
        description: Entity tags
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: ''
        '400':
          description: ''
  /meta/findByTags:
    post:
      tags:
      - Meta
      summary: Find entities by tags
      description: Find by tags
      operationId: findByTags
      parameters:
      - name: tags
        in: query
        description: Tags
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: entityType
        in: query
        description: Entity type
        required: false
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaggedEntity'
            application/xml:
              schema:
                $ref: '#/components/schemas/TaggedEntity'
        '400':
          description: ''
  /meta/getAttributeDefinitions:
    get:
      tags:
      - Meta
      summary: Get attribute definitions
      description: Returns a list of all active custom attributes that are defined for the users. Attributes with the status 'archived' or 'system' are not included in the list.
      operationId: getAttributeDefinitions
      responses:
        '200':
          description: '[{<br>    "name": "NumberName",<br>    "type": "NUMBER",<br>    "enumerationValues": null,<br>    "active": null },{<br>    "name": "StringName",<br>    "type": "STRING",<br>    "enumerationValues": ["1"],<br>    "active": null<br>}]'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttributeDefinition'
            application/xml:
              schema:
                $ref: '#/components/schemas/AttributeDefinition'
        '400':
          description: ''
  /meta/getLinkCategories:
    get:
      tags:
      - Meta
      summary: Get link categories
      operationId: getLinkCategories
      responses:
        '200':
          description: List of Link categories
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkCategory'
            application/xml:
              schema:
                $ref: '#/components/schemas/LinkCategory'
        '400':
          description: ''
  /meta/getTags:
    get:
      tags:
      - Meta
      summary: Get tags
      operationId: getTags
      parameters:
      - name: entityId
        in: query
        description: Entity id
        required: false
        schema:
          type: integer
          format: int64
      - name: entityType
        in: query
        description: Entity type
        required: false
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaggedEntity'
            application/xml:
              schema:
                $ref: '#/components/schemas/TaggedEntity'
        '404':
          description: ''
  /meta/mergeAttributeDefinitions:
    post:
      tags:
      - Meta
      summary: Merge attribute definitions
      description: 'Updates the list of custom attributes that are available on the interface. It is used to archive, activate, and create custom attributes. This call affects every custom attribute that is available in your system. It updates all of the attributes that are available for saving user data and reusing it in a different context. If an attribute is not mentioned, it is automatically deactivated. Errors and changes are delivered at the end of the process when all attributes are processed. The update cannot be used in an interactional way. Errors do not stop the update process. The attribute with the error is skipped and the process continues with the next attribute. It is not possible to change the attribute name, type, or enumeration with this method. The results of the merge method are as follows: * New attributes are created if the attribute is listed and did not exist before. * Custom attributes that are not listed are archived. * Custom attributes that are listed and are identical to the ones that already exist have no state change. * Custom attributes that are archived and not listed remain archived. * Custom attributes that have a state other than archived/active generate an error and remain unchanged.

        Request body example:


        [{

        "name": "attributename",

        "type": "STRING",

        "enumerationValues":

        [

        "value1",

        "value2",

        "value3"

        ],

        "active": "true"

        }]'
      operationId: mergeAttributeDefinitions
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
            application/xml:
              schema:
                type: array
                items:
                  type: object
        '400':
          description: ''
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/AttributeDefinition'
  /meta/updateLinkCategory:
    post:
      tags:
      - Meta
      summary: Update a link category
      description: Update link categoriy
      operationId: updateLinkCategory
      responses:
        '204':
          description: ''
        '400':
          description: ''
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LinkCategory'
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