openapi: 3.2.0 info: title: Mapp Engage public Profile Attributes 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: Profile Attributes paths: /profileAttributes/archive: post: tags: - Profile Attributes summary: Archive profile attributes description: '' operationId: archive_2 responses: default: description: successful operation /profileAttributes/create: post: tags: - Profile Attributes summary: Create a profile attribute description: '' operationId: create_4 responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/ScheduledOperationResult' requestBody: content: application/json: schema: $ref: '#/components/schemas/ProfileAttributeData' /profileAttributes/get: get: tags: - Profile Attributes summary: Get a single profile attribute by ID description: '' operationId: get_5 parameters: - name: attributeId in: query required: false schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProfileAttribute' '404': description: Not found /profileAttributes/getAvailableChannels: get: tags: - Profile Attributes summary: Get available channels for attribute assignment description: '' operationId: getAvailableChannels responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ChannelInfo' /profileAttributes/getMarked: get: tags: - Profile Attributes summary: Get recipient statistic settings description: '' operationId: getMarked responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RecipientStatisticResult' /profileAttributes/getCapacity: get: tags: - Profile Attributes summary: Get remaining profile attribute capacity per data type description: '' operationId: getCapacity responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AttributeCapacity' /profileAttributes/getTechnical: get: tags: - Profile Attributes summary: Get technical (system) attributes description: '' operationId: getTechnical responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ProfileAttribute' /profileAttributes/list: get: tags: - Profile Attributes summary: List profile attributes description: '' operationId: list_4 parameters: - name: archived in: query required: false schema: type: boolean - name: withEnums in: query required: false schema: type: boolean responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ProfileAttribute' /profileAttributes/markForStats: post: tags: - Profile Attributes summary: Mark a profile attribute for recipient statistics description: '' operationId: markForStats parameters: - name: attributeName in: query required: false schema: type: string responses: default: description: successful operation /profileAttributes/restore: post: tags: - Profile Attributes summary: Restore archived profile attributes description: '' operationId: restore responses: default: description: successful operation /profileAttributes/export: get: tags: - Profile Attributes summary: Trigger async CSV export of profile attributes description: '' operationId: export_3 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ExportJobResult' /profileAttributes/unmarkForStats: post: tags: - Profile Attributes summary: Unmark a profile attribute from recipient statistics description: '' operationId: unmarkForStats parameters: - name: attributeName in: query required: false schema: type: string responses: default: description: successful operation /profileAttributes/update: put: tags: - Profile Attributes summary: Update a profile attribute description: '' operationId: update_4 parameters: - name: attributeId in: query required: false schema: type: integer format: int64 responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/ScheduledOperationResult' requestBody: content: application/json: schema: $ref: '#/components/schemas/ProfileAttributeData' /profileAttributes/validateName: get: tags: - Profile Attributes summary: Validate profile attribute name uniqueness description: '' operationId: validateName_3 parameters: - name: name in: query required: false schema: type: string responses: '200': description: successful operation content: application/json: schema: type: boolean 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:///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