Adobe Campaign Classic API

SOAP and JavaScript APIs for Adobe Campaign Classic v7 and v8, providing programmatic access to campaign management, delivery, and data operations.

OpenAPI Specification

adobe-campaign-classic-openapi-original.yml Raw ↑
openapi: 3.1.0
info:
  title: Adobe Campaign Classic API
  description: >-
    SOAP-based API for Adobe Campaign Classic v7 and v8, documented as HTTP
    POST operations. All operations target the single SOAP router endpoint at
    /nl/jsp/soaprouter.jsp and are differentiated by the SOAPAction header.
    Provides programmatic access to session management, data querying,
    record persistence, delivery management, workflow control, subscription
    management, and real-time transactional event ingestion.
  version: 8.0.0
  contact:
    name: Adobe Developer Support
    url: https://developer.adobe.com/
  license:
    name: Proprietary
    url: https://www.adobe.com/legal/terms.html
  x-logo:
    url: https://www.adobe.com/content/dam/cc/icons/adobe-campaign.svg
externalDocs:
  description: Campaign Classic SOAP Web Services Documentation
  url: >-
    https://experienceleague.adobe.com/docs/campaign-classic/using/configuring-campaign-classic/api/web-service-calls.html
servers:
- url: https://{instance}.campaign.adobe.com
  description: Campaign Classic Instance
  variables:
    instance:
      description: Your Campaign Classic instance name
      default: YOUR_INSTANCE
tags:
- name: Data Management
  description: >-
    Write, update, and delete data records using the xtk:session#Write
    method. Supports insert, insertOrUpdate, update, and delete operations
    via the _operation attribute.
- name: Delivery
  description: >-
    Prepare and submit message deliveries including email, SMS, and push
    notifications.
- name: Query Definition
  description: >-
    Execute queries against Campaign schemas using the xtk:queryDef
    interface. Supports get, getIfExists, select, and count operations
    with XPath field expressions, WHERE conditions, and pagination.
- name: Real-Time Events
  description: >-
    Push real-time transactional events for immediate or batched processing
    by the Message Center execution instances.
- name: Session Management
  description: >-
    Authenticate and manage server sessions. Logon returns session and
    security tokens required for all subsequent API calls.
- name: Subscription
  description: >-
    Subscribe and unsubscribe recipients to and from information services.
- name: Workflow
  description: >-
    Start, stop, and signal workflows. PostEvent sends asynchronous signals
    to trigger workflow transitions.
