Adobe Campaign · Authentication Profile

Adobe Campaign Authentication

Authentication

Adobe Campaign secures its APIs with apiKey, http, and oauth2 across 3 declared security schemes, as derived from its OpenAPI definitions.

Campaign ManagementCustomer ExperienceEmail MarketingMarketing AutomationMulti-Channel MarketingTransactional MessagingCustomer DataAdobe Experience CloudSMSPush NotificationsWorkflow-AutomationPrivacy
Methods: apiKey, http, oauth2 Schemes: 3 OAuth flows: API key in: header, cookie

Security Schemes

BearerAuth http
scheme: bearer
ApiKeyAuth apiKey
· in: header (X-Api-Key)
SessionToken apiKey
· in: header (X-Security-Token)

Source

Authentication Profile

Raw ↑
generated: '2026-08-13'
method: searched
source: >-
  https://experienceleague.adobe.com/en/docs/campaign/campaign-v8/developer/apis/setting-up-api-access
  and https://experienceleague.adobe.com/en/docs/campaign/campaign-v8/developer/apis/global-concepts/must-read
  (fetched 2026-08-13); https://ims-na1.adobelogin.com/.well-known/openid-configuration
  (probed 2026-08-13, HTTP 200); openapi/_original/adobe-campaign-classic-openapi-original.yml
  and openapi/_original/adobe-campaign-standard-openapi-original.yml
notes: >-
  Adobe Campaign has TWO distinct authentication models, one per deployment
  surface, and they are not interchangeable. The REST surface on
  https://mc.adobe.io/{ORGANIZATION}/campaign authenticates with an Adobe IMS
  OAuth Server-to-Server access token in Authorization: Bearer PLUS an
  X-Api-Key header carrying the Adobe Developer Console client ID — both are
  required on every call. The Campaign Classic SOAP-over-HTTP surface on
  https://{instance}.campaign.adobe.com authenticates with a session token pair
  obtained from xtk:session#Logon: the __sessiontoken cookie plus the
  X-Security-Token header. Adobe's docs state Campaign APIs are server-to-server
  only.
  This file was regenerated by derive-authentication.py on 2026-08-13 against
  the refined per-tag specs, which only carry the Classic SessionToken scheme;
  the IMS bearer + API key schemes were restored from the _original specs and
  upgraded against the live documentation, so this artifact is not weaker than
  the round it replaced.
summary:
  types:
    - apiKey
    - http
    - oauth2
  api_key_in:
    - header
    - cookie
  server_to_server_only: true
schemes:
  - name: BearerAuth
    surface: Campaign Standard / Campaign v8 REST (https://mc.adobe.io/{ORGANIZATION}/campaign)
    type: http
    scheme: bearer
    bearerFormat: JWT
    description: >-
      Adobe IMS OAuth Server-to-Server access token. Obtained with a
      client_credentials exchange against
      https://ims-na1.adobelogin.com/ims/token/v3 using the Client ID and Client
      Secret issued by an Adobe Developer Console project that has the Adobe
      Campaign service added.
    token_endpoint: https://ims-na1.adobelogin.com/ims/token/v3
    authorization_endpoint: https://ims-na1.adobelogin.com/ims/authorize/v2
    issuer: https://ims-na1.adobelogin.com
    jwks_uri: https://ims-na1.adobelogin.com/ims/keys
    docs: https://developer.adobe.com/developer-console/docs/guides/authentication/ServerToServerAuthentication/implementation/
    sources:
      - openapi/_original/adobe-campaign-standard-openapi-original.yml
      - well-known/adobe-campaign-openid-configuration.json
  - name: ApiKeyAuth
    surface: Campaign Standard / Campaign v8 REST (https://mc.adobe.io/{ORGANIZATION}/campaign)
    type: apiKey
    in: header
    parameter: X-Api-Key
    required_with: BearerAuth
    description: >-
      The Adobe Developer Console API Key (Client ID) for the integration. Sent
      on every REST call alongside the bearer token; a request with a valid
      bearer token but no X-Api-Key is rejected.
    docs: https://developer.adobe.com/developer-console/docs/guides/authentication/
    sources:
      - openapi/_original/adobe-campaign-standard-openapi-original.yml
      - https://experienceleague.adobe.com/en/docs/campaign/campaign-v8/developer/apis/setting-up-api-access
  - name: SessionToken
    surface: Campaign Classic SOAP-over-HTTP (https://{instance}.campaign.adobe.com)
    type: apiKey
    in: header
    parameter: X-Security-Token
    description: >-
      Security token returned by xtk:session#Logon. Must be sent together with
      the __sessiontoken cookie on every authenticated Classic call. Tokens have
      a 24-hour lifecycle and are terminated with xtk:session#Logout.
    paired_with:
      in: cookie
      parameter: __sessiontoken
    sources:
      - openapi/_original/adobe-campaign-classic-openapi-original.yml
      - openapi/adobe-campaign-session-management-api-openapi.yml
      - https://experienceleague.adobe.com/docs/campaign-classic/using/configuring-campaign-classic/api/web-service-calls.html
tenancy:
  organization_id:
    description: >-
      Every REST path is scoped by an ORGANIZATION ID issued by Adobe per
      instance. The production instance uses <ORGANIZATION>; the staging instance
      uses <ORGANIZATION-mkt-stage>.
    production_pattern: https://mc.adobe.io/<ORGANIZATION>/campaign
    stage_pattern: https://mc.adobe.io/<ORGANIZATION-mkt-stage>/campaign
  authorization_model: >-
    Campaign APIs run in the administrator context by default and are excluded
    from the role context — organizational units and roles do NOT apply to API
    callers unless Adobe explicitly configures it. This is a meaningful blast-radius
    fact for any agent integration.
deprecated:
  - mechanism: Service Account (JWT) credential
    replaced_by: OAuth Server-to-Server credential
    end_of_support: '2025-01-27'
    source: https://experienceleague.adobe.com/en/docs/campaign/campaign-v8/developer/apis/setting-up-api-access
    note: >-
      JWT service-account credentials stopped working 2025-01-27. Campaign v8.5.1
      also made Adobe IMS mandatory for technical operators connecting to
      Campaign.
maintainers:
  - FN: Kin Lane
    email: kin@apievangelist.com