When try to modify the People on an item the server throws a bad request when it shouldn't #6871

Closed
opened 2026-02-07 04:13:18 +03:00 by OVERLORD · 8 comments
Owner

Originally created by @FLKS07 on GitHub (Apr 3, 2025).

Description of the bug

I'm trying to use the jellyfin api to add the People in the items metadata automactly.
When I do a post request to make that effect the server throws a a bad request error to the client.
I'm using the jellyfin api key instead of user and i'm not using the C# sdk.

Here is the json content of the POST request:

{
  "Name": "Philodendron",
  "OriginalTitle": "",
  "ServerId": "5b173799db974b6ca661f4828f69abc6",
  "Id": "599f4ec5d1478631bd86aa8fa1602f3b",
  "Type": "Audio",
  "Artists": [
    "Matt Block; Morton Block; Caity Gyorgy"
  ],
  "People": [
    {
      "Name": "Matt Block",
      "Type": "Artist"
    },
    {
      "Name": "Morton Block",
      "Type": "Artist"
    },
    {
      "Name": "Caity Gyorgy",
      "Type": "Artist"
    }
  ]
}

Thank you for the time.

Reproduction steps

  1. Post to the /Items/{itemid}.
  2. Receive bad request error to the client.
  3. Nothing was changed in the server.

What is the current bug behavior?

Apperantly the people it's added to the server but gives error messages in the logs and to the client.

What is the expected correct behavior?

The people tab on the metadata item, should be filled acordingly to the json I provided

Jellyfin Server version

10.10.0+

Specify commit id

No response

Specify unstable release number

No response

Specify version number

10.10.6

Specify the build version

10.10.6

Environment

- OS:Ubuntu 24.04 Container
- Linux Kernel: 6.8.12-4-pve
- Virtualization: Proxmox container

Jellyfin logs

Here are the logs of the server:

Apr 03 18:23:34 jelly jellyfin[7783]:    at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
Apr 03 18:27:55 jelly jellyfin[7783]: [18:27:55] [ERR] Error processing request. URL POST /Items/599f4ec5d1478631bd86aa8fa1602f3b.
Apr 03 18:27:55 jelly jellyfin[7783]: System.ArgumentNullException: Value cannot be null. (Parameter 'second')
Apr 03 18:27:55 jelly jellyfin[7783]:    at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Jellyfin.Api.Controllers.ItemUpdateController.UpdateItem(BaseItemDto request, BaseItem item)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Jellyfin.Api.Controllers.ItemUpdateController.UpdateItem(Guid itemId, BaseItemDto request)
Apr 03 18:27:55 jelly jellyfin[7783]:    at lambda_method1408(Closure, Object)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
Apr 03 18:27:55 jelly jellyfin[7783]: --- End of stack trace from previous location ---
Apr 03 18:27:55 jelly jellyfin[7783]:    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
Apr 03 18:27:55 jelly jellyfin[7783]: --- End of stack trace from previous location ---
Apr 03 18:27:55 jelly jellyfin[7783]:    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Jellyfin.Api.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Jellyfin.Api.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Jellyfin.Api.Middleware.IPBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Jellyfin.Api.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Jellyfin.Api.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Jellyfin.Api.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Jellyfin.Api.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
Apr 03 18:27:55 jelly jellyfin[7783]:    at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context)

FFmpeg logs


Client / Browser logs

Unhandled exception. System.Exception: Upload failed: BadRequest
Error processing request.
at JellyApi.PutPeopleMetadataInItem(String itemId, Item itemUpdate) in C:\Users\Flavio\Documents\Scripts\jellyfinApi\src\jellyApi\jellyApi.cs:line 109
at Program.Main() in C:\Users\Flavio\Documents\Scripts\jellyfinApi\Program.cs:line 46
at Program.

()

Relevant screenshots or videos

No response

Additional information

No response

