Adobe Campaign Standard API

REST API for Adobe Campaign Standard enabling integration with marketing campaigns, profiles, workflows, and messaging services.

OpenAPI Specification

adobe-campaign-standard-openapi-original.yml Raw ↑
openapi: 3.1.0
info:
  title: Adobe Campaign Standard API
  description: >-
    REST API for Adobe Campaign Standard enabling integration with marketing
    campaigns, profiles, workflows, and messaging services. Provides CRUD
    operations for profiles and services, workflow control, transactional
    messaging triggers, GDPR/CCPA privacy requests, marketing history access,
    and custom resource management.
  version: 1.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: Adobe Campaign Standard API Documentation
  url: >-
    https://experienceleague.adobe.com/docs/campaign-standard/using/working-with-apis/get-started-apis.html
servers:
- url: https://mc.adobe.io/{ORGANIZATION}/campaign
  description: Adobe Campaign Standard Production
  variables:
    ORGANIZATION:
      description: Your Adobe IMS Organization ID
      default: YOUR_ORG_ID
tags:
- name: Custom Resources
  description: >-
    Access custom resources defined in Campaign Standard, both
    profile-linked and standalone.
- name: Marketing History
  description: >-
    Retrieve marketing event history for profiles including delivery logs
    and mirror page links.
- name: Metadata
  description: >-
    Discover resource schemas, fields, filters, and data policies for
    Campaign Standard resources.
- name: Organizational Units
  description: >-
    Retrieve organizational unit structures used for access control and
    data partitioning.
- name: Privacy
  description: >-
    Create GDPR and CCPA privacy access and deletion requests for data
    subject compliance.
- name: Profiles
  description: >-
    Manage recipient profiles including creation, retrieval, update, and
    deletion of contact records.
- name: Subscriptions
  description: >-
    Subscribe and unsubscribe profiles to and from services.
- name: Transactional Messages
  description: >-
    Trigger and monitor transactional messages across email, SMS, and push
    notification channels.
- name: Workflows
  description: >-
    Control workflow execution including starting, pausing, resuming, and
    stopping marketing workflows.
