# Company profile

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

Full sourced profile: summary, identity, officers, capital, ownership, name/address, articles, one chronological change feed, notices and report findings. Every record carries `kaynak`. `veri_durumu` states how complete each section is; empty list `[]` = looked, none · `null` = not available or still being prepared.

## Authentication

Two headers on every request: `X-API-Key` and `X-API-Secret`.

## Path parameters

- `sirket_id` (integer | string, required) — Company id (`id` from `/api/v1/sirketler/`).

## Response

### 200 — Profile.

- `sirket` (SirketOzet, zorunlu)
- `sirket.id` (integer | string, zorunlu) — Company id: numeric with a live key (e.g. 1234); a DENEME-… string with a sandbox key.
- `sirket.unvan` (string, null, zorunlu) — Registered name.
- `sirket.mudurluk` (string, null, zorunlu) — Registry office (e.g. İSTANBUL).
- `sirket.sicil_no` (string, null, zorunlu) — Trade registry number.
- `tum_gazeteler_zip` (string (uri), zorunlu) — All gazette PDFs (ZIP).
- `profil_hazir` (boolean, zorunlu) — Whether the profile exists. While false, profile sections are null.
- `guncelleme` (string (date-time), null, zorunlu) — When the profile was generated.
- `ozet` (string, null, zorunlu) — Neutral AI-written summary.
- `kimlik` (Kimlik, null, zorunlu)
- `kimlik.unvan` (string, null)
- `kimlik.tur` (string, null) — Company type (e.g. Anonim Şirket).
- `kimlik.merkez` (string, null) — Registered office.
- `kimlik.kurulus_tarihi` (string, null) — Incorporation date (YYYY-MM-DD; "… or earlier" when no incorporation notice).
- `kimlik.sermaye` (string, null)
- `kimlik.durum` (string, null) — Status from notices.
- `kimlik.durum_aciklama` (string, null)
- `kimlik.kurulus_supheli` (boolean) — No incorporation notice; date from the oldest notice.
- `kimlik.kurulus_kaynak` (object, null)
- `kimlik.hukuki_bicim_standart` (HukukiBicim, null)
- `kimlik.hukuki_bicim_standart.kod` (string, zorunlu) — Standard form code (e.g. TR_AS).
- `kimlik.hukuki_bicim_standart.yerel_ad` (string)
- `kimlik.hukuki_bicim_standart.kisaltma` (string)
- `kimlik.hukuki_bicim_standart.en_ad` (string)
- `kimlik.hukuki_bicim_standart.standart_kategori` (any) — General class of the form.
- `kimlik.hukuki_bicim_standart.iso20275` (string, null) — ISO 20275 (ELF) code when verified.
- `kimlik.hukuki_bicim_standart.iso20275_liste` (string, null)
- `kimlik.hukuki_bicim_standart.ulke` (string, null)
- `kimlik.hukuki_bicim_standart.ana_bicim` (object, null)
- `kimlik.hukuki_bicim_standart.girdi` (string)
- `kimlik.kaynak` (Kaynak, null, zorunlu)
- `kimlik.kaynak.ilan_id` (integer, zorunlu) — The notice the fact comes from.
- `kimlik.kaynak.ilan_tarihi` (string (date), zorunlu) — Publication date of the notice.
- `kimlik.kaynak.ilan_turu` (string, zorunlu) — Trade Registry Gazette notice type.
- `kimlik.kaynak.alinti` (string, zorunlu) — Verbatim quote from the notice text.
- `kimlik.kaynak.alinti_dogrulandi` (boolean, zorunlu) — Whether the quote was found verbatim in the notice.
- `kimlik.kaynak.gazete_pdf` (string (uri), zorunlu) — Gazette PDF.
- `kimlik.kaynak.vurgu` (Vurgu, null, zorunlu)
- `kimlik.kaynak.vurgu.sayfa` (integer, zorunlu) — Gazette page (from 1).
- `kimlik.kaynak.vurgu.sayfa_gorsel` (string (uri), zorunlu) — PNG image of the page.
- `kimlik.kaynak.vurgu.kutular[]` (number[][], zorunlu) — Where the fact sits on the page: proportional [x0, y0, x1, y1] boxes (0–1, top-left origin).
- `kimlik.kaynak.vurgu.kutu_birimi` (string, zorunlu) — Description of the box unit.
- `yetkililer[]` (Yetkili[], null, zorunlu)
- `yetkililer[].isim` (string, null, zorunlu)
- `yetkililer[].sifat` (string, null, zorunlu) — Title in the notice.
- `yetkililer[].temsil` (string, null, zorunlu) — Representation (sole, joint…).
- `yetkililer[].baslangic` (string (date), null, zorunlu) — Start of office.
- `yetkililer[].bitis` (string (date), null, zorunlu) — End of office; null while in office.
- `yetkililer[].bitis_nedeni` (string, null, zorunlu)
- `yetkililer[].gorev_bitis` (string, null, zorunlu) — Expected end of term.
- `yetkililer[].gorev_suresi` (string, null, zorunlu)
- `yetkililer[].gorev_dayanak` (string, null, zorunlu) — Basis of the term end (notice or statute).
- `yetkililer[].kaynak` (Kaynak, null, zorunlu)
- `yetkililer[].kaynak.ilan_id` (integer, zorunlu) — The notice the fact comes from.
- `yetkililer[].kaynak.ilan_tarihi` (string (date), zorunlu) — Publication date of the notice.
- `yetkililer[].kaynak.ilan_turu` (string, zorunlu) — Trade Registry Gazette notice type.
- `yetkililer[].kaynak.alinti` (string, zorunlu) — Verbatim quote from the notice text.
- `yetkililer[].kaynak.alinti_dogrulandi` (boolean, zorunlu) — Whether the quote was found verbatim in the notice.
- `yetkililer[].kaynak.gazete_pdf` (string (uri), zorunlu) — Gazette PDF.
- `yetkililer[].kaynak.vurgu` (Vurgu, null, zorunlu)
- `yetkililer[].kaynak.vurgu.sayfa` (integer, zorunlu) — Gazette page (from 1).
- `yetkililer[].kaynak.vurgu.sayfa_gorsel` (string (uri), zorunlu) — PNG image of the page.
- `yetkililer[].kaynak.vurgu.kutular[]` (number[][], zorunlu) — Where the fact sits on the page: proportional [x0, y0, x1, y1] boxes (0–1, top-left origin).
- `yetkililer[].kaynak.vurgu.kutu_birimi` (string, zorunlu) — Description of the box unit.
- `yetkililer[].bitis_kaynak` (Kaynak, null, zorunlu)
- `yetkililer[].bitis_kaynak.ilan_id` (integer, zorunlu) — The notice the fact comes from.
- `yetkililer[].bitis_kaynak.ilan_tarihi` (string (date), zorunlu) — Publication date of the notice.
- `yetkililer[].bitis_kaynak.ilan_turu` (string, zorunlu) — Trade Registry Gazette notice type.
- `yetkililer[].bitis_kaynak.alinti` (string, zorunlu) — Verbatim quote from the notice text.
- `yetkililer[].bitis_kaynak.alinti_dogrulandi` (boolean, zorunlu) — Whether the quote was found verbatim in the notice.
- `yetkililer[].bitis_kaynak.gazete_pdf` (string (uri), zorunlu) — Gazette PDF.
- `yetkililer[].bitis_kaynak.vurgu` (Vurgu, null, zorunlu)
- `yetkililer[].bitis_kaynak.vurgu.sayfa` (integer, zorunlu) — Gazette page (from 1).
- `yetkililer[].bitis_kaynak.vurgu.sayfa_gorsel` (string (uri), zorunlu) — PNG image of the page.
- `yetkililer[].bitis_kaynak.vurgu.kutular[]` (number[][], zorunlu) — Where the fact sits on the page: proportional [x0, y0, x1, y1] boxes (0–1, top-left origin).
- `yetkililer[].bitis_kaynak.vurgu.kutu_birimi` (string, zorunlu) — Description of the box unit.
- `yetkililer[].gorevde` (boolean, zorunlu) — Whether in office today.
- `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)
- `sermaye[]` (SermayeKaydi[], null, zorunlu)
- `sermaye[].tarih` (string (date), null, zorunlu)
- `sermaye[].islem` (string, null, zorunlu)
- `sermaye[].onceki` (string, null, zorunlu)
- `sermaye[].yeni` (string, null, zorunlu)
- `sermaye[].kaynak` (Kaynak, null, zorunlu)
- `sermaye[].kaynak.ilan_id` (integer, zorunlu) — The notice the fact comes from.
- `sermaye[].kaynak.ilan_tarihi` (string (date), zorunlu) — Publication date of the notice.
- `sermaye[].kaynak.ilan_turu` (string, zorunlu) — Trade Registry Gazette notice type.
- `sermaye[].kaynak.alinti` (string, zorunlu) — Verbatim quote from the notice text.
- `sermaye[].kaynak.alinti_dogrulandi` (boolean, zorunlu) — Whether the quote was found verbatim in the notice.
- `sermaye[].kaynak.gazete_pdf` (string (uri), zorunlu) — Gazette PDF.
- `sermaye[].kaynak.vurgu` (Vurgu, null, zorunlu)
- `sermaye[].kaynak.vurgu.sayfa` (integer, zorunlu) — Gazette page (from 1).
- `sermaye[].kaynak.vurgu.sayfa_gorsel` (string (uri), zorunlu) — PNG image of the page.
- `sermaye[].kaynak.vurgu.kutular[]` (number[][], zorunlu) — Where the fact sits on the page: proportional [x0, y0, x1, y1] boxes (0–1, top-left origin).
- `sermaye[].kaynak.vurgu.kutu_birimi` (string, zorunlu) — Description of the box unit.
- `ortaklik[]` (OrtaklikKaydi[], null, zorunlu)
- `ortaklik[].tarih` (string (date), null, zorunlu)
- `ortaklik[].isim` (string, null, zorunlu)
- `ortaklik[].pay_tutari` (string, null, zorunlu)
- `ortaklik[].pay_orani` (string, null, zorunlu)
- `ortaklik[].kaynak` (Kaynak, null, zorunlu)
- `ortaklik[].kaynak.ilan_id` (integer, zorunlu) — The notice the fact comes from.
- `ortaklik[].kaynak.ilan_tarihi` (string (date), zorunlu) — Publication date of the notice.
- `ortaklik[].kaynak.ilan_turu` (string, zorunlu) — Trade Registry Gazette notice type.
- `ortaklik[].kaynak.alinti` (string, zorunlu) — Verbatim quote from the notice text.
- `ortaklik[].kaynak.alinti_dogrulandi` (boolean, zorunlu) — Whether the quote was found verbatim in the notice.
- `ortaklik[].kaynak.gazete_pdf` (string (uri), zorunlu) — Gazette PDF.
- `ortaklik[].kaynak.vurgu` (Vurgu, null, zorunlu)
- `ortaklik[].kaynak.vurgu.sayfa` (integer, zorunlu) — Gazette page (from 1).
- `ortaklik[].kaynak.vurgu.sayfa_gorsel` (string (uri), zorunlu) — PNG image of the page.
- `ortaklik[].kaynak.vurgu.kutular[]` (number[][], zorunlu) — Where the fact sits on the page: proportional [x0, y0, x1, y1] boxes (0–1, top-left origin).
- `ortaklik[].kaynak.vurgu.kutu_birimi` (string, zorunlu) — Description of the box unit.
- `unvan_adres[]` (UnvanAdresKaydi[], null, zorunlu)
- `unvan_adres[].tarih` (string (date), null, zorunlu)
- `unvan_adres[].tur` (string, null, zorunlu) — unvan (name) or adres (address)
- `unvan_adres[].deger` (string, null, zorunlu)
- `unvan_adres[].kaynak` (Kaynak, null, zorunlu)
- `unvan_adres[].kaynak.ilan_id` (integer, zorunlu) — The notice the fact comes from.
- `unvan_adres[].kaynak.ilan_tarihi` (string (date), zorunlu) — Publication date of the notice.
- `unvan_adres[].kaynak.ilan_turu` (string, zorunlu) — Trade Registry Gazette notice type.
- `unvan_adres[].kaynak.alinti` (string, zorunlu) — Verbatim quote from the notice text.
- `unvan_adres[].kaynak.alinti_dogrulandi` (boolean, zorunlu) — Whether the quote was found verbatim in the notice.
- `unvan_adres[].kaynak.gazete_pdf` (string (uri), zorunlu) — Gazette PDF.
- `unvan_adres[].kaynak.vurgu` (Vurgu, null, zorunlu)
- `unvan_adres[].kaynak.vurgu.sayfa` (integer, zorunlu) — Gazette page (from 1).
- `unvan_adres[].kaynak.vurgu.sayfa_gorsel` (string (uri), zorunlu) — PNG image of the page.
- `unvan_adres[].kaynak.vurgu.kutular[]` (number[][], zorunlu) — Where the fact sits on the page: proportional [x0, y0, x1, y1] boxes (0–1, top-left origin).
- `unvan_adres[].kaynak.vurgu.kutu_birimi` (string, zorunlu) — Description of the box unit.
- `esas_sozlesme[]` (EsasSozlesmeMaddesi[], null, zorunlu)
- `esas_sozlesme[].madde` (string, null, zorunlu)
- `esas_sozlesme[].baslik` (string, null, zorunlu)
- `esas_sozlesme[].hukum` (string, null, zorunlu) — AI summary of the current wording; see the source for the verbatim text.
- `esas_sozlesme[].son_degisiklik` (string (date), null, zorunlu)
- `esas_sozlesme[].kaynak` (Kaynak, null, zorunlu)
- `esas_sozlesme[].kaynak.ilan_id` (integer, zorunlu) — The notice the fact comes from.
- `esas_sozlesme[].kaynak.ilan_tarihi` (string (date), zorunlu) — Publication date of the notice.
- `esas_sozlesme[].kaynak.ilan_turu` (string, zorunlu) — Trade Registry Gazette notice type.
- `esas_sozlesme[].kaynak.alinti` (string, zorunlu) — Verbatim quote from the notice text.
- `esas_sozlesme[].kaynak.alinti_dogrulandi` (boolean, zorunlu) — Whether the quote was found verbatim in the notice.
- `esas_sozlesme[].kaynak.gazete_pdf` (string (uri), zorunlu) — Gazette PDF.
- `esas_sozlesme[].kaynak.vurgu` (Vurgu, null, zorunlu)
- `esas_sozlesme[].kaynak.vurgu.sayfa` (integer, zorunlu) — Gazette page (from 1).
- `esas_sozlesme[].kaynak.vurgu.sayfa_gorsel` (string (uri), zorunlu) — PNG image of the page.
- `esas_sozlesme[].kaynak.vurgu.kutular[]` (number[][], zorunlu) — Where the fact sits on the page: proportional [x0, y0, x1, y1] boxes (0–1, top-left origin).
- `esas_sozlesme[].kaynak.vurgu.kutu_birimi` (string, zorunlu) — Description of the box unit.
- `degisiklikler[]` (Degisiklik[], null, zorunlu) — All changes in one chronological feed (newest first).
- `degisiklikler[].tur` (string, zorunlu) — Change type. Değerler: yetkili-atama, yetkili-ayrilma, sermaye, ortaklik, unvan-adres, esas-sozlesme, durum.
- `degisiklikler[].tarih` (string (date), null, zorunlu) — Date of the change.
- `degisiklikler[].ozet` (string, zorunlu) — One-line summary.
- `degisiklikler[].kaynak` (Kaynak, null, zorunlu)
- `degisiklikler[].kaynak.ilan_id` (integer, zorunlu) — The notice the fact comes from.
- `degisiklikler[].kaynak.ilan_tarihi` (string (date), zorunlu) — Publication date of the notice.
- `degisiklikler[].kaynak.ilan_turu` (string, zorunlu) — Trade Registry Gazette notice type.
- `degisiklikler[].kaynak.alinti` (string, zorunlu) — Verbatim quote from the notice text.
- `degisiklikler[].kaynak.alinti_dogrulandi` (boolean, zorunlu) — Whether the quote was found verbatim in the notice.
- `degisiklikler[].kaynak.gazete_pdf` (string (uri), zorunlu) — Gazette PDF.
- `degisiklikler[].kaynak.vurgu` (Vurgu, null, zorunlu)
- `degisiklikler[].kaynak.vurgu.sayfa` (integer, zorunlu) — Gazette page (from 1).
- `degisiklikler[].kaynak.vurgu.sayfa_gorsel` (string (uri), zorunlu) — PNG image of the page.
- `degisiklikler[].kaynak.vurgu.kutular[]` (number[][], zorunlu) — Where the fact sits on the page: proportional [x0, y0, x1, y1] boxes (0–1, top-left origin).
- `degisiklikler[].kaynak.vurgu.kutu_birimi` (string, zorunlu) — Description of the box unit.
- `degisiklikler[].gazete_pdf` (string (uri), null, zorunlu) — PDF of the source gazette.
- `degisiklikler[].kategori` (string, zorunlu) — Fixed change category. Değerler: durum, adres, ortaklik, sermaye, yetkililer, unvan, esas_sozlesme, diger, kapandi.
- `degisiklikler[].isim` (string, null)
- `degisiklikler[].sifat` (string, null)
- `degisiklikler[].onceki` (string, null)
- `degisiklikler[].yeni` (string, null)
- `degisiklikler[].pay_tutari` (string, null)
- `degisiklikler[].pay_orani` (string, null)
- `degisiklikler[].alan` (string, null)
- `degisiklikler[].deger` (string, null)
- `degisiklikler[].madde` (string, null)
- `degisiklikler[].baslik` (string, null)
- `degisiklikler[].aciklama` (string, null)
- `son_gazete` (SonGazete, null, zorunlu)
- `son_gazete.ilan_id` (integer, zorunlu)
- `son_gazete.tarih` (string (date), zorunlu)
- `son_gazete.tur` (string, zorunlu)
- `son_gazete.gazete_pdf` (string (uri), null, zorunlu)
- `son_gazete.gazete_arsivde` (boolean, zorunlu)
- `ilanlar[]` (Ilan[], zorunlu)
- `ilanlar[].ilan_id` (integer, zorunlu)
- `ilanlar[].tarih` (string (date), zorunlu)
- `ilanlar[].tur` (string, zorunlu) — Notice type.
- `ilanlar[].kategori` (string, zorunlu) — Notice-type category (legacy `kategori=` filter). Değerler: kurulus, konkordato, birlesme, sermaye, ortaklik, yonetim, unvan_adres, genel_kurul, esas, diger.
- `ilanlar[].kategori_ad` (string, zorunlu)
- `ilanlar[].sicil_no` (string, null, zorunlu)
- `ilanlar[].sayi` (string, null, zorunlu) — Gazette issue number.
- `ilanlar[].sayfa` (string, null, zorunlu) — Gazette page.
- `ilanlar[].baslik` (string, null, zorunlu) — Plain-language title.
- `ilanlar[].aciklama` (string, null, zorunlu)
- `ilanlar[].kaynak` (Kaynak, null, zorunlu)
- `ilanlar[].kaynak.ilan_id` (integer, zorunlu) — The notice the fact comes from.
- `ilanlar[].kaynak.ilan_tarihi` (string (date), zorunlu) — Publication date of the notice.
- `ilanlar[].kaynak.ilan_turu` (string, zorunlu) — Trade Registry Gazette notice type.
- `ilanlar[].kaynak.alinti` (string, zorunlu) — Verbatim quote from the notice text.
- `ilanlar[].kaynak.alinti_dogrulandi` (boolean, zorunlu) — Whether the quote was found verbatim in the notice.
- `ilanlar[].kaynak.gazete_pdf` (string (uri), zorunlu) — Gazette PDF.
- `ilanlar[].kaynak.vurgu` (Vurgu, null, zorunlu)
- `ilanlar[].kaynak.vurgu.sayfa` (integer, zorunlu) — Gazette page (from 1).
- `ilanlar[].kaynak.vurgu.sayfa_gorsel` (string (uri), zorunlu) — PNG image of the page.
- `ilanlar[].kaynak.vurgu.kutular[]` (number[][], zorunlu) — Where the fact sits on the page: proportional [x0, y0, x1, y1] boxes (0–1, top-left origin).
- `ilanlar[].kaynak.vurgu.kutu_birimi` (string, zorunlu) — Description of the box unit.
- `ilanlar[].gazete_pdf` (string (uri), null, zorunlu) — Gazette PDF when archived.
- `ilanlar[].gazete_arsivde` (boolean, zorunlu)
- `ilanlar[].degisiklik_kategorisi` (string, zorunlu) Değerler: durum, adres, ortaklik, sermaye, yetkililer, unvan, esas_sozlesme, diger, kapandi.
- `raporlar[]` (RaporOzeti[], zorunlu)
- `raporlar[].rapor_id` (integer, zorunlu)
- `raporlar[].durum` (string, zorunlu) Değerler: hazir, hata, hazirlaniyor.
- `raporlar[].talep` (string (date-time), null, zorunlu)
- `raporlar[].tamamlanma` (string (date-time), null, zorunlu)
- `raporlar[].dosyalar` (object, zorunlu) — Type → download URL.
- `raporlar[].bulgular` (object, null, zorunlu) — Report findings (single profile only).
- `aciklama_degisiklikler` (string, zorunlu)
- `aciklama` (string, zorunlu)
- `aciklama_veri_durumu` (string, zorunlu)
- `veri_durumu` (VeriDurumu, zorunlu) — Completeness, method and limits per section. New sections are additive.
- `veri_durumu.kimlik` (VeriDurumuBolum, zorunlu)
- `veri_durumu.kimlik.durum` (string, zorunlu) — tam (complete) · kismi (partial) · yok (looked, none) · hazirlaniyor (being prepared) · yayimlanmiyor (the source does not publish it). Değerler: tam, kismi, yok, hazirlaniyor, yayimlanmiyor.
- `veri_durumu.kimlik.yontem` (string, null, zorunlu) — ilandan (single notice) · ilandan_kuruldu (rebuilt from notices) · turetilmis (rule-based) · yapay_zeka (AI) Değerler: ilandan, ilandan_kuruldu, turetilmis, yapay_zeka.
- `veri_durumu.kimlik.sinirlar[]` (string[], zorunlu) — Human-readable limitations.
- `veri_durumu.kimlik.dayanak_ilan_sayisi` (integer, null, zorunlu) — Number of distinct notices used.
- `veri_durumu.yetkililer` (VeriDurumuBolum, zorunlu)
- `veri_durumu.yetkililer.durum` (string, zorunlu) — tam (complete) · kismi (partial) · yok (looked, none) · hazirlaniyor (being prepared) · yayimlanmiyor (the source does not publish it). Değerler: tam, kismi, yok, hazirlaniyor, yayimlanmiyor.
- `veri_durumu.yetkililer.yontem` (string, null, zorunlu) — ilandan (single notice) · ilandan_kuruldu (rebuilt from notices) · turetilmis (rule-based) · yapay_zeka (AI) Değerler: ilandan, ilandan_kuruldu, turetilmis, yapay_zeka.
- `veri_durumu.yetkililer.sinirlar[]` (string[], zorunlu) — Human-readable limitations.
- `veri_durumu.yetkililer.dayanak_ilan_sayisi` (integer, null, zorunlu) — Number of distinct notices used.
- `veri_durumu.sermaye` (VeriDurumuBolum, zorunlu)
- `veri_durumu.sermaye.durum` (string, zorunlu) — tam (complete) · kismi (partial) · yok (looked, none) · hazirlaniyor (being prepared) · yayimlanmiyor (the source does not publish it). Değerler: tam, kismi, yok, hazirlaniyor, yayimlanmiyor.
- `veri_durumu.sermaye.yontem` (string, null, zorunlu) — ilandan (single notice) · ilandan_kuruldu (rebuilt from notices) · turetilmis (rule-based) · yapay_zeka (AI) Değerler: ilandan, ilandan_kuruldu, turetilmis, yapay_zeka.
- `veri_durumu.sermaye.sinirlar[]` (string[], zorunlu) — Human-readable limitations.
- `veri_durumu.sermaye.dayanak_ilan_sayisi` (integer, null, zorunlu) — Number of distinct notices used.
- `veri_durumu.ortaklik` (VeriDurumuBolum, zorunlu)
- `veri_durumu.ortaklik.durum` (string, zorunlu) — tam (complete) · kismi (partial) · yok (looked, none) · hazirlaniyor (being prepared) · yayimlanmiyor (the source does not publish it). Değerler: tam, kismi, yok, hazirlaniyor, yayimlanmiyor.
- `veri_durumu.ortaklik.yontem` (string, null, zorunlu) — ilandan (single notice) · ilandan_kuruldu (rebuilt from notices) · turetilmis (rule-based) · yapay_zeka (AI) Değerler: ilandan, ilandan_kuruldu, turetilmis, yapay_zeka.
- `veri_durumu.ortaklik.sinirlar[]` (string[], zorunlu) — Human-readable limitations.
- `veri_durumu.ortaklik.dayanak_ilan_sayisi` (integer, null, zorunlu) — Number of distinct notices used.
- `veri_durumu.unvan_adres` (VeriDurumuBolum, zorunlu)
- `veri_durumu.unvan_adres.durum` (string, zorunlu) — tam (complete) · kismi (partial) · yok (looked, none) · hazirlaniyor (being prepared) · yayimlanmiyor (the source does not publish it). Değerler: tam, kismi, yok, hazirlaniyor, yayimlanmiyor.
- `veri_durumu.unvan_adres.yontem` (string, null, zorunlu) — ilandan (single notice) · ilandan_kuruldu (rebuilt from notices) · turetilmis (rule-based) · yapay_zeka (AI) Değerler: ilandan, ilandan_kuruldu, turetilmis, yapay_zeka.
- `veri_durumu.unvan_adres.sinirlar[]` (string[], zorunlu) — Human-readable limitations.
- `veri_durumu.unvan_adres.dayanak_ilan_sayisi` (integer, null, zorunlu) — Number of distinct notices used.
- `veri_durumu.esas_sozlesme` (VeriDurumuBolum, zorunlu)
- `veri_durumu.esas_sozlesme.durum` (string, zorunlu) — tam (complete) · kismi (partial) · yok (looked, none) · hazirlaniyor (being prepared) · yayimlanmiyor (the source does not publish it). Değerler: tam, kismi, yok, hazirlaniyor, yayimlanmiyor.
- `veri_durumu.esas_sozlesme.yontem` (string, null, zorunlu) — ilandan (single notice) · ilandan_kuruldu (rebuilt from notices) · turetilmis (rule-based) · yapay_zeka (AI) Değerler: ilandan, ilandan_kuruldu, turetilmis, yapay_zeka.
- `veri_durumu.esas_sozlesme.sinirlar[]` (string[], zorunlu) — Human-readable limitations.
- `veri_durumu.esas_sozlesme.dayanak_ilan_sayisi` (integer, null, zorunlu) — Number of distinct notices used.
- `veri_durumu.ozet` (VeriDurumuBolum)
- `veri_durumu.ozet.durum` (string, zorunlu) — tam (complete) · kismi (partial) · yok (looked, none) · hazirlaniyor (being prepared) · yayimlanmiyor (the source does not publish it). Değerler: tam, kismi, yok, hazirlaniyor, yayimlanmiyor.
- `veri_durumu.ozet.yontem` (string, null, zorunlu) — ilandan (single notice) · ilandan_kuruldu (rebuilt from notices) · turetilmis (rule-based) · yapay_zeka (AI) Değerler: ilandan, ilandan_kuruldu, turetilmis, yapay_zeka.
- `veri_durumu.ozet.sinirlar[]` (string[], zorunlu) — Human-readable limitations.
- `veri_durumu.ozet.dayanak_ilan_sayisi` (integer, null, zorunlu) — Number of distinct notices used.
- `veri_durumu.ilanlar` (VeriDurumuBolum, zorunlu)
- `veri_durumu.ilanlar.durum` (string, zorunlu) — tam (complete) · kismi (partial) · yok (looked, none) · hazirlaniyor (being prepared) · yayimlanmiyor (the source does not publish it). Değerler: tam, kismi, yok, hazirlaniyor, yayimlanmiyor.
- `veri_durumu.ilanlar.yontem` (string, null, zorunlu) — ilandan (single notice) · ilandan_kuruldu (rebuilt from notices) · turetilmis (rule-based) · yapay_zeka (AI) Değerler: ilandan, ilandan_kuruldu, turetilmis, yapay_zeka.
- `veri_durumu.ilanlar.sinirlar[]` (string[], zorunlu) — Human-readable limitations.
- `veri_durumu.ilanlar.dayanak_ilan_sayisi` (integer, null, zorunlu) — Number of distinct notices used.
- `veri_durumu.raporlar` (VeriDurumuBolum)
- `veri_durumu.raporlar.durum` (string, zorunlu) — tam (complete) · kismi (partial) · yok (looked, none) · hazirlaniyor (being prepared) · yayimlanmiyor (the source does not publish it). Değerler: tam, kismi, yok, hazirlaniyor, yayimlanmiyor.
- `veri_durumu.raporlar.yontem` (string, null, zorunlu) — ilandan (single notice) · ilandan_kuruldu (rebuilt from notices) · turetilmis (rule-based) · yapay_zeka (AI) Değerler: ilandan, ilandan_kuruldu, turetilmis, yapay_zeka.
- `veri_durumu.raporlar.sinirlar[]` (string[], zorunlu) — Human-readable limitations.
- `veri_durumu.raporlar.dayanak_ilan_sayisi` (integer, null, zorunlu) — Number of distinct notices used.
- `veri_durumu.gercek_faydalanicilar` (VeriDurumuBolum, zorunlu)
- `veri_durumu.gercek_faydalanicilar.durum` (string, zorunlu) — tam (complete) · kismi (partial) · yok (looked, none) · hazirlaniyor (being prepared) · yayimlanmiyor (the source does not publish it). Değerler: tam, kismi, yok, hazirlaniyor, yayimlanmiyor.
- `veri_durumu.gercek_faydalanicilar.yontem` (string, null, zorunlu) — ilandan (single notice) · ilandan_kuruldu (rebuilt from notices) · turetilmis (rule-based) · yapay_zeka (AI) Değerler: ilandan, ilandan_kuruldu, turetilmis, yapay_zeka.
- `veri_durumu.gercek_faydalanicilar.sinirlar[]` (string[], zorunlu) — Human-readable limitations.
- `veri_durumu.gercek_faydalanicilar.dayanak_ilan_sayisi` (integer, null, zorunlu) — Number of distinct notices used.
- `veri_durumu.durum` (VeriDurumuBolum)
- `veri_durumu.durum.durum` (string, zorunlu) — tam (complete) · kismi (partial) · yok (looked, none) · hazirlaniyor (being prepared) · yayimlanmiyor (the source does not publish it). Değerler: tam, kismi, yok, hazirlaniyor, yayimlanmiyor.
- `veri_durumu.durum.yontem` (string, null, zorunlu) — ilandan (single notice) · ilandan_kuruldu (rebuilt from notices) · turetilmis (rule-based) · yapay_zeka (AI) Değerler: ilandan, ilandan_kuruldu, turetilmis, yapay_zeka.
- `veri_durumu.durum.sinirlar[]` (string[], zorunlu) — Human-readable limitations.
- `veri_durumu.durum.dayanak_ilan_sayisi` (integer, null, zorunlu) — Number of distinct notices used.
- `veri_durumu.uyum_sinyalleri` (VeriDurumuBolum)
- `veri_durumu.uyum_sinyalleri.durum` (string, zorunlu) — tam (complete) · kismi (partial) · yok (looked, none) · hazirlaniyor (being prepared) · yayimlanmiyor (the source does not publish it). Değerler: tam, kismi, yok, hazirlaniyor, yayimlanmiyor.
- `veri_durumu.uyum_sinyalleri.yontem` (string, null, zorunlu) — ilandan (single notice) · ilandan_kuruldu (rebuilt from notices) · turetilmis (rule-based) · yapay_zeka (AI) Değerler: ilandan, ilandan_kuruldu, turetilmis, yapay_zeka.
- `veri_durumu.uyum_sinyalleri.sinirlar[]` (string[], zorunlu) — Human-readable limitations.
- `veri_durumu.uyum_sinyalleri.dayanak_ilan_sayisi` (integer, null, zorunlu) — Number of distinct notices used.
- `veri_durumu.hukuki_bicim` (VeriDurumuBolum)
- `veri_durumu.hukuki_bicim.durum` (string, zorunlu) — tam (complete) · kismi (partial) · yok (looked, none) · hazirlaniyor (being prepared) · yayimlanmiyor (the source does not publish it). Değerler: tam, kismi, yok, hazirlaniyor, yayimlanmiyor.
- `veri_durumu.hukuki_bicim.yontem` (string, null, zorunlu) — ilandan (single notice) · ilandan_kuruldu (rebuilt from notices) · turetilmis (rule-based) · yapay_zeka (AI) Değerler: ilandan, ilandan_kuruldu, turetilmis, yapay_zeka.
- `veri_durumu.hukuki_bicim.sinirlar[]` (string[], zorunlu) — Human-readable limitations.
- `veri_durumu.hukuki_bicim.dayanak_ilan_sayisi` (integer, null, zorunlu) — Number of distinct notices used.
- `gercek_faydalanicilar` (string, zorunlu) — Beneficial ownership is not published in a public register in Türkiye; the profile calculates it from the shareholdings in the notices. Değerler: yayimlanmiyor.
- `durum` (StandartDurum) — Status standardised from notice wording by fixed rules.
- `durum.kod` (string, zorunlu)
- `durum.ad` (string)
- `durum.ad_en` (string)
- `durum.uluslararasi` (string, null)
- `durum.renk` (string, null)
- `durum.tuzel_kisilik_suruyor` (boolean, null)
- `durum.yerel_durum` (string, null)
- `durum.kapanis_nedeni` (object, null)
- `durum.baslangic` (string, null)
- `durum.kapanis_tarihi` (string, null)
- `durum.kaynak` (object, null)
- `durum.dayanak` (string, null)
- `durum.aciklama` (string, null)
- `durum.aciklama_en` (string, null)
- `durum.gecmis[]` (object[])
- `uyum_sinyalleri[]` (UyumSinyali[])
- `uyum_sinyalleri[].tur` (string, zorunlu)
- `uyum_sinyalleri[].ad` (string)
- `uyum_sinyalleri[].ad_en` (string)
- `uyum_sinyalleri[].aktif` (boolean, null, zorunlu)
- `uyum_sinyalleri[].aciklama` (string)
- `uyum_sinyalleri[].aciklama_en` (string)
- `uyum_sinyalleri[].kaynak` (object, null)
- `uyum_sinyalleri[].tarih` (string, null)
- `uyum_sinyalleri[].tarih_tr` (string, null)
- `uyum_sinyalleri[].dayanak` (string, null)

```json
{
  "sirket": {
    "id": "DENEME-100001",
    "unvan": "ÖRNEK DENEME SANAYİ VE TİCARET ANONİM ŞİRKETİ",
    "mudurluk": "İSTANBUL",
    "sicil_no": "DENEME-100001"
  },
  "tum_gazeteler_zip": "https://ulawk.com/api/v1/sirketler/DENEME-100001/pdfler/",
  "profil_hazir": true,
  "guncelleme": "2026-10-01T00:00:00+03:00",
  "ozet": "ÖRNEK DENEME SANAYİ VE TİCARET ANONİM ŞİRKETİ deneme ortamı için uydurulmuş bir anonim şirketdir; gerçek bir şirket değildir.",
  "kimlik": {
    "unvan": "ÖRNEK DENEME SANAYİ VE TİCARET ANONİM ŞİRKETİ",
    "tur": "Anonim Şirket",
    "merkez": "Örnek Mahallesi Deneme Caddesi No:1 İstanbul",
    "kurulus_tarihi": "2015-03-02",
    "sermaye": "1.000.000,00 TL",
    "durum": "Faal",
    "durum_aciklama": "Deneme verisi.",
    "hukuki_bicim_standart": {
      "kod": "TR_AS",
      "yerel_ad": "Anonim şirket",
      "kisaltma": "A.Ş.",
      "en_ad": "Joint-stock company",
      "standart_kategori": {
        "kod": "ANONIM",
        "ad": "Sermaye şirketi",
        "en": "Corporation"
      },
      "iso20275": "W2SQ",
      "iso20275_liste": "ISO 20275 ELF kod listesi, 16.10.2026 tarihli sorgu",
      "ulke": "TR",
      "ana_bicim": null,
      "girdi": "Anonim Şirket"
    },
    "kaynak": {
      "ilan_id": 9000000,
      "ilan_tarihi": "2015-03-02",
      "ilan_turu": "KURULUŞ",
      "alinti": "ÖRNEK DENEME SANAYİ VE TİCARET ANONİM ŞİRKETİ kurulmuştur",
      "alinti_dogrulandi": true,
      "gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9000000/pdf/",
      "vurgu": null
    }
  },
  "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"
      }
    }
  ],
  "sermaye": [
    {
      "tarih": "2015-03-02",
      "islem": "Kuruluş",
      "onceki": null,
      "yeni": "1.000.000,00 TL",
      "kaynak": {
        "ilan_id": 9000000,
        "ilan_tarihi": "2015-03-02",
        "ilan_turu": "KURULUŞ",
        "alinti": "sermayesi 1.000.000,00 TL",
        "alinti_dogrulandi": true,
        "gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9000000/pdf/",
        "vurgu": null
      }
    },
    {
      "tarih": "2018-06-11",
      "islem": "Artırım",
      "onceki": "1.000.000,00 TL",
      "yeni": "2.000.000,00 TL",
      "kaynak": {
        "ilan_id": 9000001,
        "ilan_tarihi": "2018-06-11",
        "ilan_turu": "SERMAYE ARTIRIMI",
        "alinti": "sermaye artırılmıştır",
        "alinti_dogrulandi": true,
        "gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9000001/pdf/",
        "vurgu": null
      }
    }
  ],
  "ortaklik": [
    {
      "tarih": "2015-03-02",
      "isim": "Ayşe Örnek",
      "pay_tutari": "600.000,00 TL",
      "pay_orani": "60",
      "kaynak": {
        "ilan_id": 9000000,
        "ilan_tarihi": "2015-03-02",
        "ilan_turu": "KURULUŞ",
        "alinti": "Ayşe Örnek 600.000,00 TL",
        "alinti_dogrulandi": true,
        "gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9000000/pdf/",
        "vurgu": null
      }
    },
    {
      "tarih": "2015-03-02",
      "isim": "Mehmet Deneme",
      "pay_tutari": "400.000,00 TL",
      "pay_orani": "40",
      "kaynak": {
        "ilan_id": 9000000,
        "ilan_tarihi": "2015-03-02",
        "ilan_turu": "KURULUŞ",
        "alinti": "Mehmet Deneme 400.000,00 TL",
        "alinti_dogrulandi": true,
        "gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9000000/pdf/",
        "vurgu": null
      }
    }
  ],
  "unvan_adres": [
    {
      "tarih": "2023-09-04",
      "tur": "adres",
      "deger": "Yeni Deneme Sokak No:2 İstanbul",
      "kaynak": {
        "ilan_id": 9000003,
        "ilan_tarihi": "2023-09-04",
        "ilan_turu": "ADRES DEĞİŞİKLİĞİ",
        "alinti": "adresine taşınmıştır",
        "alinti_dogrulandi": true,
        "gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9000003/pdf/",
        "vurgu": null
      }
    }
  ],
  "esas_sozlesme": [
    {
      "madde": "1",
      "baslik": "Unvan",
      "hukum": "Şirketin unvanı ÖRNEK DENEME SANAYİ VE TİCARET ANONİM ŞİRKETİ'dir.",
      "son_degisiklik": "2015-03-02",
      "kaynak": {
        "ilan_id": 9000000,
        "ilan_tarihi": "2015-03-02",
        "ilan_turu": "KURULUŞ",
        "alinti": "şirketin unvanı",
        "alinti_dogrulandi": true,
        "gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9000000/pdf/",
        "vurgu": null
      }
    }
  ],
  "degisiklikler": [
    {
      "tur": "yetkili-atama",
      "tarih": "2026-10-16",
      "ozet": "Ali Denemeci göreve başladı (Yönetim Kurulu Üyesi · Müşterek)",
      "kaynak": {
        "ilan_id": 9000005,
        "ilan_tarihi": "2026-10-16",
        "ilan_turu": "TEMSİL VE İLZAM / YETKİLİ ATAMA",
        "alinti": "Ali Denemeci seçilmiştir",
        "alinti_dogrulandi": true,
        "gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9000005/pdf/",
        "vurgu": null
      },
      "gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9000005/pdf/",
      "isim": "Ali Denemeci",
      "sifat": "Yönetim Kurulu Üyesi",
      "kategori": "yetkililer"
    },
    {
      "tur": "sermaye",
      "tarih": "2026-10-14",
      "ozet": "Artırım: 2.000.000,00 TL → 4.000.000,00 TL",
      "kaynak": {
        "ilan_id": 9000004,
        "ilan_tarihi": "2026-10-14",
        "ilan_turu": "SERMAYE ARTIRIMI",
        "alinti": "sermaye artırılmıştır",
        "alinti_dogrulandi": true,
        "gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9000004/pdf/",
        "vurgu": null
      },
      "gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9000004/pdf/",
      "onceki": "2.000.000,00 TL",
      "yeni": "4.000.000,00 TL",
      "kategori": "sermaye"
    }
  ],
  "son_gazete": {
    "ilan_id": 9000005,
    "tarih": "2026-10-16",
    "tur": "TEMSİL VE İLZAM / YETKİLİ ATAMA",
    "gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9000005/pdf/",
    "gazete_arsivde": true
  },
  "ilanlar": [
    {
      "ilan_id": 9000005,
      "tarih": "2026-10-16",
      "tur": "TEMSİL VE İLZAM / YETKİLİ ATAMA",
      "kategori": "yonetim",
      "kategori_ad": "Yönetim ve temsil",
      "sicil_no": "DENEME-100001",
      "sayi": "10005",
      "sayfa": "6",
      "baslik": "Yeni yönetim kurulu üyesi atandı",
      "aciklama": "Deneme açıklaması: Yeni yönetim kurulu üyesi atandı.",
      "kaynak": {
        "ilan_id": 9000005,
        "ilan_tarihi": "2026-10-16",
        "ilan_turu": "TEMSİL VE İLZAM / YETKİLİ ATAMA",
        "alinti": "deneme ilan metni 9000005",
        "alinti_dogrulandi": true,
        "gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9000005/pdf/",
        "vurgu": null
      },
      "gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9000005/pdf/",
      "gazete_arsivde": true,
      "degisiklik_kategorisi": "yetkililer"
    },
    {
      "ilan_id": 9000004,
      "tarih": "2026-10-14",
      "tur": "SERMAYE ARTIRIMI",
      "kategori": "sermaye",
      "kategori_ad": "Sermaye",
      "sicil_no": "DENEME-100001",
      "sayi": "10004",
      "sayfa": "5",
      "baslik": "Sermaye yeniden artırıldı",
      "aciklama": "Deneme açıklaması: Sermaye yeniden artırıldı.",
      "kaynak": {
        "ilan_id": 9000004,
        "ilan_tarihi": "2026-10-14",
        "ilan_turu": "SERMAYE ARTIRIMI",
        "alinti": "deneme ilan metni 9000004",
        "alinti_dogrulandi": true,
        "gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9000004/pdf/",
        "vurgu": null
      },
      "gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9000004/pdf/",
      "gazete_arsivde": true,
      "degisiklik_kategorisi": "sermaye"
    }
  ],
  "raporlar": [],
  "aciklama_degisiklikler": "`degisiklikler`: yetkili/sermaye/ortaklık/unvan-adres/esas sözleşme/durum değişiklikleri tek kronolojik akışta (yeniden eskiye); her satır kaynak gazetesinin PDF bağlantısını ve sabit `kategori`yi taşır. `son_gazete`: şirketin en yeni ilanı ve PDF'i.",
  "aciklama": "Her kayıt `kaynak` taşır: bilginin geçtiği ilan, ilandan birebir alıntı ve gazete PDF / sayfa görseli bağlantısı. `alinti_dogrulandi=false` ise alıntı ilan metninde birebir bulunamadı.",
  "veri_durumu": {
    "kimlik": {
      "durum": "tam",
      "yontem": "ilandan",
      "sinirlar": [],
      "dayanak_ilan_sayisi": 1
    },
    "yetkililer": {
      "durum": "tam",
      "yontem": "ilandan_kuruldu",
      "sinirlar": [
        "Yalnız Ticaret Sicili Gazetesi'nde ilan edilen atama ve ayrılmalar yansır."
      ],
      "dayanak_ilan_sayisi": 3
    },
    "sermaye": {
      "durum": "tam",
      "yontem": "ilandan_kuruldu",
      "sinirlar": [
        "Yalnız ilan edilen sermaye işlemleri yansır."
      ],
      "dayanak_ilan_sayisi": 3
    },
    "ortaklik": {
      "durum": "kismi",
      "yontem": "ilandan_kuruldu",
      "sinirlar": [
        "Anonim şirketlerde pay devirleri ilan edilmez (pay defteri şirkette tutulur); liste kuruluş ve ilan edilen değişiklikleri yansıtır, bugünkü pay sahipliğini göstermeyebilir."
      ],
      "dayanak_ilan_sayisi": 1
    },
    "unvan_adres": {
      "durum": "tam",
      "yontem": "ilandan_kuruldu",
      "sinirlar": [
        "Yalnız ilan edilen unvan ve adres değişiklikleri yansır."
      ],
      "dayanak_ilan_sayisi": 1
    },
    "esas_sozlesme": {
      "durum": "tam",
      "yontem": "yapay_zeka",
      "sinirlar": [
        "Esas sözleşmenin tam metni değildir: ilan edilen maddelerin güncel hükmü ilan metninden yapay zekâ ile özetlenmiştir; birebir metin için kaynak alıntısına ve gazeteye bakın."
      ],
      "dayanak_ilan_sayisi": 1
    },
    "ozet": {
      "durum": "tam",
      "yontem": "yapay_zeka",
      "sinirlar": [
        "Ilanlardan yapay zekâ ile yazılmış tarafsız özettir; ayrıntılar kaynaklı bölümlerdedir."
      ],
      "dayanak_ilan_sayisi": 6
    },
    "ilanlar": {
      "durum": "tam",
      "yontem": "ilandan",
      "sinirlar": [],
      "dayanak_ilan_sayisi": 6
    },
    "raporlar": {
      "durum": "yok",
      "yontem": "yapay_zeka",
      "sinirlar": [
        "Bu şirket için rapor istenmedi."
      ],
      "dayanak_ilan_sayisi": null
    },
    "gercek_faydalanicilar": {
      "durum": "yayimlanmiyor",
      "yontem": null,
      "sinirlar": [
        "Türkiye'de gerçek faydalanıcı bilgisi herkese açık bir sicilde yayımlanmaz; ortaklık bölümü yalnız ilanlarda adı geçen ortakları gösterir."
      ],
      "dayanak_ilan_sayisi": null
    },
    "hukuki_bicim": {
      "durum": "tam",
      "yontem": "turetilmis",
      "sinirlar": [
        "Unvandaki ve ilanlardaki şirket türünden sabit kurallarla eşlenmiştir."
      ],
      "dayanak_ilan_sayisi": null
    }
  },
  "gercek_faydalanicilar": "yayimlanmiyor",
  "aciklama_veri_durumu": "`veri_durumu`: her bölümün tamlığı (tam/kismi/yok/hazirlaniyor/yayimlanmiyor), nasıl elde edildiği, sınırları ve dayandığı ilan sayısı. Boş liste `[]` = baktık, kayıt yok; `null` ya da anahtarın olmaması = mevcut değil / istenmedi / hazırlanıyor."
}
```

### 404 — Not found or no access (`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 — The official source is unreachable right now (`kaynak_erisilemiyor`, taraf kaynak). Sandbox: 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 — Missing or invalid key (`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 — Hourly rate limit exceeded (`hiz_siniri`); the Retry-After header gives the seconds until reset.

Retry-After: `2494`

```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": 2494
  }
}
```

### 500 — Unexpected error (`ic_hata`, taraf ulawk); retry shortly.

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
  }
}
```

## Request

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