Originally created by @FLKS07 on GitHub (Apr 3, 2025). ### Description of the bug I'm trying to use the jellyfin api to add the People in the items metadata automactly. When I do a post request to make that effect the server throws a a bad request error to the client. I'm using the jellyfin api key instead of user and i'm not using the C# sdk. Here is the json content of the POST request: ``` { "Name": "Philodendron", "OriginalTitle": "", "ServerId": "5b173799db974b6ca661f4828f69abc6", "Id": "599f4ec5d1478631bd86aa8fa1602f3b", "Type": "Audio", "Artists": [ "Matt Block; Morton Block; Caity Gyorgy" ], "People": [ { "Name": "Matt Block", "Type": "Artist" }, { "Name": "Morton Block", "Type": "Artist" }, { "Name": "Caity Gyorgy", "Type": "Artist" } ] } ``` Thank you for the time. ### Reproduction steps 1. Post to the /Items/{itemid}. 2. Receive bad request error to the client. 3. Nothing was changed in the server. ### What is the current _bug_ behavior? Apperantly the people it's added to the server but gives error messages in the logs and to the client. ### What is the expected _correct_ behavior? The people tab on the metadata item, should be filled acordingly to the json I provided ### Jellyfin Server version 10.10.0+ ### Specify commit id _No response_ ### Specify unstable release number _No response_ ### Specify version number 10.10.6 ### Specify the build version 10.10.6 ### Environment ```markdown - OS:Ubuntu 24.04 Container - Linux Kernel: 6.8.12-4-pve - Virtualization: Proxmox container ``` ### Jellyfin logs ```shell Here are the logs of the server: Apr 03 18:23:34 jelly jellyfin[7783]: at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context) Apr 03 18:27:55 jelly jellyfin[7783]: [18:27:55] [ERR] Error processing request. URL POST /Items/599f4ec5d1478631bd86aa8fa1602f3b. Apr 03 18:27:55 jelly jellyfin[7783]: System.ArgumentNullException: Value cannot be null. (Parameter 'second') Apr 03 18:27:55 jelly jellyfin[7783]: at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument) Apr 03 18:27:55 jelly jellyfin[7783]: at Jellyfin.Api.Controllers.ItemUpdateController.UpdateItem(BaseItemDto request, BaseItem item) Apr 03 18:27:55 jelly jellyfin[7783]: at Jellyfin.Api.Controllers.ItemUpdateController.UpdateItem(Guid itemId, BaseItemDto request) Apr 03 18:27:55 jelly jellyfin[7783]: at lambda_method1408(Closure, Object) Apr 03 18:27:55 jelly jellyfin[7783]: at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) Apr 03 18:27:55 jelly jellyfin[7783]: at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask) Apr 03 18:27:55 jelly jellyfin[7783]: at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) Apr 03 18:27:55 jelly jellyfin[7783]: at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) Apr 03 18:27:55 jelly jellyfin[7783]: at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) Apr 03 18:27:55 jelly jellyfin[7783]: at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync() Apr 03 18:27:55 jelly jellyfin[7783]: --- End of stack trace from previous location --- Apr 03 18:27:55 jelly jellyfin[7783]: at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) Apr 03 18:27:55 jelly jellyfin[7783]: at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context) Apr 03 18:27:55 jelly jellyfin[7783]: at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) Apr 03 18:27:55 jelly jellyfin[7783]: at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync() Apr 03 18:27:55 jelly jellyfin[7783]: --- End of stack trace from previous location --- Apr 03 18:27:55 jelly jellyfin[7783]: at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) Apr 03 18:27:55 jelly jellyfin[7783]: at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) Apr 03 18:27:55 jelly jellyfin[7783]: at Jellyfin.Api.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager) Apr 03 18:27:55 jelly jellyfin[7783]: at Jellyfin.Api.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager) Apr 03 18:27:55 jelly jellyfin[7783]: at Jellyfin.Api.Middleware.IPBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager) Apr 03 18:27:55 jelly jellyfin[7783]: at Jellyfin.Api.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager) Apr 03 18:27:55 jelly jellyfin[7783]: at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) Apr 03 18:27:55 jelly jellyfin[7783]: at Jellyfin.Api.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext) Apr 03 18:27:55 jelly jellyfin[7783]: at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext) Apr 03 18:27:55 jelly jellyfin[7783]: at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext) Apr 03 18:27:55 jelly jellyfin[7783]: at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) Apr 03 18:27:55 jelly jellyfin[7783]: at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) Apr 03 18:27:55 jelly jellyfin[7783]: at Jellyfin.Api.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext) Apr 03 18:27:55 jelly jellyfin[7783]: at Jellyfin.Api.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext) Apr 03 18:27:55 jelly jellyfin[7783]: at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager) Apr 03 18:27:55 jelly jellyfin[7783]: at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context) ``` ### FFmpeg logs ```shell ``` ### Client / Browser logs Unhandled exception. System.Exception: Upload failed: BadRequest Error processing request. at JellyApi.PutPeopleMetadataInItem(String itemId, Item itemUpdate) in C:\Users\Flavio\Documents\Scripts\jellyfinApi\src\jellyApi\jellyApi.cs:line 109 at Program.Main() in C:\Users\Flavio\Documents\Scripts\jellyfinApi\Program.cs:line 46 at Program.<Main>() ### Relevant screenshots or videos _No response_ ### Additional information _No response_
OVERLORD added the bugstale labels 2026-02-07 04:13:18 +03:00
Author
Owner