paths:
  /nl/jsp/soaprouter.jsp/xtk-session/Logon:
    post:
      operationId: sessionLogon
      summary: Adobe Campaign Authenticate and Create a Session
      description: >-
        Authenticates with username and password credentials and returns
        session and security tokens. These tokens must be passed as cookie
        (__sessiontoken) and header (X-Security-Token) on all subsequent
        requests. SOAP Action: xtk:session#Logon
      tags:
      - Session Management
      parameters:
      - name: SOAPAction
        in: header
        required: true
        schema:
          type: string
          const: 'xtk:session#Logon'
        example: example_value
      requestBody:
        required: true
        content:
          text/xml:
            schema:
              $ref: '#/components/schemas/SessionLogonRequest'
      responses:
        '200':
          description: Authentication successful. Returns session and security tokens.
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/SessionLogonResponse'
        '500':
          $ref: '#/components/responses/SOAPFault'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /nl/jsp/soaprouter.jsp/xtk-session/Logout:
    post:
      operationId: sessionLogout
      summary: Adobe Campaign Terminate a Session
      description: >-
        Invalidates the current session and security tokens.
        SOAP Action: xtk:session#Logout
      tags:
      - Session Management
      parameters:
      - name: SOAPAction
        in: header
        required: true
        schema:
          type: string
          const: 'xtk:session#Logout'
        example: example_value
      security:
      - SessionToken: []
      responses:
        '200':
          description: Session terminated successfully.
        '500':
          $ref: '#/components/responses/SOAPFault'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /nl/jsp/soaprouter.jsp/xtk-queryDef/ExecuteQuery:
    post:
      operationId: executeQuery
      summary: Adobe Campaign Execute a Query
      description: >-
        Executes a query against a Campaign schema using the xtk:queryDef
        interface. Supports operations: get (single record, error if missing),
        getIfExists (single record, null if missing), select (multiple records
        with pagination), and count (record count). Uses XPath expressions
        for field selection and WHERE conditions.
        SOAP Action: xtk:queryDef#ExecuteQuery
      tags:
      - Query Definition
      parameters:
      - name: SOAPAction
        in: header
        required: true
        schema:
          type: string
          const: 'xtk:queryDef#ExecuteQuery'
        example: example_value
      security:
      - SessionToken: []
      requestBody:
        required: true
        content:
          text/xml:
            schema:
              $ref: '#/components/schemas/QueryDefinition'
      responses:
        '200':
          description: Query executed successfully.
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/QueryResult'
        '500':
          $ref: '#/components/responses/SOAPFault'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /nl/jsp/soaprouter.jsp/xtk-session/Write:
    post:
      operationId: sessionWrite
      summary: Adobe Campaign Write Data Records
      description: >-
        Writes data records to a Campaign schema. The _operation attribute
        on the entity element controls the behavior: insert (create new),
        insertOrUpdate (create or update if exists), update (modify existing),
        delete (remove record). SOAP Action: xtk:session#Write
      tags:
      - Data Management
      parameters:
      - name: SOAPAction
        in: header
        required: true
        schema:
          type: string
          const: 'xtk:session#Write'
        example: example_value
      security:
      - SessionToken: []
      requestBody:
        required: true
        content:
          text/xml:
            schema:
              $ref: '#/components/schemas/WriteRequest'
      responses:
        '200':
          description: Data written successfully.
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/WriteResponse'
        '500':
          $ref: '#/components/responses/SOAPFault'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /nl/jsp/soaprouter.jsp/xtk-session/WriteCollection:
    post:
      operationId: sessionWriteCollection
      summary: Adobe Campaign Write Multiple Data Records
      description: >-
        Writes a collection of data records to a Campaign schema in a single
        call. Each entity element in the collection can have its own
        _operation attribute. SOAP Action: xtk:session#WriteCollection
      tags:
      - Data Management
      parameters:
      - name: SOAPAction
        in: header
        required: true
        schema:
          type: string
          const: 'xtk:session#WriteCollection'
        example: example_value
      security:
      - SessionToken: []
      requestBody:
        required: true
        content:
          text/xml:
            schema:
              $ref: '#/components/schemas/WriteCollectionRequest'
      responses:
        '200':
          description: Data collection written successfully.
        '500':
          $ref: '#/components/responses/SOAPFault'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /nl/jsp/soaprouter.jsp/nms-delivery/PrepareAndStart:
    post:
      operationId: deliveryPrepareAndStart
      summary: Adobe Campaign Prepare and Start a Delivery
      description: >-
        Prepares and immediately starts sending a delivery. Combines the
        preparation (target calculation, personalization) and sending steps.
        SOAP Action: nms:delivery#PrepareAndStart
      tags:
      - Delivery
      parameters:
      - name: SOAPAction
        in: header
        required: true
        schema:
          type: string
          const: 'nms:delivery#PrepareAndStart'
        example: example_value
      security:
      - SessionToken: []
      requestBody:
        required: true
        content:
          text/xml:
            schema:
              $ref: '#/components/schemas/DeliveryRequest'
      responses:
        '200':
          description: Delivery preparation and sending started.
        '500':
          $ref: '#/components/responses/SOAPFault'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /nl/jsp/soaprouter.jsp/nms-delivery/SubmitDelivery:
    post:
      operationId: submitDelivery
      summary: Adobe Campaign Submit a Delivery
      description: >-
        Submits a delivery for processing. The delivery must be in a valid
        state for submission. SOAP Action: nms:delivery#SubmitDelivery
      tags:
      - Delivery
      parameters:
      - name: SOAPAction
        in: header
        required: true
        schema:
          type: string
          const: 'nms:delivery#SubmitDelivery'
        example: example_value
      security:
      - SessionToken: []
      requestBody:
        required: true
        content:
          text/xml:
            schema:
              $ref: '#/components/schemas/DeliveryRequest'
      responses:
        '200':
          description: Delivery submitted successfully.
        '500':
          $ref: '#/components/responses/SOAPFault'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /nl/jsp/soaprouter.jsp/xtk-workflow/Start:
    post:
      operationId: workflowStart
      summary: Adobe Campaign Start a Workflow
      description: >-
        Starts a workflow by its internal ID. The workflow must be in a
        stopped state. SOAP Action: xtk:workflow#Start
      tags:
      - Workflow
      parameters:
      - name: SOAPAction
        in: header
        required: true
        schema:
          type: string
          const: 'xtk:workflow#Start'
        example: example_value
      security:
      - SessionToken: []
      requestBody:
        required: true
        content:
          text/xml:
            schema:
              $ref: '#/components/schemas/WorkflowRequest'
      responses:
        '200':
          description: Workflow started successfully.
        '500':
          $ref: '#/components/responses/SOAPFault'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /nl/jsp/soaprouter.jsp/xtk-workflow/Stop:
    post:
      operationId: workflowStop
      summary: Adobe Campaign Stop a Workflow
      description: >-
        Stops a running workflow by its internal ID.
        SOAP Action: xtk:workflow#Stop
      tags:
      - Workflow
      parameters:
      - name: SOAPAction
        in: header
        required: true
        schema:
          type: string
          const: 'xtk:workflow#Stop'
        example: example_value
      security:
      - SessionToken: []
      requestBody:
        required: true
        content:
          text/xml:
            schema:
              $ref: '#/components/schemas/WorkflowRequest'
      responses:
        '200':
          description: Workflow stopped successfully.
        '500':
          $ref: '#/components/responses/SOAPFault'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /nl/jsp/soaprouter.jsp/xtk-workflow/PostEvent:
    post:
      operationId: workflowPostEvent
      summary: Adobe Campaign Post an Event Signal to a Workflow
      description: >-
        Sends an asynchronous signal event to a workflow, triggering a
        transition from an external signal activity. Can include parameters
        passed as XML variables. SOAP Action: xtk:workflow#PostEvent
      tags:
      - Workflow
      parameters:
      - name: SOAPAction
        in: header
        required: true
        schema:
          type: string
          const: 'xtk:workflow#PostEvent'
        example: example_value
      security:
      - SessionToken: []
      requestBody:
        required: true
        content:
          text/xml:
            schema:
              $ref: '#/components/schemas/WorkflowPostEventRequest'
      responses:
        '200':
          description: Event signal posted to workflow.
        '500':
          $ref: '#/components/responses/SOAPFault'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /nl/jsp/soaprouter.jsp/nms-subscription/Subscribe:
    post:
      operationId: subscribe
      summary: Adobe Campaign Subscribe a Recipient to a Service
      description: >-
        Subscribes a recipient to an information service. Requires the
        service name and a recipient DOM element.
        SOAP Action: nms:subscription#Subscribe
      tags:
      - Subscription
      parameters:
      - name: SOAPAction
        in: header
        required: true
        schema:
          type: string
          const: 'nms:subscription#Subscribe'
        example: example_value
      security:
      - SessionToken: []
      requestBody:
        required: true
        content:
          text/xml:
            schema:
              $ref: '#/components/schemas/SubscriptionRequest'
      responses:
        '200':
          description: Recipient subscribed successfully.
        '500':
          $ref: '#/components/responses/SOAPFault'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /nl/jsp/soaprouter.jsp/nms-subscription/Unsubscribe:
    post:
      operationId: unsubscribe
      summary: Adobe Campaign Unsubscribe a Recipient from a Service
      description: >-
        Unsubscribes a recipient from an information service.
        SOAP Action: nms:subscription#Unsubscribe
      tags:
      - Subscription
      parameters:
      - name: SOAPAction
        in: header
        required: true
        schema:
          type: string
          const: 'nms:subscription#Unsubscribe'
        example: example_value
      security:
      - SessionToken: []
      requestBody:
        required: true
        content:
          text/xml:
            schema:
              $ref: '#/components/schemas/SubscriptionRequest'
      responses:
        '200':
          description: Recipient unsubscribed successfully.
        '500':
          $ref: '#/components/responses/SOAPFault'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /nl/jsp/soaprouter.jsp/nms-rtEvent/PushEvent:
    post:
      operationId: pushEvent
      summary: Adobe Campaign Push a Real-time Transactional Event
      description: >-
        Pushes a single real-time event to the Message Center execution
        instance for transactional message processing. The event must include
        the event type and recipient context data. Supports email, SMS, and
        push notification channels. SOAP Action: nms:rtEvent#PushEvent
      tags:
      - Real-Time Events
      parameters:
      - name: SOAPAction
        in: header
        required: true
        schema:
          type: string
          const: 'nms:rtEvent#PushEvent'
        example: example_value
      security:
      - SessionToken: []
      requestBody:
        required: true
        content:
          text/xml:
            schema:
              $ref: '#/components/schemas/PushEventRequest'
      responses:
        '200':
          description: Event accepted for processing. Returns the event ID.
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/PushEventResponse'
        '500':
          $ref: '#/components/responses/SOAPFault'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /nl/jsp/soaprouter.jsp/nms-batchEvent/PushEvents:
    post:
      operationId: pushEvents
      summary: Adobe Campaign Push Batch Real-time Events
      description: >-
        Pushes a batch of real-time events to the Message Center execution
        instance for transactional message processing. More efficient than
        individual PushEvent calls when sending multiple events.
        SOAP Action: nms:batchEvent#PushEvents
      tags:
      - Real-Time Events
      parameters:
      - name: SOAPAction
        in: header
        required: true
        schema:
          type: string
          const: 'nms:batchEvent#PushEvents'
        example: example_value
      security:
      - SessionToken: []
      requestBody:
        required: true
        content:
          text/xml:
            schema:
              $ref: '#/components/schemas/PushEventsRequest'
      responses:
        '200':
          description: Batch of events accepted for processing.
        '500':
          $ref: '#/components/responses/SOAPFault'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    SessionToken:
      type: apiKey
      in: header
      name: X-Security-Token
      description: >-
        Security token obtained from xtk:session#Logon. Must be passed
        alongside the session token cookie (__sessiontoken) on all
        authenticated requests. Tokens have a 24-hour lifecycle.
  schemas:
    SessionLogonRequest:
      type: object
      xml:
        name: Envelope
        prefix: soapenv
        namespace: http://schemas.xmlsoap.org/soap/envelope/
      description: >-
        SOAP envelope containing login credentials for session
        authentication.
      properties:
        strLogin:
          type: string
          description: Username for authentication.
          example: example_value
        strPassword:
          type: string
          description: Password for authentication.
          example: example_value
    SessionLogonResponse:
      type: object
      description: >-
        SOAP response containing session and security tokens.
      properties:
        sessionToken:
          type: string
          description: >-
            Session token to be passed as __sessiontoken cookie on
            subsequent requests.
          example: example_value
        securityToken:
          type: string
          description: >-
            Security token to be passed as X-Security-Token header on
            subsequent requests.
          example: example_value
        sessionInfo:
          type: object
          description: Information about the authenticated session.
          properties:
            serverInfo:
              type: string
            timezone:
              type: string
    QueryDefinition:
      type: object
      description: >-
        SOAP envelope containing a query definition with schema, operation,
        selected fields, conditions, and pagination parameters.
      properties:
        queryDef:
          type: object
          properties:
            schema:
              type: string
              description: >-
                Target schema name (e.g., nms:recipient, nms:delivery).
            operation:
              type: string
              enum:
              - get
              - getIfExists
              - select
              - count
              description: >-
                Query operation type. get returns single record (error if
                missing), getIfExists returns single or null, select returns
                multiple records, count returns record count.
            lineCount:
              type: integer
              description: Maximum number of records to return.
            startLine:
              type: integer
              description: Starting offset for pagination.
            select:
              type: object
              description: >-
                Field selection using XPath node elements.
            where:
              type: object
              description: >-
                WHERE conditions using condition elements with expr
                attributes.
            orderBy:
              type: object
              description: >-
                ORDER BY clause with sortNode elements.
    QueryResult:
      type: object
      description: >-
        SOAP response containing query result set as XML elements matching
        the target schema structure.
      properties:
        resultSet:
          type: object
          description: >-
            Collection of result records matching the query criteria.
    WriteRequest:
      type: object
      description: >-
        SOAP envelope containing an entity element for the target schema with
        attribute values and an _operation attribute controlling the write
        behavior.
      properties:
        entity:
          type: object
          properties:
            _operation:
              type: string
              enum:
              - insert
              - insertOrUpdate
              - update
              - delete
              description: >-
                The write operation to perform. insert creates a new record,
                insertOrUpdate creates or updates, update modifies existing,
                delete removes.
            _schema:
              type: string
              description: Target schema name.
    WriteResponse:
      type: object
      description: >-
        SOAP response confirming the write operation. Returns the primary
        key of the affected record for insert operations.
      properties:
        primaryKey:
          type: string
          description: Primary key of the created or modified record.
          example: example_value
    WriteCollectionRequest:
      type: object
      description: >-
        SOAP envelope containing a collection of entity elements for batch
        write operations. Each entity can specify its own _operation.
      properties:
        collection:
          type: object
          properties:
            _schema:
              type: string
              description: Target schema name for all entities.
            entities:
              type: array
              description: Array of entity elements to write.
              items:
                type: object
    DeliveryRequest:
      type: object
      description: >-
        SOAP envelope containing the delivery internal name or ID for
        preparation and sending operations.
      properties:
        deliveryId:
          type: integer
          description: Internal ID of the delivery.
          example: 42
        deliveryName:
          type: string
          description: Internal name of the delivery.
          example: Example Campaign
    WorkflowRequest:
      type: object
      description: >-
        SOAP envelope containing the workflow internal ID for start/stop
        operations.
      properties:
        workflowId:
          type: integer
          description: Internal ID of the workflow.
          example: 42
    WorkflowPostEventRequest:
      type: object
      description: >-
        SOAP envelope containing a signal event to post to a workflow,
        including the workflow ID, signal activity name, and optional
        XML variables.
      properties:
        workflowId:
          type: integer
          description: Internal ID of the target workflow.
          example: 42
        activity:
          type: string
          description: Name of the external signal activity in the workflow.
          example: example_value
        variables:
          type: object
          description: >-
            XML element containing variable parameters to pass to the
            workflow transition.
          additionalProperties: true
    SubscriptionRequest:
      type: object
      description: >-
        SOAP envelope containing the service name and recipient DOM element
        for subscribe/unsubscribe operations.
      properties:
        serviceName:
          type: string
          description: Internal name of the information service.
          example: Example Campaign
        recipient:
          type: object
          description: >-
            Recipient DOM element identifying the subscriber.
          properties:
            email:
              type: string
              description: Email address of the recipient.
            id:
              type: integer
              description: Internal ID of the recipient.
        create:
          type: boolean
          description: >-
            Whether to create the recipient if not found (subscribe only).
          example: true
    PushEventRequest:
      type: object
      description: >-
        SOAP envelope containing a real-time event for transactional message
        processing. The rtEvent element includes mandatory attributes for
        event type and recipient contact, plus a ctx child element for
        message personalization data.
      properties:
        rtEvent:
          type: object
          properties:
            type:
              type: string
              description: >-
                Event type name matching the Message Center event
                configuration.
            email:
              type: string
              format: email
              description: Recipient email address.
            origin:
              type: string
              description: >-
                Origin identifier for tracking the event source.
            wishedChannel:
              type: integer
              description: >-
                Preferred delivery channel. 0 = email, 1 = mobile (SMS),
                2 = phone, 3 = push notification.
            externalId:
              type: string
              description: External identifier for deduplication.
            mobilePhone:
              type: string
              description: Recipient mobile phone number (for SMS channel).
            scheduled:
              type: string
              format: date-time
              description: Optional scheduled processing time.
            ctx:
              type: object
              description: >-
                Context data XML element containing personalization variables
                for the transactional message template.
              additionalProperties: true
    PushEventResponse:
      type: object
      description: >-
        SOAP response containing the assigned event ID for tracking.
      properties:
        eventId:
          type: integer
          description: Unique identifier assigned to the ingested event.
          example: 42
    PushEventsRequest:
      type: object
      description: >-
        SOAP envelope containing a batch of real-time events for bulk
        transactional message processing.
      properties:
        events:
          type: array
          description: Array of rtEvent elements.
          items:
            $ref: '#/components/schemas/PushEventRequest/properties/rtEvent'
    SOAPFault:
      type: object
      description: >-
        SOAP fault response indicating an error during operation processing.
      properties:
        faultcode:
          type: string
          description: Fault code identifying the error category.
          example: example_value
        faultstring:
          type: string
          description: Human-readable description of the error.
          example: example_value
        detail:
          type: string
          description: Additional error details.
          example: example_value
  responses:
    SOAPFault:
      description: SOAP fault indicating an error during operation processing.
      content:
        text/xml:
          schema:
            $ref: '#/components/schemas/SOAPFault'