{"record":{"id":"c9fda15758495178","repo":"bitwarden/server","slug":"you-can-only-move-up-to-500-items-at-a-time","errorCode":null,"errorMessage":"You can only move up to 500 items at a time.","messagePattern":"You can only move up to 500 items at a time\\.","errorType":"http","errorClass":"BadRequestException","httpStatus":400,"severity":"error","filePath":"src/Api/Vault/Controllers/CiphersController.cs","lineNumber":1211,"sourceCode":"\n        if (model.OrganizationId == default || !await CanDeleteOrRestoreCipherAsAdminAsync(model.OrganizationId, cipherIdsToRestore))\n        {\n            throw new NotFoundException();\n        }\n\n        var userId = _userService.GetProperUserId(User).Value;\n\n        var restoredCiphers = await _cipherService.RestoreManyAsync(cipherIdsToRestore, userId, model.OrganizationId, true);\n        var responses = restoredCiphers.Select(c => new CipherMiniResponseModel(c, _globalSettings, c.OrganizationUseTotp));\n        return new ListResponseModel<CipherMiniResponseModel>(responses);\n    }\n\n    [HttpPut(\"move\")]\n    public async Task MoveMany([FromBody] CipherBulkMoveRequestModel model)\n    {\n        if (!_globalSettings.SelfHosted && model.Ids.Count() > 500)\n        {\n            throw new BadRequestException(\"You can only move up to 500 items at a time.\");\n        }\n\n        var userId = _userService.GetProperUserId(User).Value;\n        await _cipherService.MoveManyAsync(model.Ids.Select(i => new Guid(i)),\n            string.IsNullOrWhiteSpace(model.FolderId) ? (Guid?)null : new Guid(model.FolderId), userId);\n    }\n\n    [HttpPost(\"move\")]\n    [Obsolete(\"This endpoint is deprecated. Use PUT method instead.\")]\n    public async Task PostMoveMany([FromBody] CipherBulkMoveRequestModel model)\n    {\n        await MoveMany(model);\n    }\n\n    [HttpPut(\"share\")]\n    public async Task<ListResponseModel<CipherMiniResponseModel>> PutShareMany([FromBody] CipherBulkShareRequestModel model)\n    {\n        var organizationId = new Guid(model.Ciphers.First().OrganizationId);","sourceCodeStart":1193,"sourceCodeEnd":1229,"githubUrl":"https://github.com/bitwarden/server/blob/e93b962371d80964556f5590c6615f5160a437a1/src/Api/Vault/Controllers/CiphersController.cs#L1193-L1229","documentation":"Error \"You can only move up to 500 items at a time.\" thrown in bitwarden/server.","triggerScenarios":"Thrown when a move-to-organization request includes more than 500 cipher IDs in a single bulk move operation.","commonSituations":"See trigger scenarios.","solutions":["Split the move into batches of 500 items or fewer.","Move items folder-by-folder or collection-by-collection to stay under the limit."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e93b962371d80964556f5590c6615f5160a437a1","analyzedAt":"2026-08-13T14:22:19.382Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}