POST /sync/history returns 500 Internal Server Error (empty body) for valid requests

Hi,

I’m getting a 500 Internal Server Error with an empty response body when calling POST /sync/history to mark episodes as watched, using a valid OAuth token and a minimal, spec-compliant payload.

Example request:
POST https://api.trakt.tv/sync/history
Headers: trakt-api-version: 2, trakt-api-key: , Authorization: Bearer , Content-Type: application/json

Body:
{"shows":[{"ids":{"trakt":110492},"seasons":[{"number":2,"episodes":[{"number":2}]}]}]}

Response:
Status: 500 Internal Server Error
Body: (empty)
Header x-error-message: “Internal server error. Please open a support issue and include your full API request and response, including all headers.”
Request ID (from an earlier attempt with the same show): 07550fe4-1686-434b-b8b3-8ccc8ca9784b

This happens consistently for every show/episode I try (tested with several different shows, e.g. trakt id 110492 season 2 episode 2, and trakt id 256827 season 1 episode 8) — not specific to one show. GET requests (e.g. /sync/watched/shows, /sync/watchlist/shows) work fine with the same token. Marking the same episode as watched directly on the trakt.tv website works without issue, so this seems isolated to the public API’s /sync/history endpoint for my account.

Could you look into this? Happy to provide more request IDs or details if needed.

Thanks!

I will have a potential fix for this in about 30 minutes. Please try again and let me know if it works.

Hi, thanks for looking into it — I just retested and I’m still getting the same 500 error.

New request ID: 8f2f232c-4493-4117-af41-363b18548db5
Timestamp: 2026-07-22, just now
Same request as before:

POST https://api.trakt.tv/sync/history
Body: {"shows":[{"ids":{"trakt":110492},"seasons":[{"number":2,"episodes":[{"number":2}]}]}]}

Response:
Status: 500
x-error-message: “Internal server error. Please open a support issue and include your full API request and response, including all headers.”
Body: (empty)

Let me know if you need me to test anything else or provide more request IDs.