For Agents
Process eBay orders post-checkout — read order detail, create shipping fulfillments with tracking, issue refunds, and manage buyer payment disputes. 15 endpoints, user-context only.
Get started with Sell Fulfillment API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"mark an eBay order shipped with tracking"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Sell Fulfillment API API.
Read placed-order detail including buyer, line items, shipping address, and totals
Create a shipping fulfillment with carrier and tracking number to mark an order as shipped
Issue a refund (full or partial) for an order via POST /order/{order_id}/issue_refund
Search payment disputes by status, date range, or order ID
GET STARTED
Use for: Get all unshipped orders from the last 7 days, Mark order ID 12-34567-89012 as shipped with USPS tracking number 9400111234567890123456, Issue a 50% refund for order 02-12345-67890 because the item arrived damaged, Search payment disputes with status OPEN on EBAY_US
Not supported: Does not handle listing creation, payment processing, or buyer-side search — use for post-checkout order processing, shipping, refunds, and payment-dispute resolution only.
The eBay Sell Fulfillment API is where sellers complete the post-checkout half of the transaction — read placed orders, create shipping fulfillments with tracking numbers, issue refunds, and manage payment disputes including evidence upload, contest, and accept actions. The 15 endpoints split across two resources: /order for the order lifecycle and /payment_dispute for buyer-initiated disputes. All operations require a User access token in the seller's context.
Contest, accept, or upload evidence for a buyer-initiated payment dispute
Read a payment dispute's activity log and evidence files for audit trails
Filter orders by status (UNSHIPPED, SHIPPED, COMPLETED) for fulfillment dashboards
Patterns agents use Sell Fulfillment API API for, with concrete tasks.
★ Shipping-tracking sync from a 3PL
When a 3PL warehouse ships an order, its system POSTs to /order/{orderId}/shipping_fulfillment with the carrier code, tracking number, and the line items included in that shipment. eBay then notifies the buyer with tracking and updates the order to SHIPPED. Multi-shipment orders are handled by issuing one shipping_fulfillment per package.
POST /order/{orderId}/shipping_fulfillment with carrierCode='USPS', trackingNumber='9400...', and the lineItems array shipped in this package
Damage refund automation
Customer-service tools handle damage-claim refunds by calling /order/{order_id}/issue_refund with the agreed amount and a reasonCode (typically BUYER_RETURN). The endpoint accepts partial refunds, so the tool can reproduce a 'keep the item, refund 50%' agreement without an agent manually navigating eBay's web UI.
POST /order/{order_id}/issue_refund with amount={value:25.00,currency:'USD'} and reasonCode=BUYER_RETURN
Payment dispute response workflow
When a buyer files a payment dispute, the seller's tool reads the dispute via GET /payment_dispute/{payment_dispute_id} plus its activity log and evidence files. If the seller has shipping evidence, the tool POSTs to /payment_dispute/{payment_dispute_id}/upload_evidence_file followed by /add_evidence and /contest. If the seller agrees with the buyer, /accept resolves the dispute in the buyer's favour without further action.
Get payment dispute 5004, upload the proof-of-delivery PDF via /upload_evidence_file, attach via /add_evidence, then call /contest with reason 'item delivered'
Order dashboard for a multi-channel SaaS
Multi-channel seller dashboards poll GET /order with filter 'orderfulfillmentstatus:{NOT_STARTED}' to surface unshipped eBay orders alongside the seller's other marketplaces. Drilling into an order calls GET /order/{orderId} for full detail, including the buyer's shipping address and any charity attribution on the line items.
Call /order with filter='orderfulfillmentstatus:{NOT_STARTED}' and limit=50, then for each id call /order/{orderId}
AI agent integration via Jentic
An AI agent that handles a seller's customer service searches Jentic for 'issue an eBay refund'. Jentic returns POST /order/{order_id}/issue_refund with its required schema. The agent loads the schema, executes the call with a User access token issued through Jentic's vault, and the refund posts to the buyer without the agent storing the seller's refresh token.
Use Jentic to search 'issue an eBay refund', load POST /order/{order_id}/issue_refund, and execute it with the order ID and refund amount
15 endpoints — the ebay sell fulfillment api is where sellers complete the post-checkout half of the transaction — read placed orders, create shipping fulfillments with tracking numbers, issue refunds, and manage payment disputes including evidence upload, contest, and accept actions.
METHOD
PATH
DESCRIPTION
/order
List orders, filterable by status, date, or buyer
/order/{orderId}
Get full detail for one order
/order/{orderId}/shipping_fulfillment
Create a shipping fulfillment record with tracking
/order/{order_id}/issue_refund
Issue a full or partial refund
/payment_dispute_summary
Search payment disputes by filter
/payment_dispute/{payment_dispute_id}
Get full detail for one payment dispute
/payment_dispute/{payment_dispute_id}/contest
Contest a payment dispute
/payment_dispute/{payment_dispute_id}/upload_evidence_file
Upload an evidence file for a payment dispute
/order
List orders, filterable by status, date, or buyer
/order/{orderId}
Get full detail for one order
/order/{orderId}/shipping_fulfillment
Create a shipping fulfillment record with tracking
/order/{order_id}/issue_refund
Issue a full or partial refund
/payment_dispute_summary
Search payment disputes by filter
Three things that make agents converge on Jentic-routed access.
Credential isolation
eBay OAuth 2.0 User refresh tokens are stored encrypted in the Jentic vault (MAXsystem). Agents receive a scoped access token for the sell.fulfillment scope only — the refresh token, client secret, and seller OAuth consent never enter the agent's context.
Intent-based discovery
Agents search by intent (e.g., 'mark eBay order shipped' or 'issue an eBay refund') and Jentic returns the matching /order or /payment_dispute operation with its parameter schema, so the agent calls the right endpoint without parsing eBay's seller documentation.
Time to first call
Direct integration: 5-7 days for OAuth Authorization Code flow plus the order, fulfillment, and dispute data models including evidence-file upload. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
eBay Sell Account API
Sell Account configures the fulfillment policy that Sell Fulfillment orders inherit.
Use Sell Account to set up the fulfillment policy once, then use Sell Fulfillment to action each order against it.
eBay Sell Feed API
Sell Feed is the bulk-export equivalent for orders; Sell Fulfillment is the per-order surface.
Use Sell Fulfillment for real-time, single-order operations. Switch to Sell Feed when you need to bulk-export thousands of orders to an ERP.
eBay Sell Analytics API
Sell Analytics surfaces the customer-service metrics that Sell Fulfillment behaviour drives.
When Sell Analytics flags a rising defect rate, drill into Sell Fulfillment for the underlying orders, refunds, and disputes.
Specific to using Sell Fulfillment API API through Jentic.
What authentication does the Sell Fulfillment API use?
The Sell Fulfillment API uses OAuth 2.0 with the Authorization Code grant — every endpoint operates in the seller's context, so a User access token is required. Through Jentic, the seller's refresh token sits in the MAXsystem vault and the agent receives a scoped access token for the sell.fulfillment scope only.
Can I issue a partial refund through the Sell Fulfillment API?
Yes. POST /order/{order_id}/issue_refund with an amount object specifying the refund value and currency, plus a reasonCode (e.g., BUYER_RETURN). Pass less than the order total to issue a partial refund. The endpoint requires an explicit reason — there is no zero-context refund path.
What are the rate limits for the Sell Fulfillment API?
Sell Fulfillment 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.fulfillment entry to read the live remaining count for the authenticated seller.
How do I mark an order shipped through Jentic?
Search Jentic for 'mark eBay order shipped with tracking', load POST /order/{orderId}/shipping_fulfillment, and execute it with carrierCode, trackingNumber, and the lineItems shipped. Install with pip install jentic. Sign up at https://app.jentic.com/sign-up.
Can I respond to payment disputes programmatically?
Yes. /payment_dispute exposes /contest, /accept, /upload_evidence_file, /add_evidence, and /update_evidence so a seller's tool can run the entire response workflow — pull the dispute, upload proof of delivery or refund, attach it as evidence, and contest — all without using the eBay web UI.
How do I find unshipped orders only?
Call GET /order with filter='orderfulfillmentstatus:{NOT_STARTED}' to return orders that have no shipping fulfillment yet. Combine with creationdate filters to limit to recent windows for dashboard refresh jobs.
/payment_dispute/{payment_dispute_id}
Get full detail for one payment dispute
/payment_dispute/{payment_dispute_id}/contest
Contest a payment dispute
/payment_dispute/{payment_dispute_id}/upload_evidence_file
Upload an evidence file for a payment dispute