# Verification report and signing check

## Verification report

`GET /api/v1/sirketler/{id}/dogrulama-raporu.pdf` produces a sealed PDF from the company's sourced profile. Every fact carries its source notice reference (date · issue · page) and a short verbatim quote. The seal on the cover states how well facts are **tied to their sources**, not whether the content is true:

| Seal | When |
|---|---|
| `DOGRULANDI` | Profile ready; identity, officers and capital `tam`; no section partial or in preparation; every quote verified in the notice text. |
| `KISMI` | Profile ready but a condition is not met; reasons on the cover and in `muhur.gerekceler`. |
| `DOGRULANMADI` | Profile not ready yet. |

- The report id (`DR-…`) is derived from the content: the same content gives the same id; `?rapor=DR-…` re-downloads the same report free.
- `?bicim=json` returns the same content as JSON, `?bicim=html` as a printable page; `?dil=en` gives an English report.
- `?tam_zorunlu=1`: `409 veri_eksik` unless the seal is `DOGRULANDI` (body has `muhur`, `bekleyen_bolumler`, `rapor_kimligi`; retryable).
- Headers: `X-Ulawk-Rapor-Kimligi`, `X-Ulawk-Muhur`, `X-Ulawk-Icerik-Ozeti`, `X-Ulawk-Veri-Durumu`.

```bash
curl "https://ulawk.com/api/v1/sirketler/DENEME-100001/dogrulama-raporu.pdf?bicim=json" \
  -H "X-API-Key: ulk_DENEME_ANAHTARINIZ" -H "X-API-Secret: ulsk_DENEME_GIZLI_ANAHTARINIZ"
```

## Signing check

`POST /api/v1/sirketler/{id}/imza-kontrol/` answers "may this person represent the company on this date, for this transaction and amount?" from representation decisions in the notices, terms of office and, if published, the internal directive. The result is `yetkili`, `yetkili_degil` or `belirsiz`; every reason (`gerekceler`) and rule applied (`kurallar`) carries its source notice. Under joint representation pass co-signers in `birlikte`; `birlikte_imza` lists who may co-sign.

```bash
curl -X POST https://ulawk.com/api/v1/sirketler/DENEME-100001/imza-kontrol/ \
  -H "X-API-Key: ulk_DENEME_ANAHTARINIZ" -H "X-API-Secret: ulsk_DENEME_GIZLI_ANAHTARINIZ" -H "Content-Type: application/json" \
  -d '{"kisi": "Ayşe Örnek", "tarih": "2026-10-01", "tutar": 1500000, "islem": "kredi"}'
```

`GET …/imza-kontrol/` without `kisi` returns the officer names in the profile (for a picker).

> The result is based on published notices: changes registered but not yet published do not appear. Not legal advice; confirm against the current signature circular.
