openapi: 3.2.0 info: title: Policy Service Marketing actions API description: "Adobe Experience Platform Data Governance simplifies and streamlines the process of categorizing data and creating data usage policies. Once data labels have been applied and data usage policies are in place, marketing actions can be evaluated to ensure the correct use of data.\n\nUse the Policy Service API to programmatically manage data usage labels, policies, and marketing actions. The API also provides endpoints to evaluate marketing actions against specific data usage labels to test for policy violations.\n\nNote: You can use the [Dataset Service API](./dataset-service.yaml) to manage data usage labels for an existing dataset.\n- **Related documentation**:\n - [Data Governance documentation](http://www.adobe.com/go/data-governance-overview-en)\n\n- **Visualize API calls with Postman (a free, third-party software)**:\n - [Policy Service API Postman collection on GitHub](https://github.com/adobe/experience-platform-postman-samples/blob/master/apis/experience-platform/Policy%20Service%20API.postman_collection.json)\n - [Video guide for creating the Postman environment](https://video.tv.adobe.com/v/28832)\n - [Steps for importing environments and collections in Postman](https://learning.getpostman.com/docs/postman/collection_runs/using_environments_in_collection_runs/)\n\n- **API paths**:\n - PLATFORM Gateway URL: https://platform.adobe.io/\n - Base path for this API: /data/foundation/dulepolicy\n - Example of a complete path: https://platform.adobe.io/data/foundation/dulepolicy/labels/custom\n\n- **Required headers**:\n - All calls require the headers `Authorization`, `x-gw-ims-org-id`, and `x-api-key`. For more information on how to obtain these values, see the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).\n - All resources in Experience Platform are isolated to specific virtual sandboxes. All requests to Platform APIs require the header `x-sandbox-name` whose value is the all-lowercase name of the sandbox the operation will take place in (for example, \"prod\"). See the [sandboxes overview](https://adobe.com/go/sandbox-overview-en) for more information.\n - All requests with a payload in the request body (such as POST, PUT, and PATCH calls) must include the header `Content-Type` with a value of `application/json`.\n\n- **API error handling**:\n - Refer to the Experience Platform API troubleshooting guide for [FAQs](https://experienceleague.adobe.com/docs/experience-platform/landing/troubleshooting.html#faq), [API status codes](https://experienceleague.adobe.com/docs/experience-platform/landing/troubleshooting.html#api-status-codes), and [request header errors](https://experienceleague.adobe.com/docs/experience-platform/landing/troubleshooting.html#request-header-errors)." version: '1.0' servers: - url: //{environment}.adobe.io/data/foundation/dulepolicy variables: environment: default: platform enum: - platform - platform-stage tags: - name: Marketing actions description: Marketing actions, in the context of Data Governance, are actions that an Experience Platform data consumer takes, for which there is a need to check for violations of data usage policies. paths: /marketingActions/core: get: tags: - Marketing actions summary: List core marketing actions description: '>**NOTE**: For more information on using this operation, see the [marketing actions endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/data-governance/api/marketing-actions.html) on Experience League.' operationId: listCoreMarketingActions parameters: - name: Authorization in: header description: The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string - name: x-api-key in: header description: The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string - name: x-gw-ims-org-id in: header description: The Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string - name: x-sandbox-name in: header description: The name of the sandbox in which the operation will take place. See the [sandboxes overview documentation](https://adobe.com/go/sandbox-overview-en) for more information. required: true schema: type: string - name: property in: query description: 'Filters responses based on whether a specific property exists, or whose value passes a conditional expression (e.g. `?property=name==C1`). Only the `name` property is supported for core resources. For custom resources, additional supported property values include `status`, `created`, `createdClient`, `createdUser`, `updated`, `updatedClient`, and `updatedUser`. ' schema: type: string - name: orderby in: query description: A comma-separated list of properties by which the returned list of resources will be sorted. style: form explode: false schema: type: array items: type: string - name: start in: query description: 'Indicates the pagination value for the returned list. This value should be obtained from a previous call''s `_page.next` property. Should be omitted for a first page of results. ' schema: type: string - name: limit in: query description: A positive integer, indicating the number of results to limit the response to. schema: type: integer responses: '200': description: A successful response returns a list of core marketing actions. x-summary: Core marketing actions retrieved successfully content: application/json: schema: $ref: '#/components/schemas/CoreMarketingActionsPage' /marketingActions/core/{MARKETING_ACTION_NAME}: get: tags: - Marketing actions summary: Retrieve a core marketing action description: '>**NOTE**: For more information on using this operation, see the [marketing actions endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/data-governance/api/marketing-actions.html) on Experience League.' operationId: retrieveCoreMarketingAction parameters: - name: MARKETING_ACTION_NAME in: path description: The name of the marketing action to be retrieved. required: true schema: type: string - name: Authorization in: header description: The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string - name: x-api-key in: header description: The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string - name: x-gw-ims-org-id in: header description: The Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string - name: x-sandbox-name in: header description: The name of the sandbox in which the operation will take place. See the [sandboxes overview documentation](https://adobe.com/go/sandbox-overview-en) for more information. required: true schema: type: string responses: '200': description: A successful response returns the details of the retrieved marketing action. x-summary: Marketing action retrieved successfully content: application/json: schema: $ref: '#/components/schemas/CoreMarketingActionResponse' '404': description: No marketing action was found for the given name. x-summary: Marketing action not found content: application/json: schema: $ref: '#/components/schemas/CoreMarketingActionNotFound' /marketingActions/custom: get: tags: - Marketing actions summary: List custom marketing actions description: '>**NOTE**: For more information on using this operation, see the [marketing actions endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/data-governance/api/marketing-actions.html) on Experience League.' operationId: listCustomMarketingActions parameters: - name: Authorization in: header description: The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string - name: x-api-key in: header description: The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string - name: x-gw-ims-org-id in: header description: The Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string - name: x-sandbox-name in: header description: The name of the sandbox in which the operation will take place. See the [sandboxes overview documentation](https://adobe.com/go/sandbox-overview-en) for more information. required: true schema: type: string - name: property in: query description: 'Filters responses based on whether a specific property exists, or whose value passes a conditional expression (e.g. `?property=name==C1`). Only the `name` property is supported for core resources. For custom resources, additional supported property values include `status`, `created`, `createdClient`, `createdUser`, `updated`, `updatedClient`, and `updatedUser`. ' schema: type: string - name: orderby in: query description: A comma-separated list of properties by which the returned list of resources will be sorted. style: form explode: false schema: type: array items: type: string - name: start in: query description: 'Indicates the pagination value for the returned list. This value should be obtained from a previous call''s `_page.next` property. Should be omitted for a first page of results. ' schema: type: string - name: limit in: query description: A positive integer, indicating the number of results to limit the response to. schema: type: integer responses: '200': description: A successful response returns a list of custom marketing actions. x-summary: Custom marketing actions retrieved successfully content: application/json: schema: $ref: '#/components/schemas/MarketingActionsPageCustom' /marketingActions/custom/{MARKETING_ACTION_NAME}: get: tags: - Marketing actions summary: Retrieve a custom marketing action description: '>**NOTE**: For more information on using this operation, see the [marketing actions endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/data-governance/api/marketing-actions.html) on Experience League.' operationId: retrieveCustomMarketingAction parameters: - name: MARKETING_ACTION_NAME in: path description: The name of the marketing action to be retrieved. required: true schema: type: string - name: Authorization in: header description: The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string - name: x-api-key in: header description: The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string - name: x-gw-ims-org-id in: header description: The Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string - name: x-sandbox-name in: header description: The name of the sandbox in which the operation will take place. See the [sandboxes overview documentation](https://adobe.com/go/sandbox-overview-en) for more information. required: true schema: type: string responses: '200': description: A successful response returns the details of the marketing action. x-summary: Custom marketing action retrieved successfully content: application/json: schema: $ref: '#/components/schemas/MarketingActionResponseCustom' '404': description: No marketing action was found for the given name. x-summary: Custom marketing action not found content: application/json: schema: $ref: '#/components/schemas/CustomMarketingActionNotFound' put: tags: - Marketing actions summary: Create or update a custom marketing action description: 'You can use this endpoint to create or update a custom marketing action. If the marketing action with the given name does not exist, it will create a new marketing action. If the marketing action with the given name exists, it will update the existing marketing action. >**NOTE**: For more information on using this operation, see the [marketing actions endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/data-governance/api/marketing-actions.html) on Experience League.' operationId: createOrUpdateCustomMarketingAction parameters: - name: MARKETING_ACTION_NAME in: path description: The name of the marketing action to be created or updated. required: true schema: type: string - name: Authorization in: header description: The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string - name: x-api-key in: header description: The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string - name: x-gw-ims-org-id in: header description: The Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string - name: x-sandbox-name in: header description: The name of the sandbox in which the operation will take place. See the [sandboxes overview documentation](https://adobe.com/go/sandbox-overview-en) for more information. required: true schema: type: string - name: Content-Type in: header description: The type of content being sent in the body of the request. In POST, PUT, or PATCH requests to the Policy Service API, the value must be set to `application/json`. required: true schema: type: string requestBody: description: Details for the new or updated marketing action. content: application/json: schema: $ref: '#/components/schemas/MarketingActionRequest' required: true responses: '200': description: If the marketing action name indicated by the request path exists in the system, the existing entity is updated. A successful response returns details of the marketing action, indicating the entity was successfully updated. x-summary: Custom marketing action updated successfully content: application/json: schema: $ref: '#/components/schemas/MarketingActionResponse' '201': description: If the marketing action name indicated by the request path does not exist in the system, a new entity is created. A successful response returns details of the marketing action, indicating the entity was successfully created. x-summary: Custom marketing action created successfully content: application/json: schema: $ref: '#/components/schemas/MarketingActionResponse' '400': description: There was an error regarding the fields sent in the request payload. This occurs if the required "name" field is missing or malformed. x-summary: Invalid request payload content: application/json: schema: $ref: '#/components/schemas/CreateMarketingActionError' x-codegen-request-body-name: body delete: tags: - Marketing actions summary: Delete a custom marketing action description: '>**NOTE**: For more information on using this operation, see the [marketing actions endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/data-governance/api/marketing-actions.html) on Experience League.' operationId: deleteCustomMarketingAction parameters: - name: MARKETING_ACTION_NAME in: path description: The name of the marketing action to be deleted. required: true schema: type: string - name: Authorization in: header description: The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string - name: x-api-key in: header description: The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string - name: x-gw-ims-org-id in: header description: The Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string - name: x-sandbox-name in: header description: The name of the sandbox in which the operation will take place. See the [sandboxes overview documentation](https://adobe.com/go/sandbox-overview-en) for more information. required: true schema: type: string responses: '200': description: A successful response returns an empty body, indicating the entity was deleted. x-summary: Marketing action deleted successfully content: {} '404': description: No marketing action was found for the given name. x-summary: Marketing action not found content: application/json: schema: $ref: '#/components/schemas/CustomMarketingActionNotFound' components: schemas: _links: type: object properties: _links: type: object properties: self: type: object properties: href: type: string description: The URI reference that clients may use to obtain this resource. Typically this URL ends with the `name` or `id` property of the resource. format: uri example: https://platform.adobe.io:443/data/foundation/dulepolicy/policies/core/corepolicy_0003 description: Contains the URI reference that clients may use to obtain this resource. MarketingActionRequest: required: - name type: object properties: name: type: string description: The name of the marketing action, which also acts as its unique identifier. example: analyticsDB description: type: string description: A description for the marketing action. example: Push data to external database for analytics. PagingProperties: type: object properties: _page: type: object properties: count: type: integer description: The number of resources returned. example: 1 description: Contains a `count` property for the number of resources returned. CoreMarketingActionResponse: properties: name: type: string description: The name of the marketing action, which also acts as a unique identifier. example: exportToThirdParty friendlyName: type: string description: A friendly display name for for the marketing action. example: Export to Third Party allOf: - $ref: '#/components/schemas/_linksMarketingAction' _linksMarketingAction: allOf: - $ref: '#/components/schemas/_links' NotFoundError: allOf: - $ref: '#/components/schemas/Error' - type: object example: type: /placeholder/type/uri status: 404 title: NotFound CoreMarketingActionsPage: allOf: - $ref: '#/components/schemas/PagingProperties' - $ref: '#/components/schemas/_linksPagingCoreMarketingActions' - type: object properties: children: type: array description: Contains the returned marketing actions. items: $ref: '#/components/schemas/CoreMarketingActionResponse' _linksPagingCoreMarketingActions: allOf: - $ref: '#/components/schemas/_linksPaging' BadRequestError: allOf: - $ref: '#/components/schemas/Error' - type: object example: type: /placeholder/type/uri status: 400 title: BadRequest _linksPaging: type: object properties: _links: type: object properties: _page: type: object properties: href: type: string description: The URL template. format: uri templated: type: string description: When present and set to `true`, indicates that this is a templated URL. description: Contains a templated URL for clients to obtain this resource. CreateMarketingActionError: allOf: - $ref: '#/components/schemas/BadRequestError' - type: object example: type: string detail: 'Unable to parse MarketingActionRequest: No usable value for name. Did not find value which can be converted into java.lang.String' CoreMarketingActionNotFound: allOf: - $ref: '#/components/schemas/NotFoundError' - type: object example: type: string detail: https://platform.adobe.io:443/marketingActions/core/marketingActionName not found MarketingActionResponse: allOf: - $ref: '#/components/schemas/MarketingActionRequest' - $ref: '#/components/schemas/ServiceProperties' MarketingActionResponseCustom: allOf: - $ref: '#/components/schemas/MarketingActionResponse' - type: object properties: _links: type: object properties: self: type: object properties: href: type: string example: https://platform.adobe.io:443/data/foundation/dulepolicy/marketingActions/custom/analyticsDB ServiceProperties: properties: imsOrg: type: string description: The ID of the IMS Organization which maintains this resource. If the resource is a core resource (defined by Adobe), this value is set to "core". example: '{IMS_ORG}' sandboxName: type: string description: The name of the Platform sandbox that contains the resource. example: prod created: type: integer description: A timestamp in milliseconds when this resource was originally created. format: int64 example: 1529696681413 createdClient: type: string description: The ID of the client that originally created this resource. example: '{CLIENT_ID}' createdUser: type: string description: The user that originally created this resource. example: '{USER_ID}' updated: type: integer description: A timestamp when this resource was last updated. format: int64 example: 1529697651972 updatedClient: type: string description: The ID of the client that last updated this resource. example: '{CLIENT_ID}' updatedUser: type: string description: The ID of the user that last updated this resource. example: '{USER_ID}' allOf: - $ref: '#/components/schemas/_links' MarketingActionsPageCustom: allOf: - $ref: '#/components/schemas/PagingProperties' - type: object properties: children: type: array description: Contains the returned custom marketing actions. items: $ref: '#/components/schemas/MarketingActionResponseCustom' CustomMarketingActionNotFound: allOf: - $ref: '#/components/schemas/NotFoundError' - type: object example: type: string detail: https://platform.adobe.io:443/marketingActions/custom/marketingActionName not found Error: type: object properties: type: type: string description: A placeholder value for the error type. example: /placeholder/type/uri status: type: integer description: The HTTP status associated with the error. format: int32 title: type: string description: The error title. detail: type: string description: A description of the error. x-original-swagger-version: '2.0'