Adobe Launch Profile updates API

Collect specific data for Platform profile(s)

Operations 1

POST /v1/privacy/set-consent Set consent (non-authenticated)

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/adobe-launch-profile-updates-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 email required.

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

OpenAPI Specification

adobe-launch-profile-updates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: API reference for the Adobe Experience Platform Edge Network API.
  version: 1.0.0
  title: Adobe Experience Platform Edge Network Profile updates API
servers:
- url: https://edge.adobedc.net/ee/
  description: Production environment
tags:
- name: Profile updates
  description: Collect specific data for Platform profile(s)
paths:
  /v1/privacy/set-consent:
    post:
      tags:
      - Profile updates
      summary: Set consent (non-authenticated)
      description: Manage explicit consent for marketing activities. All consent preferences previously saved in the user's profile(s) are overwritten through this operation.
      parameters:
      - $ref: '#/components/parameters/configId'
      - $ref: '#/components/parameters/requestId'
      - $ref: '#/components/parameters/requestIdHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsentReplaceRequest'
      responses:
        200:
          description: Successfully processed. Consent preferences are successfully saved for the supplied profile(s).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InteractResponse'
        400:
          description: Invalid input.
        500:
          description: Internal error.
components:
  schemas:
    ConsentLevel:
      description: "Consent Level selection:\n  * `not_provided`: Not provided\n  * `pending`: Pending verification\n  * `in`: Opt-in\n  * `out`: Opt-out\n"
      type: string
      enum:
      - not_provided
      - pending
      - in
      - out
    AdobeConsentV1:
      description: Consent level selection for each purpose or global (general)
      allOf:
      - $ref: '#/components/schemas/AdobeConsent'
      - properties:
          standard:
            type: string
            enum:
            - Adobe
          version:
            type: string
            enum:
            - '1.0'
          value:
            type: object
            properties:
              general:
                $ref: '#/components/schemas/ConsentLevel'
    IABConsent:
      description: Consent level selection for each purpose or global (general)
      type: object
      allOf:
      - $ref: '#/components/schemas/AdobeConsent'
      - properties:
          standard:
            type: string
            enum:
            - IAB TCF
          version:
            type: string
            enum:
            - '2.0'
          value:
            type: string
    ConsentStandard:
      description: Consent selection for the given standard
      type: object
      properties:
        standard:
          type: string
        version:
          type: string
        value:
          type: object
      discriminator:
        propertyName: standard
        mapping:
          Adobe: AdobeConsent
          IAB TCF: IABConsent
      required:
      - type
      - version
      - value
    IdentityItem:
      description: 'Identity is used to clearly distinguish people that are interacting with digital experiences.

        For more details, see [IdentityItem Schema](https://github.com/adobe/xdm/blob/master/docs/reference/context/identityitem.schema.md).

        '
      type: object
      properties:
        id:
          description: Identity of the consumer in the related namespace.
          type: string
        authenticatedState:
          $ref: '#/components/schemas/AuthenticatedState'
        primary:
          description: Indicates this identity is the preferred identity. Is used as a hint to help systems better organize how identities are queried.
          type: boolean
          default: false
      required:
      - id
    AuthenticatedState:
      description: The state this identity is authenticated as for this observed ExperienceEvent.
      type: string
      enum:
      - ambiguous
      - authenticated
      - loggedOut
      default: ambiguous
    IdentityMap:
      description: 'Defines a map containing a set of end user identities, keyed on either namespace integration code or the namespace ID of the identity.

        Within each namespace, the identity is unique. The values of the map are an array, meaning that more than one identity of each namespace may be carried.

        For more details, see [IdentityMap Schema](https://github.com/adobe/xdm/blob/master/docs/reference/context/identitymap.schema.md).

        '
      type: object
      additionalProperties:
        type: array
        items:
          $ref: '#/components/schemas/IdentityItem'
      example:
        email:
        - id: john.doe@example.com
          authenticatedState: authenticated
    AdobeConsent:
      type: object
      allOf:
      - $ref: '#/components/schemas/ConsentStandard'
      discriminator:
        propertyName: version
        mapping:
          '1.0': '#/components/schemas/AdobeConsentV1'
          '2.0': '#/components/schemas/AdobeConsentV2'
    EventHandle:
      description: Details and results for a given event
      type: object
      properties:
        eventIndex:
          description: Encodes the event to which this handle is attached as the index in the events array in EdgeRequest
          type: integer
        type:
          type: string
        payload:
          type: array
          items:
            type: object
            additionalProperties: true
      example:
        eventIndex: 0
        type: state:store
        payload:
        - key: kndctr_53A16ACB5CC1D3760A495C99_AdobeOrg_optout
          value: ''
          maxAge: 7200
      required:
      - type
      - payload
    MarketingConsentChoices:
      description: Consent level selection for marketing activities
      type: object
      properties:
        preferred:
          type: string
          description: "User's preferred channel for receiving communications\n  * `email`: Email\n  * `push`: Push Notifications\n  * `inApp`: In-app Messages\n  * `sms`: SMS (Text Messages)\n  * `phone`: Phone Calls\n  * `phyMail`: Physical Mail\n  * `inVehicle`: In-vehicle Messages\n  * `inHome`: In-home Messages\n  * `iot`: IoT Messages\n  * `social`: Social Media\n  * `other`: Other\n  * `none`: No Preferred Channel\n  * `unknown`: Unknown\n"
          enum:
          - email
          - push
          - inApp
          - sms
          - phone
          - phyMail
          - inVehicle
          - inHome
          - iot
          - social
          - other
          - none
          - unknown
        any:
          $ref: '#/components/schemas/MarketingConsentChoice'
        email:
          $ref: '#/components/schemas/MarketingConsentChoice'
        push:
          $ref: '#/components/schemas/MarketingConsentChoice'
        sms:
          $ref: '#/components/schemas/MarketingConsentChoice'
    RequestMetadata:
      description: Metadata passed to solutions and to the API itself with possibility of overriding at event level
      type: object
      properties:
        state:
          $ref: '#/components/schemas/StateMetadata'
    ConsentChoice:
      description: "Consent level selection:\n  * `y`: Yes\n  * `n`: No\n  * `p`: Pending verification\n  * `u`: Unknown\n  * `li`: Legitimate interest\n  * `ct`: Required by Contract\n  * `cp`: Compliance / Legal obligation\n  * `vi`: Vital interest (individual)\n  * `pi`: Public interest\n"
      type: object
      properties:
        val:
          type: string
          enum:
          - y
          - n
          - p
          - u
          - li
          - ct
          - cp
          - vi
          - pi
    AdobeConsentChoices:
      type: object
      properties:
        collect:
          $ref: '#/components/schemas/ConsentChoice'
        share:
          $ref: '#/components/schemas/ConsentChoice'
        adID:
          $ref: '#/components/schemas/ConsentChoice'
        personalize:
          $ref: '#/components/schemas/PersonalizationConsentChoices'
        marketing:
          $ref: '#/components/schemas/MarketingConsentChoices'
        metadata:
          $ref: '#/components/schemas/ConsentMetadata'
    AdobeConsentV2:
      description: Consent level selection for each purpose or global (general)
      type: object
      allOf:
      - $ref: '#/components/schemas/AdobeConsent'
      - properties:
          standard:
            type: string
            enum:
            - Adobe
          version:
            type: string
            enum:
            - '2.0'
          value:
            $ref: '#/components/schemas/AdobeConsentChoices'
    MarketingConsentChoice:
      allOf:
      - $ref: '#/components/schemas/ConsentChoice'
      - properties:
          reason:
            description: Reason for opting out
            maxLength: 16
            type: string
    StateMetadata:
      description: Client side stored information
      type: object
      properties:
        entries:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
              value:
                type: string
              scope:
                description: 'Differentiate between state that could be shared across applications or web properties

                  (e.g. third-party cookies) and application/web property specific state (e.g. first-party cookies).

                  '
                type: string
                enum:
                - APPLICATION
                - DEVICE
        domain:
          description: The APEX domain that will be used when materializing client-side state in 1st party cookies.
          type: string
      example:
        entries: []
    ConsentMetadata:
      type: object
      properties:
        time:
          type: string
          format: date-time
          description: Timestamp of this complete set of user consents and preferences. This value should conform to ISO 8601 standard.
          example: '2004-10-23T12:00:00-06:00'
    PersonalizationConsentChoices:
      description: Consent level selection for personalization
      type: object
      properties:
        content:
          $ref: '#/components/schemas/ConsentChoice'
    ConsentReplaceRequest:
      description: Replace the explicit user consent for Marketing Activities.
      type: object
      properties:
        identityMap:
          $ref: '#/components/schemas/IdentityMap'
        consent:
          type: array
          items:
            anyOf:
            - $ref: '#/components/schemas/AdobeConsentV1'
            - $ref: '#/components/schemas/AdobeConsentV2'
            - $ref: '#/components/schemas/IABConsent'
        meta:
          $ref: '#/components/schemas/RequestMetadata'
    InteractResponse:
      type: object
      properties:
        requestId:
          description: The entropy-augmented identifier for this request, in the format `<requestId>-<entropy>` (for example, `708e4f90-5bff-41c5-8f4b-6c15bab76b11-f46e48eb52594815`). If a requestId was supplied in the request it is used as the prefix; otherwise a generated UUID is used. This value always differs from any caller-supplied requestId. Match on the prefix when correlating requests to responses.
          type: string
        handle:
          description: Contains one or multiple handles for each received event
          type: array
          items:
            $ref: '#/components/schemas/EventHandle'
      required:
      - requestId
      - handle
  parameters:
    requestIdHeader:
      in: header
      name: x-request-id
      schema:
        type: string
        format: uuid
      description: 'Alternate way to supply an external request tracing ID (equivalent to the requestId query parameter).

        The Edge Network always appends a 16-character hex entropy suffix to the provided value (or generates a new UUID if none is provided) to guarantee uniqueness across concurrent requests.

        The returned identifier uses the format `<x-request-id>-<entropy>` (for example, `708e4f90-5bff-41c5-8f4b-6c15bab76b11-f46e48eb52594815`).

        Because the entropy suffix is always added, the value in the response always differs from the value supplied in the request. When correlating requests to responses, match on the prefix of the returned requestId rather than an exact string match.

        '
      required: false
    requestId:
      in: query
      name: requestId
      schema:
        type: string
        format: uuid
      description: 'Provide an external request tracing ID; it can also be supplied in the x-request-id header.

        The Edge Network always appends a 16-character hex entropy suffix to the provided value (or generates a new UUID if none is provided) to guarantee uniqueness across concurrent requests.

        The returned identifier uses the format `<requestId>-<entropy>` (for example, `708e4f90-5bff-41c5-8f4b-6c15bab76b11-f46e48eb52594815`).

        Because the entropy suffix is always added, the value in the response always differs from the value supplied in the request. When correlating requests to responses, match on the prefix of the returned requestId rather than an exact string match.

        '
      required: false
    configId:
      in: query
      name: configId
      schema:
        type: string
        default: '8888888'
      description: The datastream ID. The v1 APIs use configId instead of datastreamId.
      required: true
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API Access Key
    IMSAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Should be a valid IMS token for authenticating with the Edge Gateway