Core Concepts

What Brand Intelligence does

Adobe Brand Intelligence (ABI) validates creative assets against your organization's brand guidelines. You submit assets - images, documents, layouts - and ABI checks each one against a set of brand rules (colour palette, typography, logo usage, and so on). For each asset, ABI returns a list of violations with severity levels and human-readable messages.

Validation runs against organization-level brand guidelines and optionally against campaign-specific guidelines when a campaignId is provided.

Async invocation model

Validation is asynchronous. You submit a batch of items and receive an invocationId immediately; ABI processes each item in the background and you poll for results.

POST /api/abi/skills/ra                     → 202 Accepted  { invocationId }
GET  /api/abi/skills/ra/{invocationId}       → invocation status + counts
GET  /api/abi/skills/ra/{invocationId}/items → per-asset results

This design keeps the API responsive for large batches.

Asset sources

Each item you submit declares an itemSource telling ABI where to read the asset from:

Resource hierarchy

Invocation
└── Items (one per submitted entry)
    └── Violations (reviewer feedback + pipeline findings on the item)

Invocation - represents a single validation run. Created by POST /api/abi/skills/ra. Tracks overall status and aggregate counts (successCount, failureCount).

Item - represents one submitted entry within an invocation. Contains a result.summaryText and a result.violations list.

Violation - a single finding on an item. Violations are either generated by the validation pipeline (violationSource: system) or created by your application on behalf of a human reviewer (violationSource: user).

Invocation lifecycle

An invocation moves through the following states:

Status
Meaning
pending
Invocation accepted, processing has not begun.
queued
Invocation is queued behind the tenant's concurrency cap.
running
One or more items are being validated.
completed
All items finished processing. Check successCount / failureCount for the outcome.
failed
The invocation as a whole failed to process.
cancelled
Invocation was cancelled before completion.

Once an invocation reaches completed, failed, or cancelled it will not change state again. Poll until you see one of these terminal states before processing results.

Item status values

Each item within an invocation moves through its own status independently, mirroring the invocation's own lifecycle:

Status
Meaning
pending
Item uploaded and ready; processing has not begun.
queued
Item is queued behind the tenant's concurrency cap.
running
Validation is actively running.
completed
Validation completed. Results are available.
failed
Validation failed for this item.
cancelled
Item's validation was cancelled.

Validation results

Each item's detail (GET /api/abi/skills/ra/{invocationId}/items/{itemId}) contains a result object with:

An item with an empty violations array is fully compliant. See Review Feedback for how to accept, reject, or add violations.

See the API Reference for the full RaItemViolation schema.

Pagination

GET /api/abi/skills/invocations (list your invocations across tenants/campaigns) supports cursor-based pagination. Pass limit (1–100, default 50) and start query parameters. The response includes a page.next field; when it is null, you have reached the last page. You can also filter by skill.

Authentication

Every request requires an IMS Bearer token in the Authorization header. Tokens are valid for 24 hours. See Authentication for setup instructions.