# \[ViewStateSync\] State failed with code 400

**URL:** <https://forums.plex.tv/t/viewstatesync-state-failed-with-code-400/936564>\
**Category:** Plex Media Server\
**Tags:** server-docker\
**Created:** [February 21, 2026, 2:19am UTC](https://forums.plex.tv/t/viewstatesync-state-failed-with-code-400/936564 "2026-02-21T02:19:35Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![IainND](https://avatars.discourse-cdn.com/v4/letter/i/9e8a1a/32.png) [@IainND](https://forums.plex.tv/u/IainND)\
**Post date:** [February 21, 2026, 2:19am UTC](https://forums.plex.tv/t/viewstatesync-state-failed-with-code-400/936564/1 "2026-02-21T02:19:35Z")

</div>

Server Version#: 1.43.0.10492  
Player Version#: All

My watched state sync has been busted for a bit over a week now. Happening for any client, but only on one server. Media I’ve watched on server A shows as unwatched on my profile activity and server B, but watching on server B will show as watched on A and my profile. Manually marking a movie I saw at the cinema shows the activity in my profile.

Debug logs:

> Feb 21, 2026 00:47:15.517 [132505540864824] DEBUG - [Req#25927d/ViewStateSync] Starting  
> Feb 21, 2026 00:47:15.517 [132505540864824] DEBUG - [Req#25927d/ViewStateSync] Got token for user 1 (IainND)  
> Feb 21, 2026 00:47:15.517 [132505540864824] DEBUG - [Req#25927d/ViewStateSync/HCl#395b] HTTP requesting GET [https://plex.tv/api/v2/server/users/677177/view\_state\_sync](https://plex.tv/api/v2/server/users/677177/view_state_sync)  
> Feb 21, 2026 00:47:15.787 [132505810225976] DEBUG - [HttpClient/HCl#395a] HTTP/2.0 (0.3s) 200 response from GET [https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage.tmdb.org%2Ft%2Fp%2Foriginal%2F2P5H8cxXcybrs9LtTLRhLjhpwGN.jpg](https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage.tmdb.org%2Ft%2Fp%2Foriginal%2F2P5H8cxXcybrs9LtTLRhLjhpwGN.jpg) (reused)  
> Feb 21, 2026 00:47:15.793 [132505594379064] DEBUG - [UltraBlurProcessor] Generated for item 100111 in 302 ms.  
> Feb 21, 2026 00:47:15.797 [132505580260152] DEBUG - [HCl#395c] HTTP requesting GET [https://image.tmdb.org/t/p/original/2P5H8cxXcybrs9LtTLRhLjhpwGN.jpg](https://image.tmdb.org/t/p/original/2P5H8cxXcybrs9LtTLRhLjhpwGN.jpg)  
> Feb 21, 2026 00:47:16.887 [132505810225976] DEBUG - [HttpClient/HCl#395b] HTTP/1.1 (1.4s) 200 response from GET [https://plex.tv/api/v2/server/users/677177/view\_state\_sync](https://plex.tv/api/v2/server/users/677177/view_state_sync)  
> Feb 21, 2026 00:47:16.888 [132505588050744] DEBUG - [Req#25927d/ViewStateSync] Starting for user 1  
> Feb 21, 2026 00:47:16.888 [132505588050744] DEBUG - [Req#25927d/ViewStateSync] Sending state  
> Feb 21, 2026 00:47:16.890 [132505588050744] DEBUG - [Req#25927d/ViewStateSync] 87 states to send  
> Feb 21, 2026 00:47:16.891 [132505588050744] DEBUG - [Req#25927d/ViewStateSync/HCl#395d] HTTP requesting POST [https://scrobbles.plex.tv/state](https://scrobbles.plex.tv/state)  
> Feb 21, 2026 00:47:17.586 [132505552886584] DEBUG - Library Updater: Requested that section 1 be updated, force=0, subdir=/data/media/tv/Powerless/Season 01 iTunes=0  
> Feb 21, 2026 00:47:17.586 [132505552886584] DEBUG - Library Updater: Queueing section 1  
> Feb 21, 2026 00:47:17.586 [132505717205816] DEBUG - Activity: registered new activity f5fa7f90-6134-4d0b-8eac-41bb853c3f12 - “Scanning”  
> Feb 21, 2026 00:47:17.587 [132505717205816] DEBUG - Scanning section 1  
> Feb 21, 2026 00:47:17.587 [132505717205816] DEBUG - Activity: updated activity f5fa7f90-6134-4d0b-8eac-41bb853c3f12 - completed 0.0% - Scanning TV  
> Feb 21, 2026 00:47:17.587 [132505717205816] DEBUG - Job was already killed, not killing again.  
> Feb 21, 2026 00:47:17.600 [132505810225976] DEBUG - [HttpClient/HCl#395d] HTTP/2.0 (0.7s) 400 response from POST [https://scrobbles.plex.tv/state](https://scrobbles.plex.tv/state)  
> Feb 21, 2026 00:47:17.600 [132505588050744] DEBUG - [Req#25927d/ViewStateSync] State failed with code 400  
> Feb 21, 2026 00:47:17.602 [132505588050744] DEBUG - [Req#25927d/ViewStateSync] Exiting view sync due permanent error

My guess is it’s a problem with Sportarr’s custom metadata provider. Verbose log says this is the first item it’s trying to send:

> {“guid”:“tv.plex.agents.custom.sportarr.sports://season/sportarr-season-4711-2026”,“viewedAt”:1770855537000,“viewState”:“complete”}

But removing the library that uses this provider hasn’t helped.

Issue persists after restarting the container, rebooting, or turning the sync off and on.

---

<div class="post-metadata">

**Author:** ![IainND](https://avatars.discourse-cdn.com/v4/letter/i/9e8a1a/32.png) [@IainND](https://forums.plex.tv/u/IainND)\
**Post date:** [February 21, 2026, 9:10am UTC](https://forums.plex.tv/t/viewstatesync-state-failed-with-code-400/936564/2 "2026-02-21T09:10:58Z")

</div>

Also sticks around when I fully remove the metadata agent and restart the container.

I’ve manually checked all the non-Sportarr items, they’re all valid Plex entries, and the issue sticks around after I manually mark them as watched directly, not through any server.

---

<div class="post-metadata">

**Author:** ![IainND](https://avatars.discourse-cdn.com/v4/letter/i/9e8a1a/32.png) [@IainND](https://forums.plex.tv/u/IainND)\
**Post date:** [February 23, 2026, 4:04am UTC](https://forums.plex.tv/t/viewstatesync-state-failed-with-code-400/936564/3 "2026-02-23T04:04:02Z")

</div>

Number if items to sync has been going up and down, so something’s getting through.

Really would appreciate some advice. Does anybody know how to force sync items through the API?

Latest list of items is:

```auto
[ViewStateSync]
Sending:
{"items":
	[
		{
			"guid":"plex://episode/5d9c1276705e7a001e75f09a",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c1276705e7a001e75f0ba",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c1277cb3ffa001f1d97ef",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12773c3f87001f3bf8f5",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12773c3f87001f3bf8e5",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12763c3f87001f3bf8e1",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12773c3f87001f3bf8ed",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12773c3f87001f3bf8f1",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12763c3f87001f3bf8dd",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12773c3f87001f3bf8fd",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12773c3f87001f3bf8e9",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12770aaccd001f914b5a",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12773c3f87001f3bf8f9",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12770aaccd001f914b76",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12770aaccd001f914b62",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12770aaccd001f914b7a",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12770aaccd001f914b6a",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12770aaccd001f914b66",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12770aaccd001f914b5e",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12770aaccd001f914b72",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12770aaccd001f914b6e",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12772df347001e41c3a9",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12772df347001e41c3a5",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c1277ba2e21001f1b3793",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12772df347001e41c3b5",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c12772df347001e41c3b9",
			"viewedAt":1771391783000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/65dcd1f7883785f5c63798ec",
			"viewedAt":1771394371000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/65dcd1f7883785f5c63798d2",
			"viewedAt":1771395639000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/65dcd1f6883785f5c63798b9",
			"viewedAt":1771396998000,
			"viewState":"complete"
		},
		{
			"guid":"plex://movie/5d7768337e9a3c0020c6c45b",
			"viewedAt":1771582996000,
			"viewState":"complete"
		},
		{
			"guid":"plex://movie/5d77686f51dd69001fe0c1a7",
			"viewedAt":1771584837000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/621e354a49b69d3844880c1c",
			"viewedAt":1771585161000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/65dcd1f5883785f5c637989f",
			"viewedAt":1771636463000,
			"viewState":"complete"
		},
		{
			"guid":"plex://movie/5d7768325af944001f1f9433",
			"viewedAt":1771672920000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/65dcd1f4883785f5c6379883",
			"viewedAt":1771672932000,
			"viewState":"complete"
		},
		{
			"guid":"plex://season/681b0807903c3546fdcf6007",
			"viewedAt":1771674428000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/681b0808903c3546fdcf6008",
			"viewedAt":1771674428000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/681b0808903c3546fdcf6009",
			"viewedAt":1771674428000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/681b0809903c3546fdcf600a",
			"viewedAt":1771674428000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/681b0809903c3546fdcf600b",
			"viewedAt":1771674428000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/681b0809903c3546fdcf600c",
			"viewedAt":1771674428000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/681b0809903c3546fdcf600d",
			"viewedAt":1771674428000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/681b0809903c3546fdcf600e",
			"viewedAt":1771674428000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/681b0809903c3546fdcf600f",
			"viewedAt":1771674428000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/68400e6ff23680ca9a4b3e4a",
			"viewedAt":1771674428000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/68400e6ff23680ca9a4b3e4c",
			"viewedAt":1771674428000,
			"viewState":"complete",
			"isBulk":true
		},
		{
			"guid":"plex://episode/5d9c0c1e2df347001e3d377e",
			"viewedAt":1771674542000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/5d9c0c1e4eefaa001f5fec0e",
			"viewedAt":1771674551000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/603412d5e83abe002c120a1b",
			"viewedAt":1771674559000,
			"viewState":"complete"
		},
		{
			"guid":"tv.plex.agents.custom.sportarr.sports://season/sportarr-season-4711-2026",
			"viewedAt":1771712633000,
			"viewState":"unplayed"
		},
		{
			"guid":"tv.plex.agents.custom.sportarr.sports://episode/sportarr-episode-2407277",
			"viewedAt":1771712633000,
			"viewState":"unplayed",
			"isBulk":true
		},
		{
			"guid":"tv.plex.agents.custom.sportarr.sports://episode/sportarr-episode-2407278",
			"viewedAt":1771712633000,
			"viewState":"unplayed",
			"isBulk":true
		},
		{
			"guid":"plex://episode/65dcd1f3883785f5c63797f9",
			"viewedAt":1771717064000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/65dcd1f3883785f5c63797dd",
			"viewedAt":1771718466000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/65dcd1f2883785f5c63797c5",
			"viewedAt":1771727396000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/5d9c0c1e2192ba001f333ef2",
			"viewedAt":1771747416000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/5d9c0c1e2192ba001f333ed7",
			"viewedAt":1771748147000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/65dcd1f1883785f5c63797a4",
			"viewedAt":1771749180000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/697db66cb033abc43e3df476",
			"viewedAt":1771231015000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/698f0cf571fa3c5c66b71d2d",
			"viewedAt":1771232300000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/698f0cf571fa3c5c66b71d2e",
			"viewedAt":1771401075000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/698f0cf571fa3c5c66b71d31",
			"viewedAt":1771577225000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/698f0cf571fa3c5c66b71d2f",
			"viewedAt":1771574714000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/698f0cf571fa3c5c66b71d30",
			"viewedAt":1771575936000,
			"viewState":"complete"
		},
		{
			"guid":"plex://episode/69977c6080d8cdf970b1ede5",
			"viewedAt":1771744598000,
			"viewState":"complete"
		}
	],
	"user":677177
}

```

---

<div class="post-metadata">

**Author:** ![IainND](https://avatars.discourse-cdn.com/v4/letter/i/9e8a1a/32.png) [@IainND](https://forums.plex.tv/u/IainND)\
**Post date:** [February 24, 2026, 1:33am UTC](https://forums.plex.tv/t/viewstatesync-state-failed-with-code-400/936564/4 "2026-02-24T01:33:16Z")

</div>

I fixed it.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/plex/original/3X/2/a/2acb9765406f63293d357b4ec509ec39aa28f2ad.png) [@system](https://forums.plex.tv/u/system)\
**Post date:** [May 25, 2026, 1:33am UTC](https://forums.plex.tv/t/viewstatesync-state-failed-with-code-400/936564/5 "2026-05-25T01:33:55Z")

</div>

Closed on May 25, 2026, 1:33am UTC

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
