Claude API เวอร์ชัน 2026-10-21 เป็นค่า anthropic-version ใหม่ค่าแรกนับตั้งแต่ 2023-06-01 โดยมีการเปลี่ยนแปลงแบบ breaking change สามรายการใน Messages API ได้แก่ temperature, top_p และ top_k จะส่งคืนข้อผิดพลาด 400 แล้ว, บล็อก document ในข้อความ assistant จะส่งคืน 400 และ citations บนบล็อก text ในข้อความ user จะส่งคืน 400 นอกจากนี้ยังเปลี่ยนชื่อฟิลด์หลายรายการใน Admin API และ Enterprise Analytics API คุณเลือกใช้เวอร์ชันใหม่ได้โดยส่ง anthropic-version: 2026-10-21 หรืออัปเกรดเป็น SDK major ใหม่ (Python 2.0.0, TypeScript 1.0.0, Go 2.0.0 และอื่น ๆ)
แต่มีจุดที่ต้องระวัง: การอัปเกรด SDK คือวิธีที่ทีมส่วนใหญ่จะ "เผลอ" ย้ายไปใช้เวอร์ชันใหม่ คำสั่ง pip install -U anthropic หรือ npm update ตามปกติที่ข้าม major version จะเปลี่ยนทุกคำขอไปเป็น 2026-10-21 พร้อมกันในทันที คู่มือนี้รวบรวมทุกการเปลี่ยนแปลงที่ Anthropic dokument ไว้ แสดงให้เห็นว่ารายการใดสร้างปัญหาในโค้ดจริง และให้ลำดับการอัปเกรดที่ปลอดภัยแก่คุณ
anthropic-version header คืออะไร?
anthropic-version header เป็น request header ที่จำเป็น ซึ่งกำหนดรูปร่างของ Claude API ที่คุณจะได้รับกลับมา ภายในเวอร์ชันเดียวกัน Anthropic จะรักษาพารามิเตอร์อินพุตและเอาต์พุตที่มีอยู่ให้คงที่ แต่สามารถเพิ่มอินพุตแบบไม่บังคับ ค่าเอาต์พุตใหม่ รูปแบบ enum ใหม่ เช่น ชนิดของเหตุการณ์สตรีมมิ่ง และเงื่อนไขข้อผิดพลาดใหม่ ๆ ได้ การเปลี่ยนแปลงแบบ breaking change จะเกิดขึ้นเฉพาะเมื่อมีเวอร์ชันวันที่ใหม่เท่านั้น
จากหน้าประวัติเวอร์ชัน มีอยู่สามเวอร์ชัน:
| เวอร์ชัน | สิ่งที่เปิดตัวในเวอร์ชันนี้ |
|---|---|
2023-01-01 |
การเปิดตัวครั้งแรก |
2023-06-01 |
เพิ่ม server-sent events แบบมีชื่อสำหรับการสตรีมแบบเพิ่มทีละส่วน; ลบเหตุการณ์ data: [DONE] และค่า exception กับ truncated แบบเดิมออก |
2026-10-21 |
ลบพารามิเตอร์การสุ่มตัวอย่าง (sampling parameters), กฎการตรวจสอบเนื้อหาข้อความที่เข้มงวดขึ้น, เปลี่ยนชื่อฟิลด์ใน Admin และ Analytics |
หากคุณใช้ SDK อย่างเป็นทางการ คุณจะไม่ต้องตั้ง header นี้ด้วยตัวเอง เพราะ SDK major แต่ละรุ่นจะส่งเวอร์ชันที่เป็นเวอร์ชันปัจจุบันตอนที่ major นั้นเปิดตัว นั่นคือเหตุผลที่การอัปเกรด SDK และการอัปเกรดเวอร์ชัน API จึงเป็นเหตุการณ์เดียวกันสำหรับโค้ดเบสส่วนใหญ่
การเปลี่ยนแปลงแบบ breaking change ของ Claude API 2026-10-21
การเปลี่ยนแปลงเหล่านนี้มีผลกับ POST /v1/messages กับการนับ token และกับทุกคำขอภายใน Message Batch ที่สร้างด้วย 2026-10-21
1. temperature, top_p และ top_k ถูกนำออก
นี่คือการเปลี่ยนแปลงที่คนส่วนใหญ่จะเจอ คำขอใดก็ตามที่ส่ง temperature, top_p หรือ top_k จะส่งคืนข้อผิดพลาด 400 ในทุกโมเดล แม้ว่าคุณจะส่งค่าเริ่มต้นก็ตาม การมี temperature: 1.0 หลงเหลืออยู่ในไฟล์คอนฟิกก็เพียงพอที่จะทำให้การเรียกใช้งานล้มเหลวได้
สิ่งที่จะเกิดขึ้นกับคุณภาพของเอาต์พุตนั้นขึ้นอยู่กับโมเดล:
- Claude 4.7 และใหม่กว่า ยอมรับเฉพาะค่าการสุ่มตัวอย่างค่าเริ่มต้นอยู่แล้ว ดังนั้นการลบพารามิเตอร์เหล่านี้ออกจึงไม่เปลี่ยนวิธีการสุ่มตัวอย่างของโมเดลเหล่านี้เลย
- โมเดลรุ่นเก่าที่ยอมรับค่าอื่น เช่น Claude Sonnet 4.6 จะสูญเสียผลลัพธ์ที่คุณเคยได้จากการลด
temperatureลง คู่มือการย้ายเวอร์ชัน ระบุตรง ๆ ว่าไม่มีค่ารายการอื่นใดมาทดแทนได้
หากคำขอใดจำเป็นต้องใช้ค่าที่ไม่ใช่ค่าเริ่มต้นจริง ๆ Anthropic ให้ทางเลือกคุณสองทาง คือ หยุดส่งค่านั้นไป หรือคงคำขอนั้นไว้บน 2023-06-01
2. บล็อก document ในข้อความ assistant ส่งคืน 400
แอปบางตัวเล่นประวัติการสนทนาซ้ำโดยมีบล็อก document อยู่ในเทิร์นของ assistant โดยตรง ภายใต้เวอร์ชัน 2026-10-21 สิ่งนี้จะถูกปฏิเสธ ให้ย้ายเอกสารไปไว้ในข้อความ user แทน ส่วนเอกสารที่ซ้อนอยู่ภายในบล็อกอื่น เช่น ผลลัพธ์ของเครื่องมือ web fetch ที่ Claude ส่งกลับมา ยังคงได้รับการยอมรับ
3. citations ในข้อความ user ส่งคืน 400
บล็อก text ที่มีอาร์เรย์ citations ไม่ว่างเปล่าในข้อความ user จะล้มเหลวในตอนนี้ ซึ่งรวมถึงข้อความที่อยู่ภายในบล็อก search_result ด้วย ให้ลบ citations ออกจากบล็อกเหล่านั้น ส่วน citations ในคำตอบ assistant ของ Claude เองที่คุณส่งกลับไปยังใช้ได้ปกติ เช่นเดียวกับ "citations": {"enabled": true} บนเอกสารและผลการค้นหา
4. การเปลี่ยนชื่อฟิลด์ใน Admin API และ Enterprise Analytics
คำตอบจะไม่มีชื่อฟิลด์เดิมอีกต่อไป:
| Endpoint | ฟิลด์เดิม | ฟิลด์ใหม่ |
|---|---|---|
| RBAC groups | roles |
role_ids |
| RBAC group members | group_id |
rbac_group_id |
| RBAC roles | name |
display_name |
| Organization and workspace rate limits | group_type |
group.type |
| API keys | workspace_id |
scope.workspace_id |
| Analytics per-user usage and cost reports | actor.email |
actor.email_address |
| Analytics activity summaries | summaries |
data |
การเปลี่ยนแปลงของ API key เป็นจุดที่สังเกตได้ยาก ภายใต้เวอร์ชัน 2023-06-01 นั้น workspace_id จะเป็น null ทั้งสำหรับคีย์ที่ผูกกับ Default Workspace และสำหรับคีย์ที่ใช้ได้กับทุก workspace ภายใต้เวอร์ชัน 2026-10-21 นั้น scope.workspace_id จะเก็บ ID จริงของ Default Workspace และคีย์ที่ใช้ได้กับทุก workspace จะมี scope: {"type": "organization"} โดยไม่มี workspace_id หากแดชบอร์ดของคุณตีความ null ว่าเป็น "Default Workspace" แดชบอร์ดนั้นจะติดป้ายกำกับคีย์ผิดหลังการอัปเกรด

