ยืนยันตัวตนด้วย bearer token:
curl https://api.aigridapp.com/v1/models \
-H "Authorization: Bearer $AIGRID_API_KEY"หนึ่งคีย์ หนึ่งโปรเจกต์#
คีย์มีรูปแบบ aig_ ตามด้วย token แบบสุ่ม สร้างจากคอนโซล (API keys) และผูกกับ หนึ่งโปรเจกต์เท่านั้น ตั้งแต่สร้าง คำขอต้องระบุโปรเจกต์ขณะสร้าง (422 project_required หากไม่ระบุ) และการผูกนี้เปลี่ยนไม่ได้ โปรเจกต์นั้นเป็นบริบทการดำเนินการและการคิดค่าใช้จ่ายของทุกการเรียก: การใช้งาน วงเงิน และกระเป๋าเงินของโปรเจกต์ ผูกอยู่กับโปรเจกต์นี้
คุณเห็นค่าลับ ครั้งเดียว ตอนสร้าง ระบบเก็บเฉพาะ SHA-256 hash และมุมมองภายหลังจะแสดงเพียง prefix ของคีย์ หากทำค่าลับหาย ให้เพิกถอนและสร้างใหม่
ผู้ที่ออกคีย์ได้ ต้องมีสมาชิกภาพที่ใช้งานอยู่ในองค์กร grant ที่ใช้งานอยู่บนทีมเจ้าของโปรเจกต์ (Team Owner หรือ Team Member) และ project grant ที่มีสิทธิ์เรียกใช้ (Project Owner หรือ Project Consumer) สิทธิ์ผู้ดูแลองค์กรเพียงอย่างเดียวไม่เพียงพอ (403 key_issuer_denied) กฎนี้ตรวจซ้ำใน ทุกการใช้ คีย์: หากเพิกถอน grant ของผู้สร้าง การเรียกถัดไปจะถูกปฏิเสธ
ไม่เลือกโปรเจกต์ในแต่ละการเรียก#
เพราะคีย์ระบุโปรเจกต์อยู่แล้ว การเรียกจึงไม่ต้องมี selector เฮดเดอร์ X-AIGrid-Project (และ alias คือ X-Project-ID กับฟิลด์ body project_id) ใช้เป็นเพียงการตรวจความสอดคล้อง: ระบุซ้ำ โปรเจกต์ที่ผูกไว้ ได้เท่านั้น ค่าที่ต่างกันจะถูกปฏิเสธก่อนกันเงิน:
curl https://api.aigridapp.com/v1/chat/completions \
-H "Authorization: Bearer $AIGRID_API_KEY" \
-H "X-AIGrid-Project: <the same project the key is bound to>" \
-d '{"model": "openai/gpt-oss-20b", "messages": [{"role": "user", "content": "Hello"}]}'| สถานการณ์ | ผลลัพธ์ |
|---|---|
| ไม่ส่ง selector หรือระบุซ้ำโปรเจกต์ที่ผูกไว้ | การเรียกดำเนินต่อ |
| selector ระบุโปรเจกต์อื่น | 403 project_mismatch |
| คีย์เก่าก่อนมีการผูกโปรเจกต์ (legacy, unbound) | 403 key_unbound ทุกที่ |
คีย์เก่าที่ไม่ผูกโปรเจกต์จะไม่ถูกผูกหรือเพิกถอนอัตโนมัติ และหมุนเวียนไม่ได้ คอนโซลแสดงว่า “Needs reissue” ให้สร้าง project key แล้วเพิกถอนคีย์เดิม
จำกัดสิ่งที่คีย์ทำได้#
ตอนสร้าง คุณจำกัดคีย์ได้เท่านั้น ไม่สามารถเพิ่มสิทธิ์ด้วยคีย์:
- Access policy —
all-eligible(ค่าเริ่มต้น: ทุก resource ที่โปรเจกต์เรียกได้ รวมถึงรายการที่เพิ่มภายหลัง) หรือlisted(allowlist ที่ระบุชัด แต่ละ id ต้องเป็น resource ที่โปรเจกต์ใช้ได้ มิฉะนั้น422 resource_not_eligible) resource นอก list ถูกปฏิเสธด้วย403 key_scope - Spending limit — เพดาน micro-USD ที่เลือกได้ พร้อม
resetแบบdaily,weekly,monthlyหรือlifetimeเมื่อถึงเพดาน การเรียกถูกปฏิเสธด้วย403 key_limitจนกว่ารอบจะรีเซ็ต ดู การจำกัดอัตราคำขอ - Expiry — 1–365 วัน ค่าเริ่มต้น 90
การหมุนเวียนคีย์#
หมุนเวียนจากคอนโซล หรือ POST /api/v2/tenants/{tenantID}/keys/{keyID}/rotate การหมุนเวียนจะออก replacement secret ที่มีโปรเจกต์ access policy allowlist spending limit และช่วงวันหมดอายุเหมือนเดิม พร้อมบันทึก lineage (rotatedFrom / rotatedTo)
ขั้นตอนถัดไป#
- การเติมข้อความในแชต — การเรียกใช้งาน
- API keys — lifecycle ฝั่งคอนโซล