paths:
  /profileAndServices/profile:
    get:
      operationId: listProfiles
      summary: Adobe Campaign List Profiles
      description: >-
        Retrieves a paginated list of recipient profiles. Supports filtering,
        sorting, and pagination through query parameters.
      tags:
      - Profiles
      parameters:
      - $ref: '#/components/parameters/LineCount'
      - $ref: '#/components/parameters/LineStart'
      - $ref: '#/components/parameters/Order'
      - $ref: '#/components/parameters/ForcePagination'
      responses:
        '200':
          description: List of profiles retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedProfileResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createProfile
      summary: Adobe Campaign Create a Profile
      description: >-
        Creates a new recipient profile with the provided attributes.
      tags:
      - Profiles
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProfileCreate'
      responses:
        '201':
          description: Profile created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Profile'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /profileAndServices/profile/{PKEY}:
    get:
      operationId: getProfile
      summary: Adobe Campaign Get a Profile
      description: >-
        Retrieves a specific recipient profile by its PKEY identifier.
      tags:
      - Profiles
      parameters:
      - $ref: '#/components/parameters/PKEY'
      responses:
        '200':
          description: Profile retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Profile'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: updateProfile
      summary: Adobe Campaign Update a Profile
      description: >-
        Partially updates a recipient profile with the provided attributes.
      tags:
      - Profiles
      parameters:
      - $ref: '#/components/parameters/PKEY'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProfileUpdate'
      responses:
        '200':
          description: Profile updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Profile'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteProfile
      summary: Adobe Campaign Delete a Profile
      description: >-
        Deletes a specific recipient profile by its PKEY identifier.
      tags:
      - Profiles
      parameters:
      - $ref: '#/components/parameters/PKEY'
      responses:
        '200':
          description: Profile deleted successfully.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /profileAndServices/service:
    get:
      operationId: listServices
      summary: Adobe Campaign List Services
      description: >-
        Retrieves a paginated list of subscription services.
      tags: []
      parameters:
      - $ref: '#/components/parameters/LineCount'
      - $ref: '#/components/parameters/LineStart'
      - $ref: '#/components/parameters/Order'
      responses:
        '200':
          description: List of services retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedServiceResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createService
      summary: Adobe Campaign Create a Service
      description: >-
        Creates a new subscription service.
      tags: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceCreate'
      responses:
        '201':
          description: Service created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Service'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /profileAndServices/service/{PKEY}:
    get:
      operationId: getService
      summary: Adobe Campaign Get a Service
      description: >-
        Retrieves a specific subscription service by its PKEY identifier.
      tags: []
      parameters:
      - $ref: '#/components/parameters/PKEY'
      responses:
        '200':
          description: Service retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Service'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: updateService
      summary: Adobe Campaign Update a Service
      description: >-
        Partially updates a subscription service with the provided attributes.
      tags: []
      parameters:
      - $ref: '#/components/parameters/PKEY'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceUpdate'
      responses:
        '200':
          description: Service updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Service'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteService
      summary: Adobe Campaign Delete a Service
      description: >-
        Deletes a specific subscription service by its PKEY identifier.
      tags: []
      parameters:
      - $ref: '#/components/parameters/PKEY'
      responses:
        '200':
          description: Service deleted successfully.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /profileAndServices/profile/{PKEY}/subscriptions:
    post:
      operationId: subscribeProfile
      summary: Adobe Campaign Subscribe a Profile to a Service
      description: >-
        Subscribes a profile to a subscription service by providing the
        service PKEY in the request body.
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/components/parameters/PKEY'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriptionRequest'
      responses:
        '201':
          description: Profile subscribed successfully.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /profileAndServices/service/{servicePKEY}/subscriptions/{profilePKEY}:
    delete:
      operationId: unsubscribeProfile
      summary: Adobe Campaign Unsubscribe a Profile from a Service
      description: >-
        Removes a profile subscription from a service.
      tags:
      - Subscriptions
      parameters:
      - name: servicePKEY
        in: path
        required: true
        description: The PKEY of the service.
        schema:
          type: string
        example: example_value
      - name: profilePKEY
        in: path
        required: true
        description: The PKEY of the profile to unsubscribe.
        schema:
          type: string
        example: example_value
      responses:
        '200':
          description: Profile unsubscribed successfully.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /workflow/execution/{workflowID}/commands:
    post:
      operationId: controlWorkflow
      summary: Adobe Campaign Control a Workflow
      description: >-
        Sends a control command to a workflow. Supported commands are start,
        pause, resume, and stop. Commands are executed asynchronously.
      tags:
      - Workflows
      parameters:
      - name: workflowID
        in: path
        required: true
        description: The ID of the workflow to control.
        schema:
          type: string
        example: CAM123456
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowCommand'
      responses:
        '200':
          description: Workflow command accepted successfully.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /{transactionalAPI}/{eventID}:
    post:
      operationId: triggerTransactionalEvent
      summary: Adobe Campaign Trigger a Transactional Event
      description: >-
        Sends a transactional event to trigger a personalized message. The
        transactionalAPI path segment corresponds to the event configuration
        name. Events are processed asynchronously and support email, SMS,
        and push notification channels.
      tags:
      - Transactional Messages
      parameters:
      - name: transactionalAPI
        in: path
        required: true
        description: >-
          The transactional API name corresponding to the event
          configuration (e.g., EVTorderConfirmation).
        schema:
          type: string
        example: example_value
      - name: eventID
        in: path
        required: true
        description: The unique event type identifier.
        schema:
          type: string
        example: CAM123456
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionalEvent'
      responses:
        '200':
          description: Transactional event accepted for processing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionalEventResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      operationId: getTransactionalEventStatus
      summary: Adobe Campaign Get Transactional Event Status
      description: >-
        Retrieves the current processing status of a previously triggered
        transactional event. Statuses include pending, processing, processed,
        deliveryFailed, routingFailed, targetingFailed, tooOld, and ignored.
      tags:
      - Transactional Messages
      parameters:
      - name: transactionalAPI
        in: path
        required: true
        description: The transactional API name.
        schema:
          type: string
        example: example_value
      - name: eventID
        in: path
        required: true
        description: The unique event type identifier.
        schema:
          type: string
        example: CAM123456
      responses:
        '200':
          description: Event status retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionalEventStatus'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /privacy/privacyTool:
    post:
      operationId: createPrivacyRequest
      summary: Adobe Campaign Create a Privacy Request
      description: >-
        Creates a GDPR or CCPA privacy request for data access or deletion.
        Supports both access requests (retrieve all data for a data subject)
        and delete requests (remove all data for a data subject).
      tags:
      - Privacy
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PrivacyRequest'
      responses:
        '201':
          description: Privacy request created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrivacyRequestResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /profileAndServices/history/{PKEY}:
    get:
      operationId: getMarketingHistory
      summary: Adobe Campaign Get Marketing History for a Profile
      description: >-
        Retrieves the marketing event history for a specific profile,
        including delivery logs and mirror page links.
      tags:
      - Marketing History
      parameters:
      - $ref: '#/components/parameters/PKEY'
      responses:
        '200':
          description: Marketing history retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketingHistory'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /profileAndServicesExt/orgUnitBase:
    get:
      operationId: listOrgUnits
      summary: Adobe Campaign List Organizational Units
      description: >-
        Retrieves the list of organizational units used for access control
        and data partitioning.
      tags:
      - Organizational Units
      parameters:
      - $ref: '#/components/parameters/LineCount'
      - $ref: '#/components/parameters/LineStart'
      responses:
        '200':
          description: Organizational units retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedOrgUnitResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /profileAndServicesExt/{cusResourceName}:
    get:
      operationId: listProfileLinkedCustomResources
      summary: Adobe Campaign List Profile-linked Custom Resources
      description: >-
        Retrieves records from a profile-linked custom resource. Custom
        resources are defined with the cus prefix in Campaign Standard.
      tags:
      - Custom Resources
      parameters:
      - name: cusResourceName
        in: path
        required: true
        description: >-
          The name of the custom resource (with cus prefix, e.g.,
          cusMyResource).
        schema:
          type: string
        example: Example Campaign
      - $ref: '#/components/parameters/LineCount'
      - $ref: '#/components/parameters/LineStart'
      - $ref: '#/components/parameters/Order'
      responses:
        '200':
          description: Custom resource records retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /customResources/{cusResourceName}:
    get:
      operationId: listCustomResources
      summary: Adobe Campaign List Non-profile Custom Resources
      description: >-
        Retrieves records from a standalone custom resource not linked to
        profiles.
      tags:
      - Custom Resources
      parameters:
      - name: cusResourceName
        in: path
        required: true
        description: The name of the custom resource.
        schema:
          type: string
        example: Example Campaign
      - $ref: '#/components/parameters/LineCount'
      - $ref: '#/components/parameters/LineStart'
      - $ref: '#/components/parameters/Order'
      responses:
        '200':
          description: Custom resource records retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /profileAndServices/resourceType/{resourceName}:
    get:
      operationId: getResourceMetadata
      summary: Adobe Campaign Get Resource Metadata
      description: >-
        Retrieves metadata for a Campaign Standard resource, including field
        definitions, data types, available filters, and data policies.
      tags:
      - Metadata
      parameters:
      - name: resourceName
        in: path
        required: true
        description: The name of the resource to describe.
        schema:
          type: string
        example: Example Campaign
      responses:
        '200':
          description: Resource metadata retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceMetadata'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        OAuth Server-to-Server access token obtained from Adobe IMS at
        https://ims-na1.adobelogin.com/ims/token/v3
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
      description: >-
        Your Adobe Developer Console API Key (Client ID).
  parameters:
    PKEY:
      name: PKEY
      in: path
      required: true
      description: The unique PKEY identifier of the resource.
      schema:
        type: string
    LineCount:
      name: _lineCount
      in: query
      required: false
      description: Number of records to return per page. Default is 25.
      schema:
        type: integer
        default: 25
    LineStart:
      name: _lineStart
      in: query
      required: false
      description: Pagination offset from the next node in previous response.
      schema:
        type: integer
    Order:
      name: _order
      in: query
      required: false
      description: >-
        Sort order. Use field name for ascending, append %20desc for
        descending (e.g., email%20desc).
      schema:
        type: string
    ForcePagination:
      name: _forcePagination
      in: query
      required: false
      description: >-
        Force pagination for tables with more than 100,000 records.
      schema:
        type: boolean
        default: false
  schemas:
    Profile:
      type: object
      properties:
        PKey:
          type: string
          description: Unique identifier for the profile.
          readOnly: true
          example: example_value
        email:
          type: string
          format: email
          description: Email address of the profile.
          example: [email protected]
        firstName:
          type: string
          description: First name of the profile.
          example: Example Campaign
        lastName:
          type: string
          description: Last name of the profile.
          example: Example Campaign
        phone:
          type: string
          description: Phone number of the profile.
          example: example_value
        mobilePhone:
          type: string
          description: Mobile phone number.
          example: example_value
        birthDate:
          type: string
          format: date
          description: Date of birth.
          example: '2026-04-17T12:00:00Z'
        gender:
          type: string
          enum:
          - male
          - female
          - unknown
          description: Gender of the profile.
          example: male
        preferredLanguage:
          type: string
          description: Preferred language code.
          example: example_value
        blackList:
          type: boolean
          description: Whether the profile is on the deny list.
          example: true
        blackListEmail:
          type: boolean
          description: Whether email is blocked for this profile.
          example: true
        blackListMobile:
          type: boolean
          description: Whether SMS is blocked for this profile.
          example: true
        created:
          type: string
          format: date-time
          description: Profile creation timestamp.
          readOnly: true
          example: example_value
        lastModified:
          type: string
          format: date-time
          description: Last modification timestamp.
          readOnly: true
          example: example_value
        subscriptions:
          type: object
          description: Link to the profile subscriptions.
          readOnly: true
          properties:
            href:
              type: string
    ProfileCreate:
      type: object
      required:
      - email
      properties:
        email:
          type: string
          format: email
          description: Email address for the new profile.
          example: [email protected]
        firstName:
          type: string
          example: Example Campaign
        lastName:
          type: string
          example: Example Campaign
        phone:
          type: string
          example: example_value
        mobilePhone:
          type: string
          example: example_value
        birthDate:
          type: string
          format: date
          example: '2026-04-17T12:00:00Z'
        gender:
          type: string
          enum:
          - male
          - female
          - unknown
          example: male
        preferredLanguage:
          type: string
          example: example_value
    ProfileUpdate:
      type: object
      properties:
        email:
          type: string
          format: email
          example: [email protected]
        firstName:
          type: string
          example: Example Campaign
        lastName:
          type: string
          example: Example Campaign
        phone:
          type: string
          example: example_value
        mobilePhone:
          type: string
          example: example_value
        birthDate:
          type: string
          format: date
          example: '2026-04-17T12:00:00Z'
        gender:
          type: string
          enum:
          - male
          - female
          - unknown
          example: male
        preferredLanguage:
          type: string
          example: example_value
        blackList:
          type: boolean
          example: true
        blackListEmail:
          type: boolean
          example: true
        blackListMobile:
          type: boolean
          example: true
    Service:
      type: object
      properties:
        PKey:
          type: string
          description: Unique identifier for the service.
          readOnly: true
          example: example_value
        name:
          type: string
          description: Internal name of the service.
          example: Example Campaign
        label:
          type: string
          description: Display label of the service.
          example: Example Campaign
        messageType:
          type: string
          enum:
          - email
          - sms
          - push
          description: Default channel for the service.
          example: email
        start:
          type: string
          format: date-time
          description: Service start date.
          example: example_value
        end:
          type: string
          format: date-time
          description: Service end date.
          example: example_value
        created:
          type: string
          format: date-time
          readOnly: true
          example: example_value
        lastModified:
          type: string
          format: date-time
          readOnly: true
          example: example_value
    ServiceCreate:
      type: object
      required:
      - label
      properties:
        name:
          type: string
          example: Example Campaign
        label:
          type: string
          example: Example Campaign
        messageType:
          type: string
          enum:
          - email
          - sms
          - push
          example: email
    ServiceUpdate:
      type: object
      properties:
        label:
          type: string
          example: Example Campaign
        messageType:
          type: string
          enum:
          - email
          - sms
          - push
          example: email
        start:
          type: string
          format: date-time
          example: example_value
        end:
          type: string
          format: date-time
          example: example_value
    SubscriptionRequest:
      type: object
      required:
      - service
      properties:
        service:
          type: object
          properties:
            PKey:
              type: string
              description: The PKEY of the service to subscribe to.
    WorkflowCommand:
      type: object
      required:
      - method
      properties:
        method:
          type: string
          enum:
          - start
          - pause
          - resume
          - stop
          description: The workflow control command to execute.
          example: start
    TransactionalEvent:
      type: object
      properties:
        email:
          type: string
          format: email
          description: Recipient email address (for email channel).
          example: [email protected]
        mobilePhone:
          type: string
          description: Recipient mobile phone (for SMS channel).
          example: example_value
        pushPlatform:
          type: string
          enum:
          - apns
          - gcm
          description: Push platform (Apple or Google).
          example: apns
        ctx:
          type: object
          description: >-
            Context data for message personalization. Contains dynamic
            fields matching the transactional message template.
          additionalProperties: true
        scheduled:
          type: string
          format: date-time
          description: Optional scheduled send time.
          example: example_value
        expiration:
          type: string
          format: date-time
          description: Optional event expiration time.
          example: example_value
    TransactionalEventResponse:
      type: object
      properties:
        PKey:
          type: string
          description: The PKEY of the created event.
          e

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adobe-campaign/refs/heads/main/openapi/adobe-campaign-standard-openapi-original.yml