เวอร์ชัน SDK ที่ส่ง 2026-10-21
Anthropic เปิดตัว SDK major ใหม่เมื่อวันที่ 21 ตุลาคม 2026 และแต่ละตัวจะส่ง 2026-10-21 เป็นค่าเริ่มต้น ตามบันทึกประจำรุ่น:
| SDK | เวอร์ชันแรกที่ใช้ 2026-10-21 |
|---|---|
Python (anthropic) |
2.0.0 |
TypeScript (@anthropic-ai/sdk) |
1.0.0 |
Go (anthropic-sdk-go/v2) |
2.0.0 |
Java (anthropic-java) |
3.0.0 |
C# (Anthropic) |
13.0.0 |
PHP (anthropic-ai/sdk) |
1.0.0 |
Ruby (anthropic) |
2.0.0 |
ant CLI |
2.0.0 |
SDK major ใหม่ยังนำการเปลี่ยนแปลงที่ไม่เกี่ยวข้องกับเวอร์ชัน API เลยมาด้วย:
- API key จะถูกส่งเป็น
Authorization: Bearer <key>แทนX-Api-KeyClaude API ยอมรับได้ทั้งสองแบบ แต่พร็อกซี, เกตเวย์, ตัวกรองล็อก หรือ test stub ที่อ่านค่าX-Api-Keyจะไม่เห็นคีย์อีกต่อไป - Text Completions ถูกนำออก จาก SDK ของ TypeScript, Go, Java และ Ruby และจาก CLI ให้ใช้ Messages API แทน
betasหายไปจากเมธอด Models ที่ไม่ใช่ beta ให้เรียกclient.beta.modelsแทนMessageParamเป็น union ที่มีหนึ่งชนิดต่อหนึ่ง role ใน SDK แบบมีชนิดข้อมูล ดังนั้น type annotation บางส่วนจำเป็นต้องอัปเดต- Go ต้องใช้ import path ใหม่ ที่ลงท้ายด้วย
/v2และผู้ใช้ TypeScript ที่ใช้แพ็กเกจ Bedrock, Vertex, Foundry, AWS หรือ Google Cloud ต้องย้ายแพ็กเกจเหล่านั้นไปเป็น v1 ในการอัปเกรดเดียวกันด้วย ไม่เช่นนั้นตัวจัดการแพ็กเกจจะติดตั้งสำเนา SDK หลักเวอร์ชันเก่าเพิ่มอีกชุดหนึ่ง - สัญญาอนุญาตเปลี่ยน จาก MIT เป็น Apache 2.0
ให้ pin major ปัจจุบันของคุณไว้ก่อนทำสิ่งอื่นใด เพื่อป้องกันไม่ให้บอตจัดการ dependency อัปเกรดคุณกลางสปรินต์
ข้อยกเว้นของ Amazon Bedrock
บน Amazon Bedrock นั้น 2026-10-21 ใช้ได้เฉพาะกับโมเดล Claude 4.7 และใหม่กว่าเท่านั้น หากคุณยังเรียก Opus 4.6 หรือโมเดลรุ่นเก่ากว่าอยู่ ให้คงเวอร์ชัน SDK ปัจจุบันไว้หรือส่ง header ปัจจุบันของคุณต่อไป แล้วค่อยเปลี่ยนโมเดลก่อน
วิธีอัปเกรดเป็น Claude API เวอร์ชัน 2026-10-21 อย่างปลอดภัย
ลำดับในคู่มือการย้ายเวอร์ชันคือ: เปลี่ยนเวอร์ชัน, แก้ไข breaking change, ทดสอบก่อนปล่อยจริง ต่อไปนี้คือหน้าตาของขั้นตอนเหล่านั้นในทางปฏิบัติ
- Pin SDK major เดิมไว้ ตัวอย่างเช่น
anthropic<2ใน Python หรือ"@anthropic-ai/sdk": "^0"ใน npm - ค้นหาในโค้ดและคอนฟิกของคุณ หาคำว่า
temperature,top_p,top_k,X-Api-Key,completions.createและฟิลด์ Admin API ใด ๆ จากตารางด้านบน - ตัดสินใจเรื่องการสุ่มตัวอย่าง บน Claude 4.7 และใหม่กว่า ให้ลบพารามิเตอร์เหล่านั้นออก บนโมเดลรุ่นเก่า ให้เลือกว่าจะยอมรับการสุ่มตัวอย่างแบบค่าเริ่มต้น หรือคงการเรียกเหล่านั้นไว้บน 2023-06-01
- แก้ไขการสร้างข้อความ ย้ายเอกสารที่อยู่ฝั่ง assistant ไปยังเทิร์นของ user และลบ
citationsออกจากบล็อกข้อความฝั่ง user - ทดสอบ payload ชุดเดียวกันภายใต้ทั้งสองเวอร์ชัน แล้วเปรียบเทียบรหัสสถานะและรูปร่างของคำตอบ
- อัปเกรด SDK และปล่อยการแก้ไขโค้ดไปพร้อมกัน Anthropic แนะนำให้ปล่อยการอัปเกรดพร้อมกับการแก้ไขของคุณ ไม่ใช่ก่อนหน้านั้น
หากไม่ใช้ SDK การสลับเวอร์ชันทำได้ด้วย header เดียว:
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2026-10-21" \
-H "content-type: application/json" \
-d '{
"model": "claude-opus-5-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello, Claude"}]
}'
เพิ่ม "temperature": 0.2 ลงใน body นั้น แล้วคุณจะได้ 400 ส่ง body เดียวกันพร้อม anthropic-version: 2023-06-01 แล้วจะสำเร็จ ผลลัพธ์คู่นี้คือสิ่งที่ขั้นตอนที่ 5 ควรจับได้สำหรับทุก payload ที่คุณส่งในโปรดักชัน
ให้ Claude Code ทดสอบทั้งสองเวอร์ชันด้วย Apidog CLI
ขั้นตอนที่ 5 นั้นน่าเบื่อหากทำด้วยมือ เพราะคุณมีรูปร่าง payload หลายสิบแบบ และแต่ละแบบต้องรันสองครั้ง ลองมอบหมายให้ coding agent ของคุณทำแทน Apidog CLI มอบคำสั่งให้ Claude Code (หรือ Codex, Cursor และ OpenCode) ในการสร้าง test case และรันคำสั่งเหล่านั้น เพื่อให้ agent เป็นตัวเปรียบเทียบ และคุณแค่อ่านสรุปผล
ตั้งค่าครั้งเดียว:
npm install -g apidog-cli@latest
apidog login --with-token <YOUR_TOKEN>
npx -y skills add https://apidog.com # pick Claude Code when prompted
จากนั้นป้อนพรอมป์ต์เดียวให้ Claude Code:
In Apidog project <id>, create an environment "claude-api" with base URL
https://api.anthropic.com. For each JSON payload in ./fixtures/claude/, add a
POST /v1/messages test case that sends the header anthropic-version: {{anthropic_version}}
and asserts status 200 and a non-empty content array. Run every case twice, once with
anthropic_version=2023-06-01 and once with 2026-10-21, and list each case that passes
on the old version but fails on the new one, with the error message.
agent จะตรวจสอบ schema ของแต่ละ payload ก่อนที่จะเขียนอะไรลงไป จากนั้นจึงรัน test case:
apidog environment create claude-api --project <id> --base-url https://api.anthropic.com
apidog cli-schema get test-case-create
apidog cli-schema validate test-case-create --file case.json
apidog test-case create --project <id> --file case.json
apidog run --test-case <caseId> --project <id> -e <envId> --env-var "anthropic_version=2023-06-01" -r cli,json
apidog run --test-case <caseId> --project <id> -e <envId> --env-var "anthropic_version=2026-10-21" -r cli,json
แฟล็ก --env-var จะสลับค่า header โดยไม่ต้องแตะ test case ดังนั้นส่วนต่างจึงมีเพียงตัวแปรเดียว เพิ่ม --upload-report เพื่อดูการรันทั้งสองครั้งในแอป Apidog หรือนำการรันด้วย 2026-10-21 ไปไว้ใน CI ด้วย -r junit เพื่อไม่ให้การอัปเดต dependency สามารถปล่อยฟิลด์ temperature ขึ้นโปรดักชันได้ คู่มือ Apidog CLI ใน Claude Code อธิบายการตั้งค่าไว้ละเอียดกว่า และเอกสารอ้างอิงคำสั่ง apidog run มีรายการแฟล็กทั้งหมด แผนฟรีของ Apidog รองรับผู้ใช้สูงสุด 4 คน

