---
title: ข้อมูลอ้างอิง API ของ Gateway
description: endpoint /v1 ของ Gateway วิธียืนยันตัวตน เฮดเดอร์คำขอและคำตอบที่ Gateway เพิ่ม และเอกสาร OpenAPI ที่อธิบาย endpoint เหล่านี้
url: https://agentlab.cresclab.com/docs/th/gateway/api
language: th
updated: 2026-10-28
---

# ข้อมูลอ้างอิง API ของ Gateway

endpoint /v1 ของ Gateway วิธียืนยันตัวตน เฮดเดอร์คำขอและคำตอบที่ Gateway เพิ่ม และเอกสาร OpenAPI ที่อธิบาย endpoint เหล่านี้

## เอกสาร OpenAPI

endpoint ด้านล่างอธิบายไว้ในเอกสาร OpenAPI 3.1 ซึ่งตรวจเทียบกับเส้นทางของ Gateway ทุกครั้งที่บิลด์

```text
https://agentlab.cresclab.com/docs/openapi/gateway.json
```

Base URL: `https://api.agentlab.cresclab.com` รหัสข้อผิดพลาดดูได้ใน[ข้อผิดพลาด](https://agentlab.cresclab.com/docs/th/gateway/errors.md)

## Endpoint

| เมธอดและพาธ                             | สิ่งที่ทำ                                                                         |
| --------------------------------------- | --------------------------------------------------------------------------------- |
| `POST /v1/chat/completions`             | OpenAI Chat Completions แบบสตรีมหรือไม่สตรีม กับโมเดลใดก็ได้ที่เวิร์กสเปซอนุญาต   |
| `POST /v1/messages`                     | Anthropic Messages ส่งต่อไปยังโมเดล Claude ตามที่ส่งมา                            |
| `POST /v1/messages/count_tokens`        | การนับโทเค็นของ Anthropic ไม่คิดค่าใช้จ่าย                                        |
| `POST /v1/responses`                    | OpenAI Responses ส่งต่อไปยังโมเดล OpenAI ตามที่ส่งมา                              |
| `POST /v1/prompts/{prompt}/completions` | เรียกพรอมต์จากคลังพรอมต์ของเวิร์กสเปซพร้อมตัวแปร ตอบกลับในรูปแบบ Chat Completions |
| `GET /v1/models`                        | `auto` และโมเดลที่คีย์นี้ระบุได้ ในรูปแบบรายการของ OpenAI หรือ Anthropic          |
| `GET /v1/gateway/readiness`             | เซิร์ฟเวอร์ Gateway นี้พร้อมให้บริการหรือไม่ ไม่ต้องใช้คีย์                       |

## การยืนยันตัวตน

ส่งคีย์ Gateway เป็น `Authorization: Bearer <key>` ทุก endpoint ยกเว้น `/v1/chat/completions` รับ `x-api-key: <key>` ได้ด้วย ถ้าส่งทั้งสองแบบต้องเป็นคีย์เดียวกัน คำขอจากเบราว์เซอร์ (ที่มีเฮดเดอร์ `Origin`) จะถูกปฏิเสธ

## เฮดเดอร์คำขอ

| เฮดเดอร์                              | ใช้ที่                                  | ความหมาย                                                                                                                                 |
| ------------------------------------- | --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `X-AgentLab-Routing`                  | ทุก endpoint สำหรับ inference           | `auto`: ให้ Gateway เลือกโมเดลแม้เนื้อหาคำขอจะระบุโมเดลไว้ ต้องเป็น `auto` พอดี                                                          |
| `Idempotency-Key`                     | ทุก endpoint สำหรับ inference ไม่บังคับ | ยาว 8 ถึง 128 ตัวอักษร คีย์เดียวกันจะไม่ถูกคิดค่าใช้จ่ายซ้ำ การนำไปใช้กับคำขออื่นจะถูกปฏิเสธ                                             |
| `X-AgentLab-Metadata`                 | ทุก endpoint สำหรับ inference ไม่บังคับ | แท็กสำหรับรายงานการใช้งาน: ออบเจ็กต์ JSON ที่มีค่าสตริงไม่เกิน 16 ค่า ดู[แท็ก](https://agentlab.cresclab.com/docs/th/gateway/usage.md#tags) |
| `anthropic-version`, `anthropic-beta` | `/v1/messages`                          | ส่งต่อให้ผู้ให้บริการตามที่ส่งมา                                                                                                         |

## เฮดเดอร์คำตอบ

| เฮดเดอร์                        | ความหมาย                                                                                                                      |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `X-Request-Id`                  | id ของคำขอ ตรงกับ `request_id` ในหน้าการใช้งานและในไฟล์ส่งออก                                                                 |
| `X-Agentlab-Model`              | โมเดลที่ตอบ                                                                                                                   |
| `X-Agentlab-Decision`           | `requested_model` หรือวิธีที่ `auto` ตัดสิน ดู[auto](https://agentlab.cresclab.com/docs/th/gateway/auto.md#headers)              |
| `X-Agentlab-Assessment`         | เมื่อใช้ `auto` คือผลการประเมินงาน เช่น `analysis/multi_step`                                                                 |
| `X-Agentlab-Prompt`             | ในการเรียกพรอมต์ คือเวอร์ชันของพรอมต์ที่ตอบ `<prompt id>@<version>`                                                           |
| `Retry-After`, `X-Should-Retry` | เมื่อถูกปฏิเสธ บอกว่าควรลองใหม่หรือไม่และเมื่อไร ดู[429 ทั้งสามแบบ](https://agentlab.cresclab.com/docs/th/gateway/limits.md#429) |

## Chat Completions

เนื้อหาคำขอเป็นคำขอ OpenAI Chat Completions `model` คือ `auto` หรือชื่อจาก `GET /v1/models` ส่วน `model` ในคำตอบคือโมเดลที่ตอบ และ `agentlab_decision.reason` คือ `auto` หรือ `requested_model` เมื่อใช้ `stream_options.include_usage` ชิ้นสุดท้ายของสตรีมจะมีข้อมูลการใช้งาน

ออบเจ็กต์ `agentlab` ที่ไม่บังคับใช้ระบุสิ่งที่คำขอต้องการ เพื่อให้ `auto` เลือกเฉพาะโมเดลที่รองรับ: `{"schema_version": 1, "tool_calling": true, "vision": false, "structured_output": false, "minimum_context_tokens": 0}`

## พรอมต์

เจ้าของและผู้ดูแลจัดการพรอมต์ของเวิร์กสเปซได้ที่แท็บพรอมต์ของ Gateway ได้แก่ ข้อความที่มี `{{ตัวแปร}}` โมเดล (หรือ `auto`) และพารามิเตอร์ที่ไม่บังคับ ทุกครั้งที่บันทึกจะเป็นเวอร์ชันใหม่ และมีหนึ่งเวอร์ชันที่เผยแพร่ การเรียกใช้คัดลอกรูปแบบ API พรอมต์ของ Portkey

```bash
curl https://<gateway>/v1/prompts/support-reply/completions \
  -H "Authorization: Bearer $AGENTLAB_API_KEY" -H "Content-Type: application/json" \
  -d '{"variables": {"company": "Acme", "question": "When does order 1042 ship?"}}'
```

- ระบุพรอมต์ด้วย slug หรือ id ต่อท้ายด้วย `@<version>` เช่น `support-reply@3` เพื่อตรึงเวอร์ชัน ไม่เช่นนั้นเวอร์ชันที่เผยแพร่จะเป็นผู้ตอบ
- `variables` ต้องตรงกับตัวแปรของพรอมต์พอดีและค่าทุกตัวเป็นสตริง ตัวที่ขาดหรือเกินจะถูกปฏิเสธด้วย `prompt_variables_mismatch` ก่อนส่งสิ่งใด
- สมาชิก Chat Completions อื่น เช่น `model` `stream` หรือ `user` จะแทนที่ค่าของพรอมต์ ส่วน `messages` จะถูกปฏิเสธเพราะพรอมต์เป็นผู้ถือข้อความ
- คำตอบเป็นคำตอบแบบ Chat Completions ผ่านคีย์ ขีดจำกัด `auto` และการใช้งานเดียวกัน หน้าการใช้งานแยกคำขอตามพรอมต์ และแต่ละคำขอแสดงพรอมต์และเวอร์ชัน ค่าตัวแปรที่ส่งมาจะไม่ถูกเก็บ

## Messages และ Responses

สอง endpoint นี้ส่งต่อไปยังผู้ให้บริการตามที่ส่งมา ยกเว้น `model` ซึ่งจะเปลี่ยนเป็นโมเดลที่ Gateway เลือก การใช้งาน fast mode, regional inference, service tier, การเขียนแคชหนึ่งชั่วโมง, web search และเวลาของ code execution จะวัดจากรายงานของผู้ให้บริการเองและคิดราคาตามแค็ตตาล็อก

บางส่วนจะถูกปฏิเสธ เพราะจะอ่านหรือเรียกใช้สิ่งที่ Gateway ระบุไม่ได้ว่าเป็นของเวิร์กสเปซคุณ

- Messages: `fallbacks` และเครื่องมือ advisor ซึ่งเรียกโมเดลที่สองภายในการเรียกเดียว
- Responses: `previous_response_id`, `conversation`, `prompt` และการอ้างอิง item ซึ่งอ่านสถานะที่เก็บไว้ใต้บัญชีของผู้ให้บริการ รวมถึงเครื่องมือ `file_search` และ `image_generation` Gateway ส่ง `store: false` ผู้ให้บริการจึงไม่เก็บคำตอบไว้เรียกดูภายหลัง
