---
title: "OpenAPI Spesifikasyonu & TypeScript İstemcileri"
description: "Minds API için makine tarafından okunabilir OpenAPI 3.1.0 spesifikasyonu. Tip güvenli TypeScript istemcileri oluştur veya JSON'u doğrudan LLM'ine aktar."
---

# OpenAPI Spec

Minds genel API'si makine tarafından okunabilir bir OpenAPI 3.1.0 spesifikasyonu sunar. Tip güvenli istemciler oluştur veya JSON'u bir LLM'e ver — bu dokümantasyonla aynı doğruluk kaynağı.

## Endpoint

<table>
<thead>
  <tr>
    <th>
      URL
    </th>
    
    <th>
      Ne elde edersin
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        https://getminds.ai/_openapi.json
      </code>
    </td>
    
    <td>
      OpenAPI 3.1.0 JSON spesifikasyonu. Herhangi bir üretece besle.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        https://getminds.ai/_openapi-3.0.json
      </code>
    </td>
    
    <td>
      RapidAPI gibi içe aktarıcılar için oluşturulan OpenAPI 3.0.2 uyumluluk görünümü.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        https://getminds.ai/api/v1/openapi.json
      </code>
    </td>
    
    <td>
      Aynı spesifikasyon, tanımladığı endpoint'lerin yanında sunulur. API anahtarı gerekmez.
    </td>
  </tr>
</tbody>
</table>

Spesifikasyon yalnızca OpenAPI meta verisi bildiren genel `/api/v1/**` endpoint'lerini içerir. Dahili endpoint'ler (admin, debug, cron, MCP vb.) hariç tutulur.

## Kimlik Doğrulama

Spesifikasyondaki her işlem `ApiKeyAuth` ile korunur — kişisel API anahtarını bearer token olarak gönder:

```http
Authorization: Bearer minds_…_key
```

Birini [Ayarlar → API Anahtarları](/settings/api-keys) bölümünde oluştur. Tam akış için [Kimlik Doğrulama](/docs/api/authentication) sayfasına bak.

## TypeScript istemcisi oluştur

En hızlı yol: canlı spesifikasyondan katı tipler üretmek için [`openapi-typescript`](https://openapi-ts.dev/) kullan.

```bash
npx openapi-typescript https://getminds.ai/_openapi.json -o minds.d.ts
```

Ardından tamamen tipli bir istemci için bunları `openapi-fetch` ile kullan:

```ts
import createClient from 'openapi-fetch'
import type { paths } from './minds'

const client = createClient<paths>({
  baseUrl: 'https://api.getminds.ai',
  headers: { Authorization: `Bearer ${process.env.MINDS_API_KEY}` },
})

// All params + responses are typed from the live spec.
const { data, error } = await client.GET('/api/v1/minds', {
  params: { query: { limit: 10 } },
})
```

Çalışma zamanı SDK'sı mı tercih edersin? OpenAPI 3.1 uyumlu herhangi bir üreteç çalışır — [`openapi-generator`](https://openapi-generator.tech/), [`orval`](https://orval.dev/), [`kubb`](https://www.kubb.dev/) vb.

## Bir LLM ile kullan

JSON spesifikasyonu bir sohbete bırakılacak kadar küçüktür:

```bash
curl -s https://getminds.ai/_openapi.json | pbcopy
```

Ardından ChatGPT / Claude / Cursor içine şuna benzer bir komutla yapıştır:

> İşte Minds API OpenAPI spesifikasyonu. Bana sparklarımı listeleyen ve adlarını yazdıran bir Python betiği yaz.

Spesifikasyon istek/yanıt şemalarını, örnek payload'ları ve bearer token kimlik doğrulama sözleşmesini içerir — modelin ihtiyacı olan her şey var.

## Kapsam

Spesifikasyon her `/api/v1/**` endpoint'ini listeler. Bir `defineRouteMeta` bloğu taşıyan rotalar tam istek/yanıt şemalarıyla gelir; böyle bir bloğu olmayan rotalar yalnızca yol + yöntem ve genel bir açıklamayla görünür. Yüzeyi zamanla işliyoruz — spesifikasyon her halükârda doğru kalır, çünkü elle değil canlı yönlendiriciden üretilir.

> **Kararlılık notu:** OpenAPI üretimi Nitro'nun deneysel `openAPI` bayrağıyla çalışır. Spesifikasyon biçimi kararlıdır (OpenAPI 3.1.0); altta yatan Nitro özelliği olgunlaştıkça işlem meta verilerinde küçük yapısal sapmalar olabilir. Donmuş bir sözleşmeye ihtiyacın varsa istemci üretim adımını bir build artefaktına sabitle.

## Sonraki adımlar

- Canlı spesifikasyonu [/_openapi.json](/_openapi.json) adresinden al
- Bearer token akışı için [Kimlik Doğrulama](/docs/api/authentication) sayfasını oku
- Endpoint anlatımları için [Minds](/docs/api/minds), [Studies](/docs/api/studies) veya [Chat](/docs/api/chat) bölümlerine atla
