openapi: 3.2.0
info:
title: Mapp Engage public Contact 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: Contact
paths:
/contact/anonymize:
get:
tags:
- Contact
summary: Anonymize a contact
description: Anonymizes contact PII data based on GDPR regulations.
operationId: anonymize
parameters:
- name: contactId
in: query
description: The user ID of the contact to perform anonymization for.
required: true
schema:
type: integer
format: int64
- name: notificationRecipient
in: query
description: Active system user witch is going to be used for permission checks, and will get system message.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: boolean
application/xml:
schema:
type: boolean
'400':
description: Parameter contactId and notificationRecipient are mandatory, but are missing or incorrect
'404':
description: 'Error response: {
"errorActor": "CLIENT",
"errorCode": "INVALID_REQUEST",
"message": "Not Found"
}'
/contact/checkUpdateVersion:
get:
tags:
- Contact
summary: Check contact update version
description: Checks if profile update with specified update version (timestamp) has been saved in Data Store.
operationId: checkUpdateVersion
parameters:
- name: contactIdentifier
in: query
description: The contact identifier. The same that is used in the "Update" method. It is described here ContactIdentifier.
required: true
schema:
type: string
- name: updateVersion
in: query
description: The timestamp to be checked.
required: true
schema:
type: integer
format: int64
responses:
'200':
description: Boolean value
content:
application/json:
schema:
type: boolean
application/xml:
schema:
type: boolean
'400':
description: '{
"errorActor": "CLIENT",
"errorCode": "INVALID_REQUEST",
"message": "Bad Request"
}'
/contact/create:
post:
tags:
- Contact
summary: Create a contact
description: 'Creates a new contact using the information provided in the contact object.
Check Contact_ for possible identifiers in the body.
Request body examples:
{
"emailAddress": "test20210203@dropmail.mapp.com",
"attributes":
[
{"name": "FirstName", "value": "John"},
{"name": "LastName", "value": "Smith"},
{"name": "mobileNumber", "value": "33505606709"},
{"name": "user.ISOCountryCode", "value": "FR"}
]
}
{
"emailAddress" : "testuser@dropmail.mapp.com"
}'
operationId: create
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Contact'
application/xml:
schema:
$ref: '#/components/schemas/Contact'
'400':
description: Such contact already exists
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Contact'
/contact/delete:
post:
tags:
- Contact
summary: Delete a contact
description: Deletes the contact identified by the specified identifier.{
"type":"EMAIL",
"value":"test@test.com"
}
{
"type":"MOBILE",
"value":"48505606707"
}{
"errorActor": "CLIENT",
"errorCode": "NO_SUCH_OBJECT",
"message": "Contact with identifier=nobody.here@example.com does not exist.",
"objectType": "Contact",
"propertyName": "identifier",
"propertyValue": "nobody.here@example.com"
}'
'403':
description: Incorrect system user login credentials. Check username password, and check that the corresponding system user account is Type “API” or “Hybrid”.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ContactIdentifier'
/contact/update:
post:
tags:
- Contact
summary: Update a contact
description: 'Can be used to update contacts. {
"emailAddress": "test20200529@dropmail.mapp.com",
"attributes":
[
{"name": "FirstName", "value": "John"},
{"name": "LastName", "value": "Smith"},
{"name": "mobileNumber", "value": "335056067010"},
{"name": "user.ISOCountryCode", "value": "FR"}
]
}{
"emailAddress": "test20200529@dropmail.mapp.com",
"attributes":
[
{"name": "FirstName", "value": "John"},
{"name": "LastName", "value": "Smith"},
{"name": "mobileNumber", "value": "335056067010"},
{"name": "user.ISOCountryCode", "value": "FR"}
]
}