Migrating to Partner Center Reconciliation API v2
The synchronous v1 API is being retired on March 15, 2026. Here's what changed, why async v2 is significantly better, and how Tagydes handles this for you automatically.
What's being retired
Microsoft's synchronous GET /v1/invoices/unbilled/lineitems endpoint
is permanently retired on March 15, 2026. Any integration still calling v1 will start receiving errors.
The old API was synchronous — it held the connection open while building the full reconciliation dataset, which could take 15+ hours for large partners. Timeouts were common, partial results were silently dropped, and retries caused duplicate processing.
What v2 does differently
The new API is fully async. You submit a job request, poll for completion, and download line items in paginated chunks. This approach is fundamentally more reliable:
- No connection timeouts — jobs run server-side, you just poll status.
- Faster results — Microsoft targets ~15 minutes instead of 15+ hours.
- Reliable pagination — results are chunked, no silent truncation.
- Idempotent job IDs — safe to poll and retry without double-counting.
The v2 flow
A typical reconciliation cycle with the v2 API looks like this:
1. POST /v1/invoices/unbilled/lineitems/export → returns jobId
2. GET /v1/invoices/unbilled/lineitems/export/{jobId} → poll until status = "completed"
3. GET /v1/invoices/unbilled/lineitems/export/{jobId}/items?pageSize=2000 → paginate results
4. Store line items, match against subscription records, compute totals.
What Tagydes does
Tagydes migrated to the async v2 API ahead of the deadline. The reconciliation pipeline runs automatically on a schedule: job submission, polling, paginated download, and matching against your subscription and pricing records — all without manual intervention.
- Already running v2 async API — no action required from you.
- Recon results matched against your pricing rules and margin settings.
- Discrepancies flagged for review before invoices are generated.
- Full audit trail: raw line items stored alongside computed invoice lines.
If you have custom integrations
If you built your own reconciliation tooling on top of the v1 API, you need to migrate before March 15. The key changes are: switch from synchronous GET to async POST + poll, update your parser for the new response schema (field names changed in several places), and implement proper pagination handling.
If you use Tagydes for reconciliation, you're already covered. If you have custom tooling running alongside Tagydes, check whether it calls v1 and update it before the deadline.
Let Tagydes handle reconciliation for you
Async v2, margin matching, invoice generation, and discrepancy flagging — all automated. Start a free trial and connect your Partner Center sandbox to see it in action.
Back to News