2023-06-01 ถูกเลิกใช้แล้วหรือไม่?
ยังไม่มีการประกาศวันสิ้นสุดการใช้งาน หน้าประวัติเวอร์ชันระบุ 2023-06-01 โดยไม่มีประกาศเลิกใช้ และคู่มือการย้ายเวอร์ชันเองก็บอกให้คงคำขอที่ต้องใช้ temperature ที่ไม่ใช่ค่าเริ่มต้นไว้บน 2023-06-01 อย่างไรก็ตาม Anthropic ยังคงแนะนำให้ใช้เวอร์ชันล่าสุด "ทุกครั้งที่เป็นไปได้"
เรื่องนี้สำคัญต่อการวางแผน การอัปเกรดในวันนี้เป็นทางเลือก แต่ 2026-10-21 เป็นเวอร์ชันใหม่ตัวแรกในรอบกว่าสามปี และ breaking change ในอนาคตก็จะมาในลักษณะเดียวกัน ดังนั้นการทำ version testing ให้เป็นงาน CI ประจำตอนนี้จะถูกกว่าการย้ายเวอร์ชันแบบเร่งรีบในภายหลัง หากคุณกำลังปรับจูนเรื่องขีดจำกัดอัตราของ Claude API หรือค่าใช้จ่ายของ Claude API อยู่แล้ว ให้เพิ่มการตรวจสอบเวอร์ชันเข้าไปในไปป์ไลน์เดียวกันด้วย คู่มือแนวปฏิบัติที่ดีที่สุดในการทำ API versioningของเราอธิบายว่าทำไมเวอร์ชันแบบอิงวันที่เช่นนี้จึงทำให้เรื่องต่าง ๆ ง่ายขึ้น
คำถามที่พบบ่อย
ต้องอัปเกรดเป็น Claude API เวอร์ชัน 2026-10-21 เดี๋ยวนี้ไหม?
ไม่ต้อง 2023-06-01 ยังใช้งานได้และไม่มีวันสิ้นสุดการใช้งานที่ประกาศไว้ คุณจะอัปเกรดเมื่อคุณส่ง header ใหม่หรือติดตั้ง SDK major ที่ตั้งค่าเริ่มต้นเป็นเวอร์ชันนั้น
ทำไมคำขอของฉันจึงส่งคืน 400 หลังอัปเกรด SDK?
SDK major ใหม่จะส่ง 2026-10-21 ซึ่งปฏิเสธ temperature, top_p และ top_k, บล็อก document ฝั่ง assistant และ citations บนบล็อกข้อความฝั่ง user ให้ตรวจสอบ payload ของคุณหาสิ่งเหล่านี้ก่อน
เก็บ temperature ไว้กับบางคำขอได้ไหม?
ได้ โดยคงคำขอเฉพาะเหล่านั้นไว้บน 2023-06-01 ภายใต้ 2026-10-21 ไม่มีการตั้งค่าอื่นมาทดแทน และโมเดล Claude 4.7 และใหม่กว่าก็สุ่มตัวอย่างด้วยค่าเริ่มต้นเท่านั้นอยู่แล้ว
2026-10-21 ใช้ได้บน Amazon Bedrock ไหม?
ใช้ได้เฉพาะกับโมเดล Claude 4.7 และใหม่กว่าเท่านั้น โมเดล Bedrock รุ่นเก่าต้องใช้เวอร์ชัน SDK หรือ header ปัจจุบันของคุณจนกว่าคุณจะเปลี่ยนโมเดล
พร็อกซีของฉันยังเห็น API key ของฉันอยู่ไหม?
ไม่เห็น หากพร็อกซีนั้นอ่านค่า X-Api-Key SDK ใหม่จะส่งคีย์เป็น Authorization: Bearer ให้อัปเดตพร็อกซีให้อ่าน Authorization หรือตั้งค่า SDK ให้ส่ง X-Api-Key เอง
เวอร์ชันใหม่เปลี่ยนเหตุการณ์สตรีมมิ่งไหม?
Anthropic ไม่ได้ระบุการเปลี่ยนแปลงรูปแบบการสตรีมมิ่งสำหรับ 2026-10-21 รูปแบบการสตรีมมิ่งที่คุณใช้อยู่ในปัจจุบันมาพร้อมกับ 2023-06-01
