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.