@GerritKuilder commented on GitHub (Apr 4, 2025):

Ah, thought I was going mad.... Having the same error when trying to update an item...

Version 10.10.6

[2025-04-04 09:00:50.295 +00:00] [ERR] [11] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL "POST" "/Items/03c8a8dcc6ceb335635ef138d44d6c07".
System.ArgumentNullException: Value cannot be null. (Parameter 'second')
   at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
   at System.Linq.Enumerable.Except[TSource](IEnumerable`1 first, IEnumerable`1 second)
   at Jellyfin.Api.Controllers.ItemUpdateController.UpdateItem(BaseItemDto request, BaseItem item)
   at Jellyfin.Api.Controllers.ItemUpdateController.UpdateItem(Guid itemId, BaseItemDto request)
   at lambda_method1342(Closure, Object)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Jellyfin.Api.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
   at Jellyfin.Api.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
   at Jellyfin.Api.Middleware.IPBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
   at Jellyfin.Api.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Api.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Api.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
   at Jellyfin.Api.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
   at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
   at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
@GerritKuilder commented on GitHub (Apr 4, 2025): Ah, thought I was going mad.... Having the same error when trying to update an item... Version 10.10.6 ``` [2025-04-04 09:00:50.295 +00:00] [ERR] [11] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL "POST" "/Items/03c8a8dcc6ceb335635ef138d44d6c07". System.ArgumentNullException: Value cannot be null. (Parameter 'second') at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument) at System.Linq.Enumerable.Except[TSource](IEnumerable`1 first, IEnumerable`1 second) at Jellyfin.Api.Controllers.ItemUpdateController.UpdateItem(BaseItemDto request, BaseItem item) at Jellyfin.Api.Controllers.ItemUpdateController.UpdateItem(Guid itemId, BaseItemDto request) at lambda_method1342(Closure, Object) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) at Jellyfin.Api.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager) at Jellyfin.Api.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager) at Jellyfin.Api.Middleware.IPBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager) at Jellyfin.Api.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager) at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) at Jellyfin.Api.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext) at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext) at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext) at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) at Jellyfin.Api.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext) at Jellyfin.Api.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext) at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context) at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager) at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context) ```
Author
Owner

@FLKS07 commented on GitHub (Apr 4, 2025):

I want to say that I tried with different authentication methods (different Authentication header) and had the same results. What is interesting is the fact that if i do with the browser there is no problem.

@FLKS07 commented on GitHub (Apr 4, 2025): I want to say that I tried with different authentication methods (different Authentication header) and had the same results. What is interesting is the fact that if i do with the browser there is no problem.
Author
Owner

@GerritKuilder commented on GitHub (Apr 5, 2025):

As far as chatgpt and I could see is that the error is generated on 'second', which points to the data submitted.
My call is with a javascript axios call: Sending JSON, not stringified.

 const response = await axios.post(url, albumData, {
      headers: {
        "X-Emby-Token": API_KEY,
     //   "Token": API_KEY,
        "Content-Type": "application/json"
      }
    });
@GerritKuilder commented on GitHub (Apr 5, 2025): As far as chatgpt and I could see is that the error is generated on 'second', which points to the data submitted. My call is with a javascript axios call: Sending JSON, not stringified. ``` const response = await axios.post(url, albumData, { headers: { "X-Emby-Token": API_KEY, // "Token": API_KEY, "Content-Type": "application/json" } }); ```
Author
Owner

@NatiSayada commented on GitHub (May 9, 2025):

same here for trying to update items:

System.ArgumentNullException: Value cannot be null. (Parameter 'second')
   at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
   at System.Linq.Enumerable.Except[TSource](IEnumerable`1 first, IEnumerable`1 second)
   at Jellyfin.Api.Controllers.ItemUpdateController.UpdateItem(BaseItemDto request, BaseItem item)
   at Jellyfin.Api.Controllers.ItemUpdateController.UpdateItem(Guid itemId, BaseItemDto request)
   at lambda_method1882(Closure, Object)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Jellyfin.Api.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
   at Jellyfin.Api.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
   at Jellyfin.Api.Middleware.IPBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
   at Jellyfin.Api.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Api.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Api.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
   at Jellyfin.Api.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
   at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
   at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
@NatiSayada commented on GitHub (May 9, 2025): same here for trying to update items: ``` System.ArgumentNullException: Value cannot be null. (Parameter 'second') at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument) at System.Linq.Enumerable.Except[TSource](IEnumerable`1 first, IEnumerable`1 second) at Jellyfin.Api.Controllers.ItemUpdateController.UpdateItem(BaseItemDto request, BaseItem item) at Jellyfin.Api.Controllers.ItemUpdateController.UpdateItem(Guid itemId, BaseItemDto request) at lambda_method1882(Closure, Object) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) at Jellyfin.Api.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager) at Jellyfin.Api.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager) at Jellyfin.Api.Middleware.IPBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager) at Jellyfin.Api.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager) at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) at Jellyfin.Api.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext) at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext) at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext) at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) at Jellyfin.Api.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext) at Jellyfin.Api.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext) at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context) at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager) at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context) ```
Author
Owner

@moogar0880 commented on GitHub (May 17, 2025):

I was also hitting this issue. I believe that this error is caused by the fact that there's no null-ness check on the tags before this line is hit.

I was able to stop these errors by always including the Tags field in my API requests, even when it was just an empty list

@moogar0880 commented on GitHub (May 17, 2025): I was also hitting this issue. I believe that this error is caused by the fact that there's no null-ness check on the tags before [this line](https://github.com/jellyfin/jellyfin/blob/29fc7711a19f941211cfca9fea586175d5611dd3/Jellyfin.Api/Controllers/ItemUpdateController.cs#L285) is hit. I was able to stop these errors by always including the `Tags` field in my API requests, even when it was just an empty list
Author
Owner

@FrenchGithubUser commented on GitHub (Jul 3, 2025):

I was also hitting this issue. I believe that this error is caused by the fact that there's no null-ness check on the tags before this line is hit.

I was able to stop these errors by always including the Tags field in my API requests, even when it was just an empty list

After adding this property, I'm getting Value cannot be null. (Parameter 'source')

Then the item's page loads indefinitely and I need to "refresh metadata" in order for it to be accessible again.

Here is what I'm trying to do for anyone interested: https://github.com/FrenchGithubUser/JellyfinMusicMetadataOverride

@FrenchGithubUser commented on GitHub (Jul 3, 2025): > I was also hitting this issue. I believe that this error is caused by the fact that there's no null-ness check on the tags before [this line](https://github.com/jellyfin/jellyfin/blob/29fc7711a19f941211cfca9fea586175d5611dd3/Jellyfin.Api/Controllers/ItemUpdateController.cs#L285) is hit. > > I was able to stop these errors by always including the `Tags` field in my API requests, even when it was just an empty list After adding this property, I'm getting `Value cannot be null. (Parameter 'source')` Then the item's page loads indefinitely and I need to "refresh metadata" in order for it to be accessible again. Here is what I'm trying to do for anyone interested: https://github.com/FrenchGithubUser/JellyfinMusicMetadataOverride
Author
Owner

@jellyfin-bot commented on GitHub (Nov 1, 2025):

This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs.

If you have any questions you can use one of several ways to contact us.

@jellyfin-bot commented on GitHub (Nov 1, 2025): This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs. If you have any questions you can use one of several ways to [contact us](https://jellyfin.org/contact).
Author
Owner

@jellyfin-bot commented on GitHub (Nov 23, 2025):

This issue was closed due to inactivity.

@jellyfin-bot commented on GitHub (Nov 23, 2025): This issue was closed due to inactivity.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#6871