Adobe Launch Rule Components API

Manage the individual event, condition, and action components within rules.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

adobe-launch-rule-components-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Adobe Experience Platform Data Collection Builds Rule Components API
  description: The Data Collection APIs provide endpoints for sending data directly to the Adobe Experience Platform Edge Network. The Edge Network API supports both authenticated and non-authenticated data ingestion, while the Media Edge API enables media tracking data transmission. These APIs allow real-time data collection from web, mobile, and IoT devices.
  version: 2.0.0
  contact:
    name: Adobe Developer Support
    url: https://experienceleague.adobe.com/?support-solution=Experience+Platform
  license:
    name: Adobe Terms of Service
    url: https://www.adobe.com/legal/terms.html
  termsOfService: https://www.adobe.com/legal/terms.html
servers:
- url: https://edge.adobedc.net
  description: Adobe Edge Network Non-Authenticated Server
- url: https://server.adobedc.net
  description: Adobe Edge Network Authenticated Server
tags:
- name: Rule Components
  description: Manage the individual event, condition, and action components within rules.
paths:
  /properties/{propertyId}/rule_components:
    post:
      operationId: createRuleComponent
      summary: Create a Rule Component
      description: Create a new rule component (event, condition, or action) under the specified property.
      tags:
      - Rule Components
      parameters:
      - $ref: '#/components/parameters/propertyId'
      requestBody:
        required: true
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/RuleComponentCreateRequest'
            examples:
              CreaterulecomponentRequestExample:
                summary: Default createRuleComponent request
                x-microcks-default: true
                value:
                  data:
                    type: rule_components
                    attributes:
                      name: Example Title
                      delegate_descriptor_id: '500123'
                      order: 10
                      settings: example_value
                      timeout: 10
                      delay_next: true
                      negate: true
                    relationships:
                      rules:
                        data: {}
                      extension:
                        data: {}
      responses:
        '201':
          description: Rule component created successfully.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/RuleComponentSingleResponse'
              examples:
                Createrulecomponent201Example:
                  summary: Default createRuleComponent 201 response
                  x-microcks-default: true
                  value:
                    data:
                      id: abc123
                      type: rule_components
                      relationships: {}
                      links:
                        self: https://www.example.com
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /rules/{ruleId}/rule_components:
    get:
      operationId: listRuleComponentsForRule
      summary: List Rule Components for a Rule
      description: Retrieve all components belonging to a rule.
      tags:
      - Rule Components
      parameters:
      - $ref: '#/components/parameters/ruleId'
      - $ref: '#/components/parameters/filterCreatedAt'
      - $ref: '#/components/parameters/filterName'
      - $ref: '#/components/parameters/filterEnabled'
      - $ref: '#/components/parameters/filterPublished'
      - $ref: '#/components/parameters/filterUpdatedAt'
      - $ref: '#/components/parameters/pageNumber'
      - $ref: '#/components/parameters/pageSize'
      responses:
        '200':
          description: A list of rule components.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/RuleComponentListResponse'
              examples:
                Listrulecomponentsforrule200Example:
                  summary: Default listRuleComponentsForRule 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - id: abc123
                      type: rule_components
                      relationships: {}
                      links: {}
                    meta:
                      pagination:
                        current_page: 10
                        next_page: 10
                        prev_page: 10
                        total_pages: 10
                        total_count: 10
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /rule_components/{ruleComponentId}:
    get:
      operationId: getRuleComponent
      summary: Retrieve a Rule Component
      description: Look up a specific rule component by its ID.
      tags:
      - Rule Components
      parameters:
      - $ref: '#/components/parameters/ruleComponentId'
      responses:
        '200':
          description: Rule component details.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/RuleComponentSingleResponse'
              examples:
                Getrulecomponent200Example:
                  summary: Default getRuleComponent 200 response
                  x-microcks-default: true
                  value:
                    data:
                      id: abc123
                      type: rule_components
                      relationships: {}
                      links:
                        self: https://www.example.com
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: updateRuleComponent
      summary: Update a Rule Component
      description: Modify a rule component's attributes.
      tags:
      - Rule Components
      parameters:
      - $ref: '#/components/parameters/ruleComponentId'
      requestBody:
        required: true
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/RuleComponentUpdateRequest'
            examples:
              UpdaterulecomponentRequestExample:
                summary: Default updateRuleComponent request
                x-microcks-default: true
                value:
                  data:
                    id: abc123
                    type: rule_components
                    attributes:
                      name: Example Title
                      order: 10
                      settings: example_value
                      timeout: 10
                      delay_next: true
                      negate: true
      responses:
        '200':
          description: Rule component updated successfully.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/RuleComponentSingleResponse'
              examples:
                Updaterulecomponent200Example:
                  summary: Default updateRuleComponent 200 response
                  x-microcks-default: true
                  value:
                    data:
                      id: abc123
                      type: rule_components
                      relationships: {}
                      links:
                        self: https://www.example.com
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteRuleComponent
      summary: Delete a Rule Component
      description: Remove a rule component. Returns HTTP 204 on success.
      tags:
      - Rule Components
      parameters:
      - $ref: '#/components/parameters/ruleComponentId'
      responses:
        '204':
          description: Rule component deleted successfully.
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /rule_components/{ruleComponentId}/extension:
    get:
      operationId: getExtensionForRuleComponent
      summary: Get the Extension for a Rule Component
      description: Retrieve the extension that provides the specified rule component.
      tags:
      - Rule Components
      parameters:
      - $ref: '#/components/parameters/ruleComponentId'
      responses:
        '200':
          description: Extension details.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ExtensionSingleResponse'
              examples:
                Getextensionforrulecomponent200Example:
                  summary: Default getExtensionForRuleComponent 200 response
                  x-microcks-default: true
                  value:
                    data:
                      id: abc123
                      type: extensions
                      relationships: {}
                      links:
                        self: https://www.example.com
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  parameters:
    filterEnabled:
      name: filter[enabled]
      in: query
      schema:
        type: boolean
      description: Filter by enabled status.
    filterPublished:
      name: filter[published]
      in: query
      schema:
        type: boolean
      description: Filter by published status.
    ruleId:
      name: ruleId
      in: path
      required: true
      schema:
        type: string
      description: The unique identifier for a rule.
    filterName:
      name: filter[name]
      in: query
      schema:
        type: string
      description: Filter by name.
    pageNumber:
      name: page[number]
      in: query
      schema:
        type: integer
        minimum: 1
      description: Page number for pagination.
    filterCreatedAt:
      name: filter[created_at]
      in: query
      schema:
        type: string
      description: Filter by creation date.
    pageSize:
      name: page[size]
      in: query
      schema:
        type: integer
        minimum: 1
        maximum: 100
      description: Number of results per page.
    filterUpdatedAt:
      name: filter[updated_at]
      in: query
      schema:
        type: string
      description: Filter by last updated date.
    ruleComponentId:
      name: ruleComponentId
      in: path
      required: true
      schema:
        type: string
      description: The unique identifier for a rule component.
    propertyId:
      name: propertyId
      in: path
      required: true
      schema:
        type: string
      description: The unique identifier for a property.
  schemas:
    PaginationMeta:
      type: object
      properties:
        pagination:
          type: object
          properties:
            current_page:
              type: integer
            next_page:
              type: integer
              nullable: true
            prev_page:
              type: integer
              nullable: true
            total_pages:
              type: integer
            total_count:
              type: integer
          example: example_value
    RuleComponentListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/RuleComponentResource'
          example: []
        meta:
          $ref: '#/components/schemas/PaginationMeta'
    ExtensionAttributes:
      type: object
      properties:
        name:
          type: string
          description: The unique name of the extension.
          example: Example Title
        display_name:
          type: string
          description: The human-readable display name.
          example: example_value
        version:
          type: string
          description: The version of the installed extension.
          example: example_value
        delegate_descriptor_id:
          type: string
          description: The descriptor ID for the extension configuration.
          example: '500123'
        settings:
          type: string
          description: A JSON-encoded string of settings.
          example: example_value
        enabled:
          type: boolean
          description: Whether the extension is enabled.
          example: true
        published:
          type: boolean
          example: true
        dirty:
          type: boolean
          example: true
        revision_number:
          type: integer
          example: 10
        deleted_at:
          type: string
          format: date-time
          nullable: true
          description: When the extension was deleted, if applicable.
          example: '2026-01-15T10:30:00Z'
        created_at:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
        updated_at:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
    RuleComponentAttributes:
      type: object
      properties:
        name:
          type: string
          description: The human-readable name of the rule component.
          example: Example Title
        delegate_descriptor_id:
          type: string
          description: The descriptor ID identifying the component type from an extension package.
          example: '500123'
        order:
          type: integer
          description: The execution order within its type group.
          example: 10
        rule_order:
          type: number
          description: The order relative to other components in the rule.
          example: 42.5
        settings:
          type: string
          description: A JSON-encoded string of settings for the component.
          example: example_value
        timeout:
          type: integer
          description: Timeout in milliseconds for the component.
          example: 10
        delay_next:
          type: boolean
          description: Whether to delay the next action.
          example: true
        negate:
          type: boolean
          description: Whether to negate the condition result.
          example: true
        enabled:
          type: boolean
          description: Whether the rule component is enabled.
          example: true
        published:
          type: boolean
          example: true
        dirty:
          type: boolean
          example: true
        created_at:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
        updated_at:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
    ExtensionResource:
      type: object
      properties:
        id:
          type: string
          example: abc123
        type:
          type: string
          enum:
          - extensions
          example: extensions
        attributes:
          $ref: '#/components/schemas/ExtensionAttributes'
        relationships:
          type: object
          properties:
            property:
              $ref: '#/components/schemas/Relationship'
            extension_package:
              $ref: '#/components/schemas/Relationship'
            libraries:
              $ref: '#/components/schemas/Relationship'
            revisions:
              $ref: '#/components/schemas/Relationship'
            origin:
              $ref: '#/components/schemas/Relationship'
          example: example_value
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
          example: example_value
    ExtensionSingleResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ExtensionResource'
    Relationship:
      type: object
      properties:
        data:
          type: object
          properties:
            id:
              type: string
            type:
              type: string
          example: example_value
        links:
          type: object
          properties:
            related:
              type: string
              format: uri
          example: example_value
    RuleComponentSingleResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/RuleComponentResource'
    RuleComponentCreateRequest:
      type: object
      required:
      - data
      properties:
        data:
          type: object
          required:
          - type
          - attributes
          - relationships
          properties:
            type:
              type: string
              enum:
              - rule_components
            attributes:
              type: object
              required:
              - name
              - delegate_descriptor_id
              properties:
                name:
                  type: string
                delegate_descriptor_id:
                  type: string
                order:
                  type: integer
                settings:
                  type: string
                timeout:
                  type: integer
                delay_next:
                  type: boolean
                negate:
                  type: boolean
            relationships:
              type: object
              required:
              - rules
              - extension
              properties:
                rules:
                  type: object
                  properties:
                    data:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                          type:
                            type: string
                            enum:
                            - rules
                extension:
                  type: object
                  properties:
                    data:
                      type: object
                      properties:
                        id:
                          type: string
                        type:
                          type: string
                          enum:
                          - extensions
          example: example_value
    RuleComponentResource:
      type: object
      properties:
        id:
          type: string
          example: abc123
        type:
          type: string
          enum:
          - rule_components
          example: rule_components
        attributes:
          $ref: '#/components/schemas/RuleComponentAttributes'
        relationships:
          type: object
          properties:
            rules:
              $ref: '#/components/schemas/Relationship'
            extension:
              $ref: '#/components/schemas/Relationship'
            origin:
              $ref: '#/components/schemas/Relationship'
          example: example_value
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
          example: example_value
    ErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              status:
                type: string
              code:
                type: string
              title:
                type: string
              detail:
                type: string
              source:
                type: object
                properties:
                  pointer:
                    type: string
          example: []
    RuleComponentUpdateRequest:
      type: object
      required:
      - data
      properties:
        data:
          type: object
          required:
          - id
          - type
          - attributes
          properties:
            id:
              type: string
            type:
              type: string
              enum:
              - rule_components
            attributes:
              type: object
              properties:
                name:
                  type: string
                order:
                  type: integer
                settings:
                  type: string
                timeout:
                  type: integer
                delay_next:
                  type: boolean
                negate:
                  type: boolean
          example: example_value
  responses:
    NotFound:
      description: The requested resource was not found.
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    UnprocessableEntity:
      description: The request body contains validation errors.
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 access token for authenticated data collection via server.adobedc.net.
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: Client ID credential from Adobe Developer Console.
    orgId:
      type: apiKey
      in: header
      name: x-gw-ims-org-id
      description: Adobe Organization ID.