# Responses API (OpenAI uyumlu)

OpenAI `POST /v1/responses` ile uyumlu. `input` alanı string ya da mesaj dizisi olabilir; maskeleme açıkken her iki biçimde de tespit edilen PII alanları model çağrısından önce yer tutuculara dönüştürülür. Maskeleme adımı çalıştırılamazsa istek **fail-closed** olarak modele gitmeden durur.

POST `/v1/responses`

## Request body

required `application/json`

`model` string required

Hedef model kimliği (panelde tanımlı).

`input` string | ChatMessage[] required

String ya da mesaj dizisi. Maskeleme açıkken her iki biçimde de tespit edilen kişisel alanlar model çağrısından önce gateway içinde yer tutuculara dönüştürülür.

One of:

string

`string`

ChatMessage[]

Array of `ChatMessage`

`role` string required

Allowed: `system` `user` `assistant` `tool`

`content` string required

Mesaj metni. Maskeleme açıkken tüm rollerin (`system`, `user`, `assistant`, `tool`) içeriğinde tespit edilen kişisel alanlar gateway içinde yer tutuculara dönüştürülür.

`stream` boolean

default: false

`temperature` number

min 0 · max 2

`max_output_tokens` integer

Üretilecek azami token sayısı.

min 1

## Responses

200 Başarılı yanıt

`id` string

`object` string

`created_at` integer

`model` string

`status` string

`output` ResponsesOutputItem[]

Array of `ResponsesOutputItem`

`id` string

`type` string

`status` string

`role` string

`content` ResponsesContentPart[]

Array of `ResponsesContentPart`

`type` string

`text` string

`annotations` object[]

`usage` Usage

`prompt_tokens` integer

`completion_tokens` integer

`total_tokens` integer

401 Eksik veya geçersiz sanal anahtar

`error` object

`message` string

`type` string

413 Girdi maskeleme sınırını aşıyor. İstek modele iletilmez; metni bölüp yeniden gönderin.

`error` object

`message` string

`type` string

429 Kota/oran limiti aşıldı

`error` object

`message` string

`type` string

502 Maskeleme adımı çalıştırılamadı. İstek **fail-closed** olarak modele iletilmez; "maskesiz de olsa gönder" seçeneği yoktur.

`error` object

`message` string

`type` string

### Request

#### openai-python

```
from openai import OpenAI

client = OpenAI(
    base_url="https://gw-tr.gurubase.io/v1",
    api_key="SANAL_ANAHTAR",
)

resp = client.responses.create(
    model="gpt-4o-mini",
    input="Ahmet Yılmaz, TCKN 10000000382, adres değişikliği istiyor.",
)
print(resp.output_text)
```

#### python

```
import requests

response = requests.post(
    "https://gw-tr.gurubase.io/v1/responses",
    headers={
        "Content-Type": "application/json"
    },
    json={
  "model": "gpt-4o-mini",
  "input": "Ahmet Yılmaz, TCKN 10000000382, talebini iletti.",
  "stream": False,
  "temperature": 0,
  "max_output_tokens": 0
},
)
```

#### curl

```
curl -X POST "https://gw-tr.gurubase.io/v1/responses" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "gpt-4o-mini",
  "input": "Ahmet Yılmaz, TCKN 10000000382, talebini iletti.",
  "stream": false,
  "temperature": 0,
  "max_output_tokens": 0
}'
```

#### js

```
const response = await fetch("https://gw-tr.gurubase.io/v1/responses", {
  method: "POST",
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
  "model": "gpt-4o-mini",
  "input": "Ahmet Yılmaz, TCKN 10000000382, talebini iletti.",
  "stream": false,
  "temperature": 0,
  "max_output_tokens": 0
})
});
```

### Response

#### 200

```
{
  "id": "resp_01ec5099f62feeda",
  "object": "response",
  "created_at": 1782136928,
  "model": "gpt-4o-mini",
  "status": "completed",
  "output": [
    {
      "id": "msg_01ec5099f62feeda",
      "type": "message",
      "status": "completed",
      "role": "assistant",
      "content": [
        {
          "type": "output_text",
          "text": "Kayıt alındı.",
          "annotations": [
            {}
          ]
        }
      ]
    }
  ],
  "usage": {
    "prompt_tokens": 0,
    "completion_tokens": 0,
    "total_tokens": 0
  }
}
```

#### 401

```
{
  "error": {
    "message": "string",
    "type": "string"
  }
}
```

#### 413

```
{
  "error": {
    "message": "string",
    "type": "string"
  }
}
```

#### 429

```
{
  "error": {
    "message": "string",
    "type": "string"
  }
}
```

#### 502

```
{
  "error": {
    "message": "string",
    "type": "string"
  }
}
```
