canonical: https://jentic.com/apis/ebay.com/sell-compliance

# Ebay Sell Compliance API

The eBay Sell Compliance API tells sellers which of their active listings violate, or are at risk of violating, eBay listing policies - restricted-item rules, missing item specifics, image quality, brand-protection flags, regional take-back disclosures, and others. Two endpoints cover the full surface - /listing_violation_summary returns a count of violations grouped by compliance type, and /listing_violation returns the per-listing detail (listingId, violation reason, recommended fix). Sellers wire it into their listing-management tools so they catch and resolve violations before eBay suppresses or removes the listings.

## For AI agents

Detect which seller listings violate eBay listing policies. Two endpoints - summary counts and per-listing detail with recommended fixes.

## Scope

Does not handle listing creation, fixing violations, or order management - use for detecting non-compliant listings against eBay policies only.

## Capabilities

- List per-listing compliance violations grouped by violation type
- Read summary counts of violations across the seller's active inventory
- Filter violations by compliance type (e.g., RESTRICTED_ITEM, MISSING_PHOTO, ITEM_SPECIFICS)
- Read recommended remediation actions for each detected violation
- Track at-risk listings before eBay applies enforcement actions like search demotion or removal

## Use cases

### Compliance triage queue in a listing tool

Listing-management tools call /listing_violation_summary nightly to render a triage dashboard - total violations bucketed by compliance type, with the highest-impact buckets surfaced first. The seller drills into a bucket and the tool calls /listing_violation with the matching compliance_type filter to show every offending listingId and its recommended fix, ready for one-click remediation.

Example prompt: Call /listing_violation_summary, identify the bucket with the highest count, then call /listing_violation filtered to that compliance_type and return the full listing list

### Pre-removal alerting

Sellers want to know about at-risk listings before eBay actually demotes or removes them. The integration polls /listing_violation on a daily schedule and pipes any AT_RISK status results into a notification system (Slack, email). The seller fixes the listing through the Inventory API before the violation is enforced, preserving impressions and avoiding a status hit.

Example prompt: Poll /listing_violation daily, filter to entries with violationStatus=AT_RISK, and post a Slack message with each listingId and reason

### Bulk fix workflow

When eBay rolls out a new item-specifics requirement (e.g., a new mandatory aspect for a category), thousands of older listings can become non-compliant overnight. The integration runs /listing_violation filtered to compliance_type=ITEM_SPECIFICS, groups the results by category, and feeds them into a bulk update job that fills the missing aspect via the Sell Inventory API.

Example prompt: Pull /listing_violation with compliance_type=ITEM_SPECIFICS, group by primaryCategoryId, and produce one Inventory API update payload per category

### AI agent integration via Jentic

An AI agent that polices a seller's catalogue searches Jentic for 'list eBay listings with compliance violations'. Jentic returns the /listing_violation operation, the agent loads its schema, and executes the call with a User access token issued through Jentic's vault. For each violation, the agent reads the recommendedAction string and proposes a fix that the seller can accept or reject in chat.

Example prompt: Use Jentic to search 'list eBay listings with compliance violations', load /listing_violation, and execute it; for each entry, generate a one-line summary of the recommendedAction

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /listing_violation_summary | Get a count of compliance violations grouped by type |
| GET | /listing_violation | Get per-listing compliance violation detail with recommended fixes |

## Key resources

- **listing_violation** — Per-listing violation detail with listingId, type, reason, and recommended action
- **listing_violation_summary** — Aggregated counts of violations grouped by compliance type

## Why Jentic

- **Setup:** Wiring the eBay Sell Compliance API by hand means implementing eBay's OAuth 2.0 authorization-code flow for a seller user token, refreshing it, and pointing requests at the api.ebay.com sell/compliance host. Through Jentic you install once, import the Sell Compliance API from the API Directory, store the eBay OAuth credentials once, and your agent calls it.
- **Permission scoping:** This API exposes two flat read endpoints, /listing_violation and /listing_violation_summary, with no resource id in the URL path, so scope it by operation: you limit the agent to reading violation summaries or violation detail. Both are read-only detection calls, so the agent reports non-compliant listings and cannot change them.
- **Credential handling:** Your eBay OAuth seller credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'find eBay listings with compliance violations', and Jentic returns the matching /listing_violation or /listing_violation_summary operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **eBay Sell Account API** — Sell Account fixes the underlying policy when a Sell Compliance violation points at one.
- **eBay Sell Analytics API** — Sell Analytics tracks the resulting traffic loss when listings get demoted for compliance reasons.
- **eBay Browse API** — Browse shows the buyer-facing version of a listing flagged by Sell Compliance.

## FAQ

### What authentication does the Sell Compliance API use?

The Sell Compliance API uses OAuth 2.0 with the Authorization Code grant - both endpoints run in the seller's context, so a User access token is required. Through Jentic, the seller's refresh token sits in your Jentic One instance and the agent receives only a scoped access token for the sell.compliance.readonly scope.

### Can I see exactly which listings violate a policy with the Sell Compliance API?

Yes. /listing_violation returns one entry per offending listingId with the compliance_type, the violation reason, the violationStatus (AT_RISK or NON_COMPLIANT), and a recommendedAction string describing the fix. Filter the call by compliance_type to focus on a single rule set.

### What are the rate limits for the Sell Compliance API?

Sell Compliance falls under the Sell APIs user-context daily quota issued per application-and-user pair. Call /user_rate_limit on the Developer Analytics API and inspect the sell.compliance entry to read the live remaining count for the authenticated seller.

### How do I poll for at-risk listings through Jentic?

Search Jentic for 'list eBay listings with compliance violations', load GET /listing_violation, and execute it with filter 'violationStatus:AT_RISK'. Run it on a schedule (daily is typical). Install with pip install jentic. Get started with Jentic One, the self-hosted execution layer.

### What compliance_type values does the API report?

Common values include RESTRICTED_ITEM, MISSING_PHOTO, ITEM_SPECIFICS, PRODUCT_ADOPTION, CATEGORY_PLACEMENT, BRAND_PROTECTION, and BUYER_ABUSE_DEFLECTION. The full enumeration is published per marketplace and can change as eBay introduces new policy categories - check the response field rather than hard-coding the list.

### Does fixing a listing remove it from /listing_violation immediately?

Updates flow through eBay's compliance evaluation pipeline, which typically refreshes within minutes to hours after a Sell Inventory API update. Treat /listing_violation as eventually consistent - re-poll after the fix to confirm the violation has cleared.

### Can I limit what my agent is allowed to do with the eBay Sell Compliance API?

Yes. Because Jentic One is self-hosted, your own rules decide which of this API's operations the agent may call, and you scope it by operation across the two endpoints: reading violation summaries via /listing_violation_summary, reading per-listing violation detail via /listing_violation, or both. Both endpoints are read-only detection calls with no resource id in the path, so the agent can report non-compliant listings but cannot change or remove them. The eBay OAuth seller credentials are held by your own Jentic One instance and injected only at execution time, never exposed to the agent.
