{"record":{"id":"58deaf4e1947d032","repo":"BerriAI/litellm","slug":"batch-record-for-v1-responses-is-missing-required","errorCode":null,"errorMessage":"Batch record for /v1/responses is missing required `input` field: model={openai_request_body.get('model', '')}","messagePattern":"Batch record for /v1/responses is missing required `input` field: model=(.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/llms/bedrock/files/transformation.py","lineNumber":675,"sourceCode":"    @staticmethod\n    def _transform_responses_body_to_chat_body(openai_request_body: _OpenAIBatchRecordBody) -> Mapping[str, object]:\n        \"\"\"\n        Rewrite an OpenAI `/v1/responses` batch body as a Chat Completions body.\n\n        Delegates to the same Responses-to-Chat bridge the real-time path uses\n        for providers without a native Responses API (which is every Bedrock\n        model), so `input`, `instructions`, `max_output_tokens` and the tool\n        params translate identically in batch and real time. The bridge always\n        emits a `tools` key; an empty one is dropped rather than shipped as an\n        empty array inside `modelInput`.\n        \"\"\"\n        from litellm.responses.litellm_completion_transformation.transformation import (\n            LiteLLMCompletionResponsesConfig,\n        )\n\n        responses_input: Final = openai_request_body.get(\"input\")\n        if responses_input is None:\n            raise ValueError(\n                \"Batch record for /v1/responses is missing required `input` field: \"\n                f\"model={openai_request_body.get('model', '')}\"\n            )\n        chat_body: Final[Mapping[str, object]] = (\n            LiteLLMCompletionResponsesConfig.transform_responses_api_request_to_chat_completion_request(\n                model=openai_request_body.get(\"model\", \"\"),\n                input=_responses_input_adapter().validate_python(responses_input),\n                responses_api_request=_responses_request_adapter().validate_python(\n                    _frozen_mapping(\n                        (key, value) for key, value in openai_request_body.items() if key not in (\"model\", \"input\")\n                    )\n                ),\n                metadata=openai_request_body.get(\"metadata\"),\n            )\n        )\n        return _frozen_mapping((key, value) for key, value in chat_body.items() if key != \"tools\" or value)\n\n    @staticmethod","sourceCodeStart":657,"sourceCodeEnd":693,"githubUrl":"https://github.com/BerriAI/litellm/blob/6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d/litellm/llms/bedrock/files/transformation.py#L657-L693","documentation":"Error \"Batch record for /v1/responses is missing required `input` field: model={openai_request_body.get('model', '')}\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/llms/bedrock/files/transformation.py:675 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Include an `input` field in each /v1/responses batch record."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d","analyzedAt":"2026-08-15T07:12:03.035Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}