# Yetkililer (tarihli)

`GET https://ulawk.com/api/v1/sirketler/{sirket_id}/yetkililer/`

Verilen tarihte görevde olan yetkililer (sıfat, temsil şekli, görev dönemi, kaynak). `tarih` verilmezse güncel yetkililer. Sözleşmeyi imzalayanın o tarihte yetkili olup olmadığını denetlemek için.

## Kimlik doğrulama

Her istekte iki başlık: `X-API-Key` ve `X-API-Secret`.

## Yol parametreleri

- `sirket_id` (integer | string, zorunlu) — Şirket kimliği (`/api/v1/sirketler/` listesindeki `id`).

## Sorgu parametreleri

- `tarih` (string (date)) — YYYY-AA-GG.

## Yanıt

### 200 — Yetkililer.

- `sirket` (SirketOzet, zorunlu)
- `sirket.id` (integer | string, zorunlu) — Şirket kimliği: gerçek anahtarda sayısal (ör. 1234); deneme anahtarında DENEME-… metni.
- `sirket.unvan` (string, null, zorunlu) — Ticaret unvanı.
- `sirket.mudurluk` (string, null, zorunlu) — Sicil müdürlüğü (ör. İSTANBUL).
- `sirket.sicil_no` (string, null, zorunlu) — Ticaret sicil numarası.
- `tarih` (string, zorunlu) — İstenen tarih (YYYY-AA-GG) ya da "güncel".
- `adet` (integer, zorunlu)
- `profil_hazir` (boolean, zorunlu)
- `yetkililer[]` (Yetkili[], zorunlu)
- `yetkililer[].isim` (string, null, zorunlu)
- `yetkililer[].sifat` (string, null, zorunlu) — İlandaki görev (ör. Yönetim Kurulu Başkanı).
- `yetkililer[].temsil` (string, null, zorunlu) — Temsil şekli (Münferit, Müşterek…).
- `yetkililer[].baslangic` (string (date), null, zorunlu) — Göreve başlama.
- `yetkililer[].bitis` (string (date), null, zorunlu) — Görev sonu; görevdeyse null.
- `yetkililer[].bitis_nedeni` (string, null, zorunlu)
- `yetkililer[].gorev_bitis` (string, null, zorunlu) — Öngörülen görev sonu (seçim süresinden).
- `yetkililer[].gorev_suresi` (string, null, zorunlu)
- `yetkililer[].gorev_dayanak` (string, null, zorunlu) — Görev sonunun dayanağı (ilan ya da kanun maddesi).
- `yetkililer[].kaynak` (Kaynak, null, zorunlu)
- `yetkililer[].kaynak.ilan_id` (integer, zorunlu) — Bilginin geçtiği ilan.
- `yetkililer[].kaynak.ilan_tarihi` (string (date), zorunlu) — İlanın yayım tarihi.
- `yetkililer[].kaynak.ilan_turu` (string, zorunlu) — Ticaret Sicili Gazetesi ilan türü.
- `yetkililer[].kaynak.alinti` (string, zorunlu) — İlan metninden birebir alıntı.
- `yetkililer[].kaynak.alinti_dogrulandi` (boolean, zorunlu) — Alıntı ilan metninde birebir bulundu mu.
- `yetkililer[].kaynak.gazete_pdf` (string (uri), zorunlu) — Gazete PDF'i.
- `yetkililer[].kaynak.vurgu` (Vurgu, null, zorunlu)
- `yetkililer[].kaynak.vurgu.sayfa` (integer, zorunlu) — Gazete sayfası (1'den).
- `yetkililer[].kaynak.vurgu.sayfa_gorsel` (string (uri), zorunlu) — Sayfanın PNG görseli.
- `yetkililer[].kaynak.vurgu.kutular[]` (number[][], zorunlu) — Bilginin sayfadaki yeri: oransal [x0, y0, x1, y1] kutuları (0–1, sol üst köşe).
- `yetkililer[].kaynak.vurgu.kutu_birimi` (string, zorunlu) — Kutu biriminin açıklaması.
- `yetkililer[].bitis_kaynak` (Kaynak, null, zorunlu)
- `yetkililer[].bitis_kaynak.ilan_id` (integer, zorunlu) — Bilginin geçtiği ilan.
- `yetkililer[].bitis_kaynak.ilan_tarihi` (string (date), zorunlu) — İlanın yayım tarihi.
- `yetkililer[].bitis_kaynak.ilan_turu` (string, zorunlu) — Ticaret Sicili Gazetesi ilan türü.
- `yetkililer[].bitis_kaynak.alinti` (string, zorunlu) — İlan metninden birebir alıntı.
- `yetkililer[].bitis_kaynak.alinti_dogrulandi` (boolean, zorunlu) — Alıntı ilan metninde birebir bulundu mu.
- `yetkililer[].bitis_kaynak.gazete_pdf` (string (uri), zorunlu) — Gazete PDF'i.
- `yetkililer[].bitis_kaynak.vurgu` (Vurgu, null, zorunlu)
- `yetkililer[].bitis_kaynak.vurgu.sayfa` (integer, zorunlu) — Gazete sayfası (1'den).
- `yetkililer[].bitis_kaynak.vurgu.sayfa_gorsel` (string (uri), zorunlu) — Sayfanın PNG görseli.
- `yetkililer[].bitis_kaynak.vurgu.kutular[]` (number[][], zorunlu) — Bilginin sayfadaki yeri: oransal [x0, y0, x1, y1] kutuları (0–1, sol üst köşe).
- `yetkililer[].bitis_kaynak.vurgu.kutu_birimi` (string, zorunlu) — Kutu biriminin açıklaması.
- `yetkililer[].gorevde` (boolean, zorunlu) — Bugün görevde mi.
- `yetkililer[].rol_standart` (Rol, null)
- `yetkililer[].rol_standart.kod` (string, zorunlu)
- `yetkililer[].rol_standart.ad` (string)
- `yetkililer[].rol_standart.en_ad` (string)
- `yetkililer[].rol_standart.organ` (string, null)
- `yetkililer[].rol_standart.temsil_organi` (boolean, null)
- `yetkililer[].rol_standart.kesin` (boolean)
- `yetkililer[].rol_standart.roller[]` (string[])
- `yetkililer[].rol_standart.imza_derecesi` (string, null)
- `yetkililer[].rol_standart.iso5009` (string, null)
- `yetkililer[].rol_standart.iso5009_liste` (string, null)
- `yetkililer[].rol_standart.yerel_ad` (string)

```json
{
  "sirket": {
    "id": "DENEME-100001",
    "unvan": "ÖRNEK DENEME SANAYİ VE TİCARET ANONİM ŞİRKETİ",
    "mudurluk": "İSTANBUL",
    "sicil_no": "DENEME-100001"
  },
  "tarih": "güncel",
  "adet": 3,
  "profil_hazir": true,
  "yetkililer": [
    {
      "isim": "Ayşe Örnek",
      "sifat": "Yönetim Kurulu Başkanı",
      "temsil": "Münferit",
      "baslangic": "2015-03-02",
      "bitis": null,
      "bitis_nedeni": null,
      "gorev_bitis": null,
      "gorev_suresi": null,
      "gorev_dayanak": null,
      "kaynak": {
        "ilan_id": 9000000,
        "ilan_tarihi": "2015-03-02",
        "ilan_turu": "KURULUŞ",
        "alinti": "Ayşe Örnek seçilmiştir",
        "alinti_dogrulandi": true,
        "gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9000000/pdf/",
        "vurgu": null
      },
      "bitis_kaynak": null,
      "gorevde": true,
      "rol_standart": {
        "kod": "YK_BASKANI",
        "ad": "Yönetim kurulu başkanı",
        "en_ad": "Chair of the board of directors",
        "organ": "yonetim_kurulu",
        "temsil_organi": true,
        "kesin": true,
        "roller": [
          "YK_BASKANI",
          "YK_UYESI"
        ],
        "imza_derecesi": null,
        "iso5009": null,
        "iso5009_liste": "ISO 5009 resmî görev kodları listesi, 16.10.2026 tarihli sorgu (Türkiye kaydı yok)",
        "yerel_ad": "Yönetim Kurulu Başkanı"
      }
    },
    {
      "isim": "Ali Denemeci",
      "sifat": "Yönetim Kurulu Üyesi",
      "temsil": "Müşterek",
      "baslangic": "2021-05-17",
      "bitis": null,
      "bitis_nedeni": null,
      "gorev_bitis": null,
      "gorev_suresi": null,
      "gorev_dayanak": null,
      "kaynak": {
        "ilan_id": 9000002,
        "ilan_tarihi": "2021-05-17",
        "ilan_turu": "YÖNETİM KURULU SEÇİMİ",
        "alinti": "Ali Denemeci seçilmiştir",
        "alinti_dogrulandi": true,
        "gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9000002/pdf/",
        "vurgu": null
      },
      "bitis_kaynak": null,
      "gorevde": true,
      "rol_standart": {
        "kod": "YK_UYESI",
        "ad": "Yönetim kurulu üyesi",
        "en_ad": "Member of the board of directors",
        "organ": "yonetim_kurulu",
        "temsil_organi": true,
        "kesin": true,
        "roller": [
          "YK_UYESI"
        ],
        "imza_derecesi": null,
        "iso5009": null,
        "iso5009_liste": "ISO 5009 resmî görev kodları listesi, 16.10.2026 tarihli sorgu (Türkiye kaydı yok)",
        "yerel_ad": "Yönetim Kurulu Üyesi"
      }
    }
  ]
}
```

### 400 — `gecersiz_tarih`.


```json
{
  "hata": "gecersiz_tarih",
  "detay": "tarih YYYY-AA-GG olmalı",
  "hata_ayrinti": {
    "kod": "gecersiz_tarih",
    "mesaj": "tarih YYYY-AA-GG olmalı",
    "taraf": "istemci",
    "kaynak": null,
    "tekrar_denenebilir": false,
    "tekrar_sn": null
  }
}
```

### 404 — Bulunamadı ya da erişim yetkiniz yok (`bulunamadi`).


```json
{
  "hata": "bulunamadi",
  "detay": "Şirket bulunamadı ya da erişim yetkiniz yok.",
  "hata_ayrinti": {
    "kod": "bulunamadi",
    "mesaj": "Şirket bulunamadı ya da erişim yetkiniz yok.",
    "taraf": "istemci",
    "kaynak": null,
    "tekrar_denenebilir": false,
    "tekrar_sn": null
  }
}
```

### 503 — Resmî kaynak şu an erişilemiyor (`kaynak_erisilemiyor`, taraf kaynak). Deneme ortamında DENEME-KAYNAK-KAPALI.

Retry-After: `300`

```json
{
  "hata": "kaynak_erisilemiyor",
  "detay": "Ticaret Sicili Gazetesi şu an yanıt vermiyor; kısa süre sonra yeniden deneyin. (Deneme ortamı benzetimi.)",
  "hata_ayrinti": {
    "kod": "kaynak_erisilemiyor",
    "mesaj": "Ticaret Sicili Gazetesi şu an yanıt vermiyor; kısa süre sonra yeniden deneyin. (Deneme ortamı benzetimi.)",
    "taraf": "kaynak",
    "kaynak": "ttsg",
    "tekrar_denenebilir": true,
    "tekrar_sn": 300
  }
}
```

### 401 — Anahtar yok ya da geçersiz (`yetkisiz`).


```json
{
  "hata": "yetkisiz",
  "detay": "Geçerli X-API-Key başlığı gerekli (panel › API).",
  "hata_ayrinti": {
    "kod": "yetkisiz",
    "mesaj": "Geçerli X-API-Key başlığı gerekli (panel › API).",
    "taraf": "istemci",
    "kaynak": null,
    "tekrar_denenebilir": false,
    "tekrar_sn": null
  }
}
```

### 429 — Saatlik istek sınırı aşıldı (`hiz_siniri`); Retry-After başlığı sıfırlanmaya kalan saniyeyi verir.

Retry-After: `2311`

```json
{
  "hata": "hiz_siniri",
  "detay": "Saatlik istek sınırı aşıldı (600). Bir sonraki saatte tekrar deneyin.",
  "hata_ayrinti": {
    "kod": "hiz_siniri",
    "mesaj": "Saatlik istek sınırı aşıldı (600). Bir sonraki saatte tekrar deneyin.",
    "taraf": "istemci",
    "kaynak": null,
    "tekrar_denenebilir": true,
    "tekrar_sn": 2311
  }
}
```

### 500 — Beklenmeyen hata (`ic_hata`, taraf ulawk); kısa süre sonra yeniden deneyin.

Retry-After: `60`

```json
{
  "hata": "ic_hata",
  "detay": "Beklenmeyen bir hata oluştu; kısa süre sonra yeniden deneyin.",
  "hata_ayrinti": {
    "kod": "ic_hata",
    "mesaj": "Beklenmeyen bir hata oluştu; kısa süre sonra yeniden deneyin.",
    "taraf": "ulawk",
    "kaynak": null,
    "tekrar_denenebilir": true,
    "tekrar_sn": 60
  }
}
```

## İstek

```bash
curl "https://ulawk.com/api/v1/sirketler/DENEME-100001/yetkililer/" \
  -H "X-API-Key: ulk_DENEME_ANAHTARINIZ" \
  -H "X-API-Secret: ulsk_DENEME_GIZLI_ANAHTARINIZ"
```
