{
  "components": {
    "headers": {
      "Deprecation": {
        "description": "RFC 9745 yapılandırılmış tarih `@<unix_epoch>`; yalnız kaldırılacak işlemlerde.",
        "schema": {
          "type": "string"
        }
      },
      "ETag": {
        "description": "Yapılandırma kaynağı sürümü `\"<version>\"`.",
        "schema": {
          "type": "string"
        }
      },
      "Idempotent-Replayed": {
        "description": "Saklanan yanıt tekrar oynatıldığında `true`.",
        "schema": {
          "enum": [
            "true"
          ],
          "type": "string"
        }
      },
      "Idp-Request-Id": {
        "description": "Kenarın ürettiği UUIDv7 istek kimliği; problem gövdesindeki `request_id` ile aynı.",
        "schema": {
          "type": "string"
        }
      },
      "Idp-Stability": {
        "description": "`beta` işlemlerde `beta`.",
        "schema": {
          "enum": [
            "beta"
          ],
          "type": "string",
          "x-idp-open-enum": true
        }
      },
      "Link": {
        "description": "`rel=\"deprecation\"` ve `rel=\"sunset\"` doküman bağlantıları.",
        "schema": {
          "type": "string"
        }
      },
      "Location": {
        "description": "Yönlendirme hedefi.",
        "schema": {
          "format": "uri",
          "type": "string"
        }
      },
      "RateLimit": {
        "description": "IETF httpapi RateLimit taslağı.",
        "schema": {
          "type": "string"
        }
      },
      "RateLimit-Policy": {
        "description": "IETF httpapi RateLimit taslağı; sözdizimi Faz 0'da sabitlenir.",
        "schema": {
          "type": "string"
        }
      },
      "Retry-After": {
        "description": "Saniye.",
        "schema": {
          "minimum": 0,
          "type": "integer"
        }
      },
      "Sunset": {
        "description": "RFC 8594 IMF-fixdate.",
        "schema": {
          "type": "string"
        }
      },
      "WWW-Authenticate": {
        "description": "`Bearer`.",
        "schema": {
          "type": "string"
        }
      }
    },
    "parameters": {
      "AdminPortalLinkOrganizationFilter": {
        "description": "Yalnız bu org'un bağlantıları (`org_…`).",
        "in": "query",
        "name": "organization_id",
        "required": false,
        "schema": {
          "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "type": "string"
        }
      },
      "After": {
        "description": "Opak imleç; `before` ile birlikte kullanılamaz.",
        "in": "query",
        "name": "after",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "AuditAction": {
        "description": "Eylem öneki (`user.` ya da `connection.updated`).",
        "in": "query",
        "name": "action",
        "required": false,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "pattern": "^[a-z][a-z0-9_.]*$",
          "type": "string"
        }
      },
      "AuditActorId": {
        "description": "Aktörün kayıttaki kimliği (`key_…`, `usr_…`, `du_…`, `system:<servis>`); tam eşleşme.",
        "in": "query",
        "name": "actor_id",
        "required": false,
        "schema": {
          "maxLength": 512,
          "minLength": 1,
          "type": "string"
        }
      },
      "AuditActorType": {
        "description": "Aktör türü (`dashboard_user`, `api_key`, `m2m_client`, `end_user`, `scim_directory`, `agent`, `staff`, `system`, `anonymous`; `application` akışında müşteri tanımlı türler).",
        "in": "query",
        "name": "actor_type",
        "required": false,
        "schema": {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        }
      },
      "AuditAgentOnly": {
        "description": "`true` ise yalnız ajan eylemleri: `actor_type = agent` ya da `act_chain` dolu.",
        "in": "query",
        "name": "agent_only",
        "required": false,
        "schema": {
          "default": false,
          "type": "boolean"
        }
      },
      "AuditCategory": {
        "description": "Kayıt kategorisi.",
        "in": "query",
        "name": "category",
        "required": false,
        "schema": {
          "enum": [
            "authentication",
            "session",
            "token",
            "administration",
            "provisioning",
            "federation",
            "authorization",
            "data_access",
            "security",
            "key_management",
            "configuration",
            "application"
          ],
          "type": "string"
        }
      },
      "AuditClient": {
        "description": "Çağrıyı yapan istemcinin sınıfı: `mcp` yönetim MCP sunucusu (`metadata.client` = `mcp/<sürüm>`), `cli` KeenAuth CLI (`cli/<sürüm>`). Değer istemcinin beyanıdır, yetki kanıtı değildir; sorumluluk kaydın aktöründedir. Yalnız listede; dışa aktarma gövdesinde yoktur.",
        "in": "query",
        "name": "client",
        "required": false,
        "schema": {
          "enum": [
            "mcp",
            "cli"
          ],
          "type": "string"
        }
      },
      "AuditFrom": {
        "description": "Dahil alt sınır (RFC 3339). Yoksa saklama penceresinin başı ile `to` − 92 günden geç olanı; pencere dışı değer `400 range_outside_retention` döner.",
        "in": "query",
        "name": "from",
        "required": false,
        "schema": {
          "format": "date-time",
          "type": "string"
        }
      },
      "AuditStream": {
        "description": "Akış: `admin` (yönetim API'si, pano ve platform değişiklikleri) ya da `application`. Varsayılan `admin`.",
        "in": "query",
        "name": "stream",
        "required": false,
        "schema": {
          "default": "admin",
          "enum": [
            "admin",
            "application"
          ],
          "type": "string"
        }
      },
      "AuditTargetId": {
        "description": "Hedefin kayıttaki kimliği; `target_type` ile birlikte verilirse ikisi aynı hedef öğesinde eşleşir.",
        "in": "query",
        "name": "target_id",
        "required": false,
        "schema": {
          "maxLength": 512,
          "minLength": 1,
          "type": "string"
        }
      },
      "AuditTargetType": {
        "description": "Hedef türü (`user`, `organization`, `connection`, `audit_export` …).",
        "in": "query",
        "name": "target_type",
        "required": false,
        "schema": {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        }
      },
      "AuditTo": {
        "description": "Hariç üst sınır (RFC 3339). Yoksa şimdi; `from` verilmişse ondan sonra olmalıdır ve aralık en çok 92 gündür.",
        "in": "query",
        "name": "to",
        "required": false,
        "schema": {
          "format": "date-time",
          "type": "string"
        }
      },
      "Before": {
        "description": "Opak imleç; `after` ile birlikte kullanılamaz.",
        "in": "query",
        "name": "before",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "ConfigExportKinds": {
        "description": "Belgeye girecek türler, virgülle ayrılmış (`environment_settings`, `identity_settings`, `attack_protection`, `branding`, `connection`, `api`, `role`, `application`, `application_branding`); yoksa bütün türler. Bilinmeyen tür, boş öğe ya da tekrarlanan parametre `422 validation_failed`.",
        "explode": false,
        "in": "query",
        "name": "kinds",
        "required": false,
        "schema": {
          "items": {
            "enum": [
              "environment_settings",
              "identity_settings",
              "attack_protection",
              "branding",
              "connection",
              "api",
              "role",
              "application",
              "application_branding"
            ],
            "type": "string"
          },
          "minItems": 1,
          "type": "array"
        },
        "style": "form"
      },
      "CustomDomainIncludeReleased": {
        "description": "true ise bırakılmış (`released`) kayıtlar da döner; `status` verilmişse yok sayılır.",
        "in": "query",
        "name": "include_released",
        "required": false,
        "schema": {
          "default": false,
          "type": "boolean"
        }
      },
      "CustomDomainStatus": {
        "description": "Yalnız bu durumdaki kayıtlar (`released` dahil olabilir).",
        "in": "query",
        "name": "status",
        "required": false,
        "schema": {
          "enum": [
            "pending_dns",
            "issuing",
            "active",
            "degraded",
            "disabled",
            "released"
          ],
          "type": "string"
        }
      },
      "DirectoryOrganizationFilter": {
        "description": "Yalnız bu org'un dizinleri (`org_…`).",
        "in": "query",
        "name": "organization_id",
        "required": false,
        "schema": {
          "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "type": "string"
        }
      },
      "DirectoryStateFilter": {
        "description": "Yalnız bu durumdaki dizinler.",
        "in": "query",
        "name": "state",
        "required": false,
        "schema": {
          "enum": [
            "inactive",
            "active"
          ],
          "type": "string",
          "x-idp-open-enum": true
        }
      },
      "DirectoryTypeFilter": {
        "description": "Yalnız bu türdeki dizinler.",
        "in": "query",
        "name": "type",
        "required": false,
        "schema": {
          "enum": [
            "scim"
          ],
          "type": "string",
          "x-idp-open-enum": true
        }
      },
      "DirectoryUserGroupFilter": {
        "description": "Yalnız bu dizin grubunun (`dsg_…`) üyeleri; başka dizinin grubu boş sonuç verir.",
        "in": "query",
        "name": "group_id",
        "required": false,
        "schema": {
          "pattern": "^dsg_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "type": "string"
        }
      },
      "DirectoryUserStateFilter": {
        "description": "Yalnız bu durumdaki dizin kullanıcıları; başka değer `422`.",
        "in": "query",
        "name": "state",
        "required": false,
        "schema": {
          "enum": [
            "active",
            "inactive",
            "held"
          ],
          "type": "string"
        }
      },
      "EffectivePermissionsApiId": {
        "description": "Sonucu bir API'nin izinlerine daraltır.",
        "in": "query",
        "name": "api_id",
        "required": false,
        "schema": {
          "pattern": "^api_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "type": "string"
        }
      },
      "EffectivePermissionsOrgId": {
        "description": "Verilirse kullanıcının bu org'daki etkin üyeliğinin rolleri de hesaba katılır; org bu ortamda yoksa `404`.",
        "in": "query",
        "name": "org_id",
        "required": false,
        "schema": {
          "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "type": "string"
        }
      },
      "EventsAfter": {
        "description": "Önceki yanıtın `next_cursor` değeri ya da `latest` (yalnız bundan sonraki olaylar). Yoksa en eski saklanan olaydan başlar. Başka ortamın ya da bozuk imleç `400 invalid_cursor`.",
        "in": "query",
        "name": "after",
        "required": false,
        "schema": {
          "maxLength": 512,
          "minLength": 1,
          "type": "string"
        }
      },
      "EventsLimit": {
        "in": "query",
        "name": "limit",
        "required": false,
        "schema": {
          "default": 20,
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        }
      },
      "EventsOrgId": {
        "description": "Yalnız bu organizasyonun bağlamındaki olaylar (`org_…`).",
        "in": "query",
        "name": "org_id",
        "required": false,
        "schema": {
          "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "type": "string"
        }
      },
      "EventsPayload": {
        "description": "Yük kipi. `full` kimlik bilgisinin ayrıca `users:read` taşımasını ister (yoksa `403 insufficient_permissions`); zenginleştirme gelene kadar `full` de ince yükü taşır.",
        "in": "query",
        "name": "payload",
        "required": false,
        "schema": {
          "default": "thin",
          "enum": [
            "thin",
            "full"
          ],
          "type": "string",
          "x-idp-open-enum": true
        }
      },
      "EventsPurpose": {
        "description": "İsteğin amacı. `webhooks_listen` (CLI `webhooks listen`) yalnız `development` ve `staging` ortamında çalışır; üretimde `403 test_feature_not_in_production`.",
        "in": "query",
        "name": "purpose",
        "required": false,
        "schema": {
          "default": "tail",
          "enum": [
            "tail",
            "webhooks_listen"
          ],
          "type": "string"
        }
      },
      "EventsTypes": {
        "description": "Virgülle ayrılmış olay türleri (en çok 20, örneğin `user.created,user.deleted`); yoksa bütün türler.",
        "explode": false,
        "in": "query",
        "name": "types",
        "required": false,
        "schema": {
          "items": {
            "maxLength": 64,
            "pattern": "^[a-z][a-z0-9_]*\\.[a-z][a-z0-9_]*$",
            "type": "string"
          },
          "maxItems": 20,
          "type": "array"
        },
        "style": "form"
      },
      "IdempotencyKey": {
        "description": "Yan etkili POST için isteğe bağlı; 24 saat geçerli; aynı anahtar + farklı gövde → 422 idempotency_key_reuse.",
        "in": "header",
        "name": "Idempotency-Key",
        "required": false,
        "schema": {
          "pattern": "^[A-Za-z0-9_-]{16,64}$",
          "type": "string"
        }
      },
      "IdempotencyKeyRequired": {
        "description": "Bu işlemde zorunlu; yoksa 400 malformed_request.",
        "in": "header",
        "name": "Idempotency-Key",
        "required": true,
        "schema": {
          "pattern": "^[A-Za-z0-9_-]{16,64}$",
          "type": "string"
        }
      },
      "IdpClient": {
        "description": "SDK telemetri başlığı `<paket>/<sürüm> (<çalışma_zamanı>/<sürüm>)`; kimlik doğrulama değildir.",
        "in": "header",
        "name": "Idp-Client",
        "required": false,
        "schema": {
          "maxLength": 256,
          "type": "string"
        }
      },
      "IdpClientRequestId": {
        "description": "İstemcinin kendi istek kimliği, 1–128 yazdırılabilir ASCII.",
        "in": "header",
        "name": "Idp-Client-Request-Id",
        "required": false,
        "schema": {
          "maxLength": 128,
          "minLength": 1,
          "type": "string"
        }
      },
      "IdpCorrelationId": {
        "description": "Müşterinin iş akışı kimliği (UUID); ortam loguna, audit'e ve olaylara yazılır.",
        "in": "header",
        "name": "Idp-Correlation-Id",
        "required": false,
        "schema": {
          "format": "uuid",
          "type": "string"
        }
      },
      "IfMatch": {
        "description": "İyimser eşzamanlılık; kullanıcı/üyelik kaynaklarında isteğe bağlı.",
        "in": "header",
        "name": "If-Match",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "IfMatchRequired": {
        "description": "Yapılandırma kaynağında zorunlu; yoksa 428, eşleşmezse 412.",
        "in": "header",
        "name": "If-Match",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "InactiveMembersCursor": {
        "description": "Önceki yanıtın `next_cursor` değeri; yalnız üretildiği ortam, `organization_id` ve `days` ile geçerlidir.",
        "in": "query",
        "name": "cursor",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "InactiveMembersDays": {
        "description": "Hareketsizlik eşiği (gün): bu kadar gündür org bağlamında girişi olmayan üyeler.",
        "in": "query",
        "name": "days",
        "required": false,
        "schema": {
          "default": 30,
          "maximum": 365,
          "minimum": 7,
          "type": "integer"
        }
      },
      "InactiveMembersOrganization": {
        "description": "Raporun org'u (`org_…`); zorunlu.",
        "in": "query",
        "name": "organization_id",
        "required": true,
        "schema": {
          "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "type": "string"
        }
      },
      "InvitationEmailFilter": {
        "description": "Davet e-postası (tam eşleşme, büyük/küçük harf duyarsız).",
        "in": "query",
        "name": "email",
        "required": false,
        "schema": {
          "maxLength": 320,
          "type": "string"
        }
      },
      "InvitationOrganizationFilter": {
        "description": "Yalnız bu org'un davetleri (`org_…`).",
        "in": "query",
        "name": "organization_id",
        "required": false,
        "schema": {
          "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "type": "string"
        }
      },
      "InvitationStatusFilter": {
        "description": "Davet durumu süzgeci.",
        "in": "query",
        "name": "status",
        "required": false,
        "schema": {
          "enum": [
            "pending",
            "accepted",
            "revoked",
            "expired"
          ],
          "type": "string"
        }
      },
      "LegalDocumentApplicationId": {
        "description": "Yalnız bu uygulamaya özel belgeler (`app_` önekli dış kimlik).",
        "in": "query",
        "name": "application_id",
        "required": false,
        "schema": {
          "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "type": "string"
        }
      },
      "LegalDocumentKind": {
        "description": "Belge türü süzgeci.",
        "in": "query",
        "name": "kind",
        "required": false,
        "schema": {
          "enum": [
            "terms",
            "privacy_notice",
            "custom"
          ],
          "type": "string"
        }
      },
      "Limit": {
        "in": "query",
        "name": "limit",
        "required": false,
        "schema": {
          "default": 20,
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        }
      },
      "LogApplicationId": {
        "description": "Uygulama (`app_` önekli dış kimlik).",
        "in": "query",
        "name": "application_id",
        "required": false,
        "schema": {
          "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "type": "string"
        }
      },
      "LogConnectionId": {
        "description": "Bağlantı (`conn_` önekli dış kimlik).",
        "in": "query",
        "name": "connection_id",
        "required": false,
        "schema": {
          "pattern": "^conn_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "type": "string"
        }
      },
      "LogCorrelationId": {
        "description": "İş akışının `Idp-Correlation-Id` değeri (UUID).",
        "in": "query",
        "name": "correlation_id",
        "required": false,
        "schema": {
          "format": "uuid",
          "type": "string"
        }
      },
      "LogDirectoryId": {
        "description": "Dizin (`dir_` önekli dış kimlik).",
        "in": "query",
        "name": "directory_id",
        "required": false,
        "schema": {
          "pattern": "^dir_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "type": "string"
        }
      },
      "LogFrom": {
        "description": "Dahil alt sınır (RFC 3339). Yoksa saklama penceresinin başı; pencere dışı değer `400 range_outside_retention` döner.",
        "in": "query",
        "name": "from",
        "required": false,
        "schema": {
          "format": "date-time",
          "type": "string"
        }
      },
      "LogIp": {
        "description": "Tam IP adresi ya da CIDR bloğu (`203.0.113.0/24`, `2001:db8::/32`). `audit-events:read_ip` izni ister; izin yoksa `403 insufficient_permissions`.",
        "in": "query",
        "name": "ip",
        "required": false,
        "schema": {
          "maxLength": 64,
          "minLength": 2,
          "type": "string"
        }
      },
      "LogIpCountry": {
        "description": "IP'nin ülkesi (ISO 3166-1 alpha-2, büyük harf).",
        "in": "query",
        "name": "ip_country",
        "required": false,
        "schema": {
          "pattern": "^[A-Z]{2}$",
          "type": "string"
        }
      },
      "LogOrgId": {
        "description": "Organizasyon (`org_` önekli dış kimlik).",
        "in": "query",
        "name": "org_id",
        "required": false,
        "schema": {
          "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "type": "string"
        }
      },
      "LogOutcome": {
        "description": "Kaydın sonucu.",
        "in": "query",
        "name": "outcome",
        "required": false,
        "schema": {
          "enum": [
            "success",
            "failure",
            "denied",
            "error"
          ],
          "type": "string"
        }
      },
      "LogQuery": {
        "description": "Girilen tanımlayıcının maskeli ipucunda (`identifier_hint`) önek araması. `users:read_pii` izni ister; izin yoksa `403 insufficient_permissions`.",
        "in": "query",
        "name": "q",
        "required": false,
        "schema": {
          "maxLength": 128,
          "minLength": 1,
          "type": "string"
        }
      },
      "LogRequestId": {
        "description": "İsteğin `Idp-Request-Id` değeri (UUID); hata ekranındaki kimlikle doğrudan arama.",
        "in": "query",
        "name": "request_id",
        "required": false,
        "schema": {
          "format": "uuid",
          "type": "string"
        }
      },
      "LogSessionId": {
        "description": "Oturum (`ses_` önekli dış kimlik).",
        "in": "query",
        "name": "session_id",
        "required": false,
        "schema": {
          "pattern": "^ses_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "type": "string"
        }
      },
      "LogTo": {
        "description": "Hariç üst sınır (RFC 3339). Yoksa şimdi; `from` verilmişse ondan sonra olmalıdır.",
        "in": "query",
        "name": "to",
        "required": false,
        "schema": {
          "format": "date-time",
          "type": "string"
        }
      },
      "LogType": {
        "description": "Log türü önekleri (`authentication.`, `session.created` gibi); parametre tekrarlanarak en çok 20 değer verilir, değerlerden birine uyan kayıtlar döner.",
        "explode": true,
        "in": "query",
        "name": "type",
        "required": false,
        "schema": {
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z0-9_.]+$",
            "type": "string"
          },
          "maxItems": 20,
          "type": "array"
        },
        "style": "form"
      },
      "LogUserId": {
        "description": "Kullanıcı (`usr_` önekli dış kimlik).",
        "in": "query",
        "name": "user_id",
        "required": false,
        "schema": {
          "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "type": "string"
        }
      },
      "MembershipRoleFilter": {
        "description": "Yalnız bu rolü taşıyan üyelikler (`rol_…`).",
        "in": "query",
        "name": "role_id",
        "required": false,
        "schema": {
          "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "type": "string"
        }
      },
      "MembershipStatusFilter": {
        "description": "Üyelik durumu süzgeci.",
        "in": "query",
        "name": "status",
        "required": false,
        "schema": {
          "enum": [
            "invited",
            "active",
            "suspended",
            "removed"
          ],
          "type": "string"
        }
      },
      "MembershipUpdatedAfter": {
        "description": "Yalnız bu andan sonra güncellenen üyelikler (RFC 3339).",
        "in": "query",
        "name": "updated_after",
        "required": false,
        "schema": {
          "format": "date-time",
          "type": "string"
        }
      },
      "Order": {
        "in": "query",
        "name": "order",
        "required": false,
        "schema": {
          "default": "desc",
          "enum": [
            "asc",
            "desc"
          ],
          "type": "string",
          "x-idp-open-enum": true
        }
      },
      "OrganizationDomainDomainFilter": {
        "description": "Tam alan adı (Unicode ya da A-label; sunucu A-label küçük harfe çevirir).",
        "in": "query",
        "name": "domain",
        "required": false,
        "schema": {
          "maxLength": 253,
          "minLength": 1,
          "type": "string"
        }
      },
      "OrganizationDomainFilter": {
        "description": "Doğrulanmış alan adı süzgeci; alan adları özelliği gelene dek desteklenmez ve `422 unsupported` döner.",
        "in": "query",
        "name": "domain",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "OrganizationDomainOrganizationFilter": {
        "description": "Yalnız bu org'un alanları (`org_…`).",
        "in": "query",
        "name": "organization_id",
        "required": false,
        "schema": {
          "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "type": "string"
        }
      },
      "OrganizationDomainStatusFilter": {
        "description": "Durum süzgeci.",
        "in": "query",
        "name": "status",
        "required": false,
        "schema": {
          "enum": [
            "pending",
            "verified",
            "unverified",
            "expired",
            "revoked"
          ],
          "type": "string"
        }
      },
      "OrganizationExternalIdFilter": {
        "description": "`external_id` ile tam eşleşme.",
        "in": "query",
        "name": "external_id",
        "required": false,
        "schema": {
          "maxLength": 255,
          "minLength": 1,
          "type": "string"
        }
      },
      "OrganizationSlugFilter": {
        "description": "Güncel slug ile tam eşleşme (eski slug rezervi çözülmez).",
        "in": "query",
        "name": "slug",
        "required": false,
        "schema": {
          "maxLength": 64,
          "minLength": 1,
          "type": "string"
        }
      },
      "OrganizationStatusFilter": {
        "description": "Durum süzgeci.",
        "in": "query",
        "name": "status",
        "required": false,
        "schema": {
          "enum": [
            "active",
            "disabled",
            "pending_deletion"
          ],
          "type": "string"
        }
      },
      "ReportCursor": {
        "description": "Önceki yanıtın `next_cursor` değeri; yalnız üretildiği ortam, `from` ve `to` ile geçerlidir.",
        "in": "query",
        "name": "cursor",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "ReportFromDate": {
        "description": "Dahil alt sınır, UTC günü (RFC 3339 tam tarih, `YYYY-AA-GG`). Yoksa `to` − 30 gün. Planın derinliğinden eski değer `422 report_range_exceeds_plan` döner.",
        "in": "query",
        "name": "from",
        "required": false,
        "schema": {
          "format": "date",
          "type": "string"
        }
      },
      "ReportLimit": {
        "in": "query",
        "name": "limit",
        "required": false,
        "schema": {
          "default": 50,
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        }
      },
      "ReportToDate": {
        "description": "Dahil üst sınır, UTC günü (RFC 3339 tam tarih, `YYYY-AA-GG`). Yoksa bugün (UTC). `from` ≤ `to` olmalıdır.",
        "in": "query",
        "name": "to",
        "required": false,
        "schema": {
          "format": "date",
          "type": "string"
        }
      },
      "RoleForceDelete": {
        "description": "`true` atanmış rolün üyelik atamalarını silmeyle aynı işlemde kaldırır.",
        "in": "query",
        "name": "force",
        "required": false,
        "schema": {
          "default": false,
          "type": "boolean"
        }
      },
      "SupportAccessGrantStatus": {
        "description": "Durum süzgeci.",
        "in": "query",
        "name": "status",
        "required": false,
        "schema": {
          "enum": [
            "active",
            "revoked",
            "expired"
          ],
          "type": "string"
        }
      },
      "UserCreatedAfter": {
        "description": "Bu andan (RFC 3339) sonra oluşturulanlar.",
        "in": "query",
        "name": "created_after",
        "required": false,
        "schema": {
          "format": "date-time",
          "type": "string"
        }
      },
      "UserCreatedBefore": {
        "description": "Bu andan (RFC 3339) önce oluşturulanlar.",
        "in": "query",
        "name": "created_before",
        "required": false,
        "schema": {
          "format": "date-time",
          "type": "string"
        }
      },
      "UserExternalIdFilter": {
        "description": "Müşterinin kendi kimliğiyle tam eşleşme.",
        "in": "query",
        "name": "external_id",
        "required": false,
        "schema": {
          "maxLength": 255,
          "minLength": 1,
          "type": "string"
        }
      },
      "UserOrgScope": {
        "description": "Org kapsamı: `org_` önekli dış kimlik. Verilirse ek izin `organizations:read` gerekir ve yalnız o org bağlamındaki kayıtlar döner; kullanıcı org'un üyesi değilse `404`.",
        "in": "query",
        "name": "org_id",
        "required": false,
        "schema": {
          "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "type": "string"
        }
      },
      "UserStatusFilter": {
        "description": "Kullanıcı durumuna göre süzer.",
        "in": "query",
        "name": "status",
        "required": false,
        "schema": {
          "enum": [
            "active",
            "blocked",
            "pending_deletion"
          ],
          "type": "string"
        }
      },
      "path_api_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "api_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_application_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "application_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_assignment_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "assignment_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_authenticator_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "authenticator_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_certificate_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "certificate_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_conflict_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "conflict_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_connected_account_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "connected_account_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_connection_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "connection_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_consent_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "consent_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_credential_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "credential_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_custom_domain_id": {
        "description": "Özel alanın önekli dış kimliği (`cdom_…`).",
        "in": "path",
        "name": "custom_domain_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_delivery_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "delivery_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_directory_group_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "directory_group_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_directory_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "directory_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_directory_user_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "directory_user_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_domain_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "domain_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_email_id": {
        "description": "E-posta satırının kimliği: dahili UUID (küçük harf, tireli; planda e-posta öneki yok). Biçimsiz kimlik `404` döner.",
        "in": "path",
        "name": "email_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_endpoint_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "endpoint_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_entry_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "entry_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_environment_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "environment_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_event_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "event_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_export_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "export_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_family": {
        "description": "Yol anahtarı.",
        "in": "path",
        "name": "family",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_grant_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "grant_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_hold_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "hold_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_hook_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "hook_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_identity_id": {
        "description": "Bağlı kimliğin `idn_` önekli dış kimliği.",
        "in": "path",
        "name": "identity_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_incident_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "incident_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_invitation_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "invitation_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_job_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "job_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_key_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "key_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_legal_document_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "legal_document_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_link_id": {
        "description": "Yönetici Portalı bağlantısının önekli dış kimliği; biçim dışı kimlik `404`'tür.",
        "in": "path",
        "name": "link_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_locale": {
        "description": "Yol anahtarı.",
        "in": "path",
        "name": "locale",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_lockout_id": {
        "description": "Kilidin önekli dış kimliği (`lck_…`).",
        "in": "path",
        "name": "lockout_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_log_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "log_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_log_stream_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "log_stream_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_mapping_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "mapping_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_membership_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "membership_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_name": {
        "description": "Yol anahtarı.",
        "in": "path",
        "name": "name",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_org_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "org_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_permission_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "permission_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_plan_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "plan_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_policy_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "policy_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_policy_kind": {
        "description": "Org politikası türü; bilinmeyen tür `404`.",
        "in": "path",
        "name": "policy_kind",
        "required": true,
        "schema": {
          "enum": [
            "authentication_methods",
            "mfa",
            "phishing_resistant",
            "sso_enforcement",
            "session",
            "ip_allowlist"
          ],
          "type": "string"
        }
      },
      "path_privacy_request_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "privacy_request_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_relationship_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "relationship_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_revision_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "revision_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_role_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "role_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_screen": {
        "description": "Yol anahtarı.",
        "in": "path",
        "name": "screen",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_sender_domain_id": {
        "description": "Gönderici alanının önekli dış kimliği (`sdom_…`).",
        "in": "path",
        "name": "sender_domain_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_session_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "session_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_token_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "token_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_type": {
        "description": "Yol anahtarı.",
        "in": "path",
        "name": "type",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_user_id": {
        "description": "Önekli dış kimlik ya da plan satırındaki anahtar.",
        "in": "path",
        "name": "user_id",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "path_version": {
        "description": "Yol anahtarı.",
        "in": "path",
        "name": "version",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      }
    },
    "responses": {
      "E400": {
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        },
        "description": "Problem (malformed_request, unknown_field, invalid_cursor ve plan kataloğundaki diğer 400 kodları); katalog api/openapi/problems.yaml.",
        "headers": {
          "Idp-Request-Id": {
            "$ref": "#/components/headers/Idp-Request-Id"
          }
        }
      },
      "E401": {
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        },
        "description": "Problem (unauthenticated, publishable_key_not_allowed, static_key_disallowed, step_up_required); katalog api/openapi/problems.yaml.",
        "headers": {
          "Idp-Request-Id": {
            "$ref": "#/components/headers/Idp-Request-Id"
          },
          "WWW-Authenticate": {
            "$ref": "#/components/headers/WWW-Authenticate"
          }
        }
      },
      "E403": {
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        },
        "description": "Problem (insufficient_permissions, ip_not_allowed, plan_feature_unavailable, quota_exceeded, account_restricted); katalog api/openapi/problems.yaml.",
        "headers": {
          "Idp-Request-Id": {
            "$ref": "#/components/headers/Idp-Request-Id"
          }
        }
      },
      "E404": {
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        },
        "description": "Problem (not_found (kaynak yok ya da başka ortama ait; varlık sızdırılmaz)); katalog api/openapi/problems.yaml.",
        "headers": {
          "Idp-Request-Id": {
            "$ref": "#/components/headers/Idp-Request-Id"
          }
        }
      },
      "E409": {
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        },
        "description": "Problem (conflict, idempotency_in_progress); katalog api/openapi/problems.yaml.",
        "headers": {
          "Idp-Request-Id": {
            "$ref": "#/components/headers/Idp-Request-Id"
          },
          "Retry-After": {
            "$ref": "#/components/headers/Retry-After"
          }
        }
      },
      "E410": {
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        },
        "description": "Problem (endpoint_sunset, user_deleted); katalog api/openapi/problems.yaml.",
        "headers": {
          "Idp-Request-Id": {
            "$ref": "#/components/headers/Idp-Request-Id"
          }
        }
      },
      "E412": {
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        },
        "description": "Problem (precondition_failed); katalog api/openapi/problems.yaml.",
        "headers": {
          "Idp-Request-Id": {
            "$ref": "#/components/headers/Idp-Request-Id"
          }
        }
      },
      "E413": {
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        },
        "description": "Problem (payload_too_large); katalog api/openapi/problems.yaml.",
        "headers": {
          "Idp-Request-Id": {
            "$ref": "#/components/headers/Idp-Request-Id"
          }
        }
      },
      "E415": {
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        },
        "description": "Problem (unsupported_media_type); katalog api/openapi/problems.yaml.",
        "headers": {
          "Idp-Request-Id": {
            "$ref": "#/components/headers/Idp-Request-Id"
          }
        }
      },
      "E421": {
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        },
        "description": "Problem (wrong_region (+ correct_host)); katalog api/openapi/problems.yaml.",
        "headers": {
          "Idp-Request-Id": {
            "$ref": "#/components/headers/Idp-Request-Id"
          }
        }
      },
      "E422": {
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        },
        "description": "Problem (validation_failed, idempotency_key_reuse); katalog api/openapi/problems.yaml.",
        "headers": {
          "Idp-Request-Id": {
            "$ref": "#/components/headers/Idp-Request-Id"
          }
        }
      },
      "E428": {
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        },
        "description": "Problem (precondition_required); katalog api/openapi/problems.yaml.",
        "headers": {
          "Idp-Request-Id": {
            "$ref": "#/components/headers/Idp-Request-Id"
          }
        }
      },
      "E429": {
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        },
        "description": "Problem (rate_limited); katalog api/openapi/problems.yaml.",
        "headers": {
          "Idp-Request-Id": {
            "$ref": "#/components/headers/Idp-Request-Id"
          },
          "Retry-After": {
            "$ref": "#/components/headers/Retry-After"
          }
        }
      },
      "E500": {
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        },
        "description": "Problem (internal_error); katalog api/openapi/problems.yaml.",
        "headers": {
          "Idp-Request-Id": {
            "$ref": "#/components/headers/Idp-Request-Id"
          }
        }
      },
      "E501": {
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        },
        "description": "Problem (not_implemented); katalog api/openapi/problems.yaml.",
        "headers": {
          "Idp-Request-Id": {
            "$ref": "#/components/headers/Idp-Request-Id"
          }
        }
      },
      "E503": {
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        },
        "description": "Problem (service_unavailable); katalog api/openapi/problems.yaml.",
        "headers": {
          "Idp-Request-Id": {
            "$ref": "#/components/headers/Idp-Request-Id"
          },
          "Retry-After": {
            "$ref": "#/components/headers/Retry-After"
          }
        }
      }
    },
    "schemas": {
      "AcceptedJob": {
        "additionalProperties": true,
        "description": "Asenkron işin kabul yanıtı iskeleti.",
        "properties": {
          "id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "AdminPortalLink": {
        "additionalProperties": false,
        "description": "Yönetici Portalı bağlantısı. Bağlantı URL'si, token'ı ve alıcı adresi bu şemada hiç yoktur.",
        "properties": {
          "consumed_at": {
            "description": "`link` bağlantısının portal oturumunu açtığı an; açılmadıysa null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "delivery": {
            "enum": [
              "link",
              "email"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "expires_at": {
            "description": "`link`: oluşturma + 5 dakika; `email`: oluşturma + 7 gün.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik (`apl_…`).",
            "pattern": "^apl_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "intents": {
            "description": "Portalın açtığı bölümler (kanonik sırada).",
            "items": {
              "enum": [
                "sso",
                "dsync",
                "domain_verification",
                "audit_logs",
                "log_streams",
                "certificate_renewal"
              ],
              "type": "string",
              "x-idp-open-enum": true
            },
            "maxItems": 6,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "organization_id": {
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "return_url": {
            "description": "Portaldan dönüş adresi.",
            "format": "uri",
            "type": "string"
          },
          "revoked_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "organization_id",
          "intents",
          "delivery",
          "return_url",
          "expires_at",
          "consumed_at",
          "revoked_at",
          "created_at"
        ],
        "type": "object"
      },
      "AdminPortalLinkCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/admin-portal-links` gövdesi.",
        "properties": {
          "delivery": {
            "default": "link",
            "description": "`link` (varsayılan): 5 dakikalık tek kullanımlık `url` yanıtta döner. `email`: 7 günlük davet alıcıya postalanır, yanıtta `url` yoktur.",
            "enum": [
              "link",
              "email"
            ],
            "type": "string"
          },
          "intents": {
            "description": "`audit_logs` Business, `log_streams` Enterprise planı ister.",
            "items": {
              "enum": [
                "sso",
                "dsync",
                "domain_verification",
                "audit_logs",
                "log_streams",
                "certificate_renewal"
              ],
              "type": "string"
            },
            "maxItems": 6,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "organization_id": {
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "recipient_email": {
            "description": "Yalnız `delivery = email` için ve orada zorunlu (`link` ile birlikte `422` `not_allowed`). Yanıta, listeye, audit'e ve loga girmez.",
            "format": "email",
            "maxLength": 320,
            "type": "string"
          },
          "return_url": {
            "description": "Mutlak `https` URL'si, kullanıcı bilgisi ve parça (fragment) yok; kökeni ortamdaki etkin bir uygulamanın kayıtlı `redirect_uri` kökeni olmalı.",
            "format": "uri",
            "maxLength": 2048,
            "type": "string"
          }
        },
        "required": [
          "organization_id",
          "intents",
          "return_url"
        ],
        "type": "object"
      },
      "AdminPortalLinkCreated": {
        "additionalProperties": false,
        "description": "Oluşturulan bağlantı (`AdminPortalLink` alanları); `delivery = link` yanıtında tek seferlik `url` taşır; `delivery = email` yanıtında `url` ve alıcı adresi yoktur. Idempotency-Key ile tekrar oynatılan yanıtta `url` yoktur ve `secret_redacted: true` döner.",
        "properties": {
          "consumed_at": {
            "description": "`link` bağlantısının portal oturumunu açtığı an; açılmadıysa null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "delivery": {
            "enum": [
              "link",
              "email"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "expires_at": {
            "description": "`link`: oluşturma + 5 dakika; `email`: oluşturma + 7 gün.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik (`apl_…`).",
            "pattern": "^apl_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "intents": {
            "description": "Portalın açtığı bölümler (kanonik sırada).",
            "items": {
              "enum": [
                "sso",
                "dsync",
                "domain_verification",
                "audit_logs",
                "log_streams",
                "certificate_renewal"
              ],
              "type": "string",
              "x-idp-open-enum": true
            },
            "maxItems": 6,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "organization_id": {
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "return_url": {
            "description": "Portaldan dönüş adresi.",
            "format": "uri",
            "type": "string"
          },
          "revoked_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "secret_redacted": {
            "description": "Tekrar oynatılan yanıtta `true`: `url` artık döndürülmez.",
            "readOnly": true,
            "type": "boolean"
          },
          "url": {
            "description": "`https://<ortam giriş host'u>/portal/l/<token>`: 5 dakika, tek kullanım; yalnız bu yanıtta döner ve saklanmaz.",
            "format": "uri",
            "readOnly": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "organization_id",
          "intents",
          "delivery",
          "return_url",
          "expires_at",
          "consumed_at",
          "revoked_at",
          "created_at"
        ],
        "type": "object"
      },
      "AdminPortalLinkList": {
        "additionalProperties": false,
        "description": "Yönetici Portalı bağlantılarının imleçli listesi (yeniden eskiye); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/AdminPortalLink"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "AgePolicy": {
        "additionalProperties": false,
        "description": "Ortamın yaş politikası (ortam başına tekil kaynak). Sürüm gövdede değil `ETag` başlığındadır; politika hiç yazılmadıysa tablo varsayılanları ve `ETag: \"0\"`.",
        "properties": {
          "applies_to": {
            "enum": [
              "self_signup",
              "all"
            ],
            "type": "string"
          },
          "country_min_age": {
            "additionalProperties": {
              "maximum": 21,
              "minimum": 13,
              "type": "integer"
            },
            "description": "ISO 3166-1 alpha-2 → yaş eşiği; yoksa `min_age`.",
            "maxProperties": 250,
            "propertyNames": {
              "pattern": "^[A-Z]{2}$"
            },
            "type": "object"
          },
          "country_source": {
            "enum": [
              "ip",
              "declared"
            ],
            "type": "string"
          },
          "min_age": {
            "maximum": 21,
            "minimum": 13,
            "type": "integer"
          },
          "mode": {
            "description": "`off` · `attestation` (nötr doğum yılı/ayı sorusu, değer saklanmaz) · `birthdate` (tam doğum tarihi).",
            "enum": [
              "off",
              "attestation",
              "birthdate"
            ],
            "type": "string"
          },
          "parental_consent_below": {
            "description": "Null ise ebeveyn rızası istenmez; değilse en çok `min_age`.",
            "maximum": 21,
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "pending_consent_action": {
            "enum": [
              "block_sign_in",
              "issue_limited"
            ],
            "type": "string"
          },
          "store_birthdate": {
            "description": "Yalnız `mode = birthdate` iken true olabilir.",
            "type": "boolean"
          },
          "under_age_action": {
            "enum": [
              "block",
              "create_minor"
            ],
            "type": "string"
          },
          "updated_at": {
            "description": "Son yazma zamanı; politika hiç yazılmadıysa null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "mode",
          "min_age",
          "country_min_age",
          "country_source",
          "under_age_action",
          "parental_consent_below",
          "pending_consent_action",
          "store_birthdate",
          "applies_to",
          "updated_at"
        ],
        "type": "object"
      },
      "AgePolicyPut": {
        "additionalProperties": false,
        "description": "`PUT /v1/age-policy` gövdesi: politikanın tamamı.",
        "properties": {
          "applies_to": {
            "enum": [
              "self_signup",
              "all"
            ],
            "type": "string"
          },
          "country_min_age": {
            "additionalProperties": {
              "maximum": 21,
              "minimum": 13,
              "type": "integer"
            },
            "description": "ISO 3166-1 alpha-2 → yaş eşiği; yoksa `min_age`.",
            "maxProperties": 250,
            "propertyNames": {
              "pattern": "^[A-Z]{2}$"
            },
            "type": "object"
          },
          "country_source": {
            "enum": [
              "ip",
              "declared"
            ],
            "type": "string"
          },
          "min_age": {
            "maximum": 21,
            "minimum": 13,
            "type": "integer"
          },
          "mode": {
            "description": "`off` · `attestation` (nötr doğum yılı/ayı sorusu, değer saklanmaz) · `birthdate` (tam doğum tarihi).",
            "enum": [
              "off",
              "attestation",
              "birthdate"
            ],
            "type": "string"
          },
          "parental_consent_below": {
            "description": "Null ya da verilmezse ebeveyn rızası istenmez; değilse en çok `min_age`.",
            "maximum": 21,
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "pending_consent_action": {
            "enum": [
              "block_sign_in",
              "issue_limited"
            ],
            "type": "string"
          },
          "store_birthdate": {
            "description": "Yalnız `mode = birthdate` iken true olabilir.",
            "type": "boolean"
          },
          "under_age_action": {
            "enum": [
              "block",
              "create_minor"
            ],
            "type": "string"
          }
        },
        "required": [
          "mode",
          "min_age",
          "country_min_age",
          "country_source",
          "under_age_action",
          "pending_consent_action",
          "store_birthdate",
          "applies_to"
        ],
        "type": "object"
      },
      "Api": {
        "additionalProperties": false,
        "description": "API (kaynak sunucu): erişim jetonunun `aud` değerini ve ilgili ayarları tanımlar. Sürüm gövdede değil `ETag` başlığındadır.",
        "properties": {
          "access_token_lifetime_s": {
            "maximum": 86400,
            "minimum": 60,
            "type": "integer"
          },
          "allow_offline_access": {
            "type": "boolean"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "dpop_required": {
            "type": "boolean"
          },
          "first_party_access": {
            "enum": [
              "all",
              "granted_only"
            ],
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik; değişmez ve yeniden kullanılmaz.",
            "pattern": "^api_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "identifier": {
            "description": "Erişim jetonu `aud` değeri (RFC 8707 kaynak göstergesi): https URL ya da `urn:<nid>:<nss>`, kanonik biçimde. Sistem API'sinde `urn:idp:organization`.",
            "maxLength": 2048,
            "type": "string"
          },
          "introspection_applications": {
            "description": "Bu API'nin erişim jetonlarını introspection ucuyla (RFC 7662) sorgulayabilen uygulamalar (app_…), kimlik sırasıyla. Introspection `active=true` yalnız jeton çağıran uygulamaya verilmişse ya da çağıran bu listedeyse döner; yalnız aynı ortamın `web` ve `m2m` (gizli) uygulamaları eklenebilir. Boş liste: yalnız jetonun kendi uygulaması sorgulayabilir.",
            "items": {
              "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 50,
            "type": "array",
            "uniqueItems": true
          },
          "is_system": {
            "description": "Yalnız her ortamda açılan sistem API'si için true; değiştirilemez ve silinemez.",
            "type": "boolean"
          },
          "key": {
            "description": "Ortamlar arası taşınabilir kararlı yapılandırma anahtarı; oluşturmadan sonra değişmez.",
            "pattern": "^[a-z0-9_-]{1,64}$",
            "type": "string"
          },
          "mcp_profile": {
            "description": "true ise `identifier` https olmalı ve `require_resource_indicator` true olmalıdır.",
            "type": "boolean"
          },
          "name": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "rbac_mode": {
            "description": "Rol ve izinlerin token'a yansıması: `off` izin claim'i eklemez, `claims` `permissions` ve `org_permissions` ekler, `enforce` ayrıca scope'u kullanıcının etkin izinleriyle kesiştirir. Oluşturmada verilmezse `claims`.",
            "enum": [
              "off",
              "claims",
              "enforce"
            ],
            "type": "string"
          },
          "require_resource_indicator": {
            "type": "boolean"
          },
          "token_format": {
            "enum": [
              "jwt",
              "opaque"
            ],
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "id",
          "key",
          "identifier",
          "name",
          "is_system",
          "access_token_lifetime_s",
          "token_format",
          "rbac_mode",
          "allow_offline_access",
          "require_resource_indicator",
          "dpop_required",
          "mcp_profile",
          "first_party_access",
          "introspection_applications",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "ApiCreateRequest": {
        "additionalProperties": false,
        "description": "API oluşturma isteği. Verilmeyen isteğe bağlı alan varsayılanını alır: `access_token_lifetime_s` 3600 (`mcp_profile` ise 600), `token_format` jwt, `rbac_mode` claims, `allow_offline_access` true, `require_resource_indicator` false (`mcp_profile` ise true), `dpop_required` false, `mcp_profile` false, `first_party_access` all, `introspection_applications` boş.",
        "properties": {
          "access_token_lifetime_s": {
            "maximum": 86400,
            "minimum": 60,
            "type": "integer"
          },
          "allow_offline_access": {
            "type": "boolean"
          },
          "dpop_required": {
            "type": "boolean"
          },
          "first_party_access": {
            "enum": [
              "all",
              "granted_only"
            ],
            "type": "string"
          },
          "identifier": {
            "description": "https URL (sorgu ve parça yok) ya da `urn:<nid>:<nss>`; yazdırılabilir ASCII. `urn:idp:` ad alanı ayrılmıştır.",
            "maxLength": 2048,
            "type": "string"
          },
          "introspection_applications": {
            "description": "Bu API'nin erişim jetonlarını introspection ucuyla (RFC 7662) sorgulayabilen uygulamalar (app_…). Yalnız aynı ortamın `web` ve `m2m` (gizli) uygulamaları; en çok 50, tekrarsız. Liste bütünüyle değiştirilir ve küme olarak saklanır (sıra korunmaz). Sistem API'sinde yazılamaz.",
            "items": {
              "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 50,
            "type": "array",
            "uniqueItems": true
          },
          "key": {
            "pattern": "^[a-z0-9_-]{1,64}$",
            "type": "string"
          },
          "mcp_profile": {
            "type": "boolean"
          },
          "name": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "rbac_mode": {
            "description": "Rol ve izinlerin token'a yansıması: `off` izin claim'i eklemez, `claims` `permissions` ve `org_permissions` ekler, `enforce` ayrıca scope'u kullanıcının etkin izinleriyle kesiştirir. Oluşturmada verilmezse `claims`.",
            "enum": [
              "off",
              "claims",
              "enforce"
            ],
            "type": "string"
          },
          "require_resource_indicator": {
            "type": "boolean"
          },
          "token_format": {
            "enum": [
              "jwt",
              "opaque"
            ],
            "type": "string"
          }
        },
        "required": [
          "key",
          "identifier",
          "name"
        ],
        "type": "object"
      },
      "ApiKey": {
        "description": "Yönetim API anahtarı. Ham anahtar ve özeti bu temsilde yoktur.",
        "properties": {
          "allowed_cidrs": {
            "description": "Anahtarın kabul edildiği CIDR blokları; boşsa kısıt yoktur.",
            "items": {
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "created_by": {
            "description": "Anahtarı oluşturan anahtarın kimliği ya da pano aktörü (denetim için saklanır).",
            "type": "string"
          },
          "expires_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "pattern": "^key_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "last4": {
            "description": "Ham anahtarın son 4 karakteri (gösterim için).",
            "maxLength": 4,
            "minLength": 4,
            "type": "string"
          },
          "last_used_at": {
            "description": "Son kullanım; hiç kullanılmadıysa null.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "last_used_ip": {
            "description": "Son kullanımın istemci IP'si, /24 (IPv4) ya da /48 (IPv6) önekine kısaltılmış (örn. `203.0.113.0/24`); tam IP saklanmaz.",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "permissions": {
            "description": "`<kaynak>:<eylem>` izinleri; secret anahtarda her zaman `[]`.",
            "items": {
              "pattern": "^[a-z][a-z0-9-]*:[a-z][a-z0-9_]*$",
              "type": "string"
            },
            "maxItems": 200,
            "type": "array"
          },
          "revoke_reason": {
            "enum": [
              "manual",
              "leaked",
              "expired",
              "rotated",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "revoked_at": {
            "description": "İptal zamanı; döndürülmüş ve örtüşmesi bitmemiş anahtarda gelecekte olabilir.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "rotated_from": {
            "description": "Bu anahtarın döndürmeyle yerini aldığı eski anahtarın kimliği.",
            "pattern": "^key_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "description": "secret: tüm yönetim API'sine erişir; restricted: yalnız `permissions` listesindekilere.",
            "enum": [
              "secret",
              "restricted"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "permissions",
          "allowed_cidrs",
          "last4",
          "created_by",
          "created_at",
          "expires_at",
          "last_used_at",
          "last_used_ip",
          "rotated_from",
          "revoked_at",
          "revoke_reason"
        ],
        "type": "object"
      },
      "ApiKeyCreateRequest": {
        "additionalProperties": false,
        "description": "Anahtar oluşturma. `restricted` türünde `permissions` zorunlu ve boş olamaz; `secret` türünde verilmez ya da boştur (aksi 422 `validation_failed`).",
        "properties": {
          "allowed_cidrs": {
            "description": "İsteğe bağlı CIDR izin listesi (en çok 20).",
            "items": {
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          },
          "expires_at": {
            "description": "Son kullanma (RFC 3339): gelecekte olmalı, en çok 730 gün sonrası.",
            "format": "date-time",
            "type": "string"
          },
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "permissions": {
            "description": "`<kaynak>:<eylem>` izinleri; çağıranın kendi izinlerini aşamaz.",
            "items": {
              "pattern": "^[a-z][a-z0-9-]*:[a-z][a-z0-9_]*$",
              "type": "string"
            },
            "maxItems": 200,
            "type": "array"
          },
          "type": {
            "enum": [
              "secret",
              "restricted"
            ],
            "type": "string"
          }
        },
        "required": [
          "name",
          "type",
          "expires_at"
        ],
        "type": "object"
      },
      "ApiKeyCreated": {
        "description": "Oluşturulan (ya da döndürmeyle üretilen yeni) anahtar. `key` yalnız ilk yanıtta vardır; Idempotency-Key ile tekrar oynatılan yanıtta yoktur ve `secret_redacted: true` döner.",
        "properties": {
          "allowed_cidrs": {
            "description": "Anahtarın kabul edildiği CIDR blokları; boşsa kısıt yoktur.",
            "items": {
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "created_by": {
            "description": "Anahtarı oluşturan anahtarın kimliği ya da pano aktörü (denetim için saklanır).",
            "type": "string"
          },
          "expires_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "pattern": "^key_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "key": {
            "description": "Ham anahtar (idp_sk_live_… / idp_sk_test_… secret; idp_rk_live_… / idp_rk_test_… restricted). BİR SIRDIR: yalnız bu yanıtta bir kez döner, sonradan okunamaz; hemen güvenli bir yerde saklayın.",
            "type": "string"
          },
          "last4": {
            "description": "Ham anahtarın son 4 karakteri (gösterim için).",
            "maxLength": 4,
            "minLength": 4,
            "type": "string"
          },
          "last_used_at": {
            "description": "Son kullanım; hiç kullanılmadıysa null.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "last_used_ip": {
            "description": "Son kullanımın istemci IP'si, /24 (IPv4) ya da /48 (IPv6) önekine kısaltılmış (örn. `203.0.113.0/24`); tam IP saklanmaz.",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "permissions": {
            "description": "`<kaynak>:<eylem>` izinleri; secret anahtarda her zaman `[]`.",
            "items": {
              "pattern": "^[a-z][a-z0-9-]*:[a-z][a-z0-9_]*$",
              "type": "string"
            },
            "maxItems": 200,
            "type": "array"
          },
          "revoke_reason": {
            "enum": [
              "manual",
              "leaked",
              "expired",
              "rotated",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "revoked_at": {
            "description": "İptal zamanı; döndürülmüş ve örtüşmesi bitmemiş anahtarda gelecekte olabilir.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "rotated_from": {
            "description": "Bu anahtarın döndürmeyle yerini aldığı eski anahtarın kimliği.",
            "pattern": "^key_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "secret_redacted": {
            "description": "Yalnız Idempotency-Key tekrarında true: asıl yanıttaki anahtar bu yanıttan çıkarılmıştır.",
            "type": "boolean"
          },
          "type": {
            "description": "secret: tüm yönetim API'sine erişir; restricted: yalnız `permissions` listesindekilere.",
            "enum": [
              "secret",
              "restricted"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "permissions",
          "allowed_cidrs",
          "last4",
          "created_by",
          "created_at",
          "expires_at",
          "last_used_at",
          "last_used_ip",
          "rotated_from",
          "revoked_at",
          "revoke_reason"
        ],
        "type": "object"
      },
      "ApiKeyList": {
        "description": "İmleçli yönetim API anahtarı listesi; toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ApiKey"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "ApiKeyRevokeRequest": {
        "additionalProperties": false,
        "description": "Anahtar iptali; gövde isteğe bağlıdır.",
        "properties": {
          "reason": {
            "default": "manual",
            "enum": [
              "manual",
              "leaked"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiKeyRotateRequest": {
        "additionalProperties": false,
        "description": "Anahtar döndürme; gövde isteğe bağlıdır, boşsa tüm varsayılanlar uygulanır.",
        "properties": {
          "expires_at": {
            "description": "YENİ anahtarın son kullanması; boşsa şimdi + 365 gün, en çok 730 gün.",
            "format": "date-time",
            "type": "string"
          },
          "overlap_hours": {
            "default": 24,
            "description": "Eski anahtarın bu kadar saat daha geçerli kalması; 0 ise hemen iptal.",
            "maximum": 168,
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ApiList": {
        "additionalProperties": false,
        "description": "API'lerin imleçli listesi; toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Api"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "ApiUpdate": {
        "additionalProperties": false,
        "description": "RFC 7396 birleştirme yaması: verilen alan değişir, verilmeyen korunur. Hiçbir alan `null` ile kaldırılamaz (422). `key` ve `identifier` yalnız mevcut değerle aynıysa kabul edilir.",
        "properties": {
          "access_token_lifetime_s": {
            "maximum": 86400,
            "minimum": 60,
            "type": "integer"
          },
          "allow_offline_access": {
            "type": "boolean"
          },
          "dpop_required": {
            "type": "boolean"
          },
          "first_party_access": {
            "enum": [
              "all",
              "granted_only"
            ],
            "type": "string"
          },
          "identifier": {
            "maxLength": 2048,
            "type": "string"
          },
          "introspection_applications": {
            "description": "Bu API'nin erişim jetonlarını introspection ucuyla (RFC 7662) sorgulayabilen uygulamalar (app_…). Yalnız aynı ortamın `web` ve `m2m` (gizli) uygulamaları; en çok 50, tekrarsız. Liste bütünüyle değiştirilir ve küme olarak saklanır (sıra korunmaz). Sistem API'sinde yazılamaz.",
            "items": {
              "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 50,
            "type": "array",
            "uniqueItems": true
          },
          "key": {
            "pattern": "^[a-z0-9_-]{1,64}$",
            "type": "string"
          },
          "mcp_profile": {
            "type": "boolean"
          },
          "name": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "rbac_mode": {
            "description": "Rol ve izinlerin token'a yansıması: `off` izin claim'i eklemez, `claims` `permissions` ve `org_permissions` ekler, `enforce` ayrıca scope'u kullanıcının etkin izinleriyle kesiştirir. Oluşturmada verilmezse `claims`.",
            "enum": [
              "off",
              "claims",
              "enforce"
            ],
            "type": "string"
          },
          "require_resource_indicator": {
            "type": "boolean"
          },
          "token_format": {
            "enum": [
              "jwt",
              "opaque"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "Application": {
        "description": "Uygulama (OAuth/OIDC istemcisi). İstemci sırrı bu temsilde yoktur.",
        "properties": {
          "access_token_lifetime_s": {
            "description": "Access token ömrü (saniye); boşsa ortam/API varsayılanı.",
            "maximum": 86400,
            "minimum": 60,
            "type": [
              "integer",
              "null"
            ]
          },
          "allowed_first_factors": {
            "description": "Uygulamada izin verilen birinci faktörler; katalog sırasında döner. Boş liste (varsayılan) uygulamanın kısıt koymadığı anlamına gelir: ortam ve organizasyon kümeleri geçerlidir. Boş olmayan küme ortamın `allowed_first_factors` kümesiyle kesişir; kesişim boş kalırsa, ya da uygulamanın kullanılabildiği bir org'un `authentication_methods`/`sso_enforcement` politikasıyla kesişim boş kalırsa `422 policy_conflict` döner. Yinelenen ya da bilinmeyen değer `422 validation_failed` (işaretçi öğeyi gösterir, örneğin `/allowed_first_factors/1`).",
            "items": {
              "enum": [
                "password",
                "passkey",
                "email_otp",
                "magic_link",
                "sms_otp",
                "social",
                "enterprise"
              ],
              "type": "string"
            },
            "maxItems": 7,
            "type": "array",
            "uniqueItems": true
          },
          "allowed_response_modes": {
            "description": "Uygulamanın yetkilendirme ve PAR isteklerinde kullanabileceği `response_mode` değerleri; katalog sırasında döner. Varsayılan `[\"query\"]`; `form_post` isteyen uygulama onu açıkça ekler. Kümede olmayan `response_mode` ile gelen yetkilendirme isteği reddedilir; istekte `response_mode` yoksa yanıt kipi `query`'dir. Boş liste ya da `null` yazmak, yinelenen ya da bilinmeyen değer `422 validation_failed`; JARM kipleri (`jwt`, `query.jwt`, `fragment.jwt`, `form_post.jwt`) henüz desteklenmez ve aynı hatayı verir. KeenAuth uzantısıdır; dinamik kayıt (RFC 7591) ve CIMD üst verisinde yoktur, oralardan kaydedilen istemciler `[\"query\"]` alır.",
            "items": {
              "enum": [
                "query",
                "form_post"
              ],
              "type": "string"
            },
            "maxItems": 2,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "allowed_web_origins": {
            "description": "CORS için izinli tam kökenler (https://host[:port]); en çok 20, joker yok.",
            "items": {
              "maxLength": 255,
              "type": "string"
            },
            "maxItems": 20,
            "type": "array",
            "uniqueItems": true
          },
          "app_type": {
            "description": "Uygulama türü: web (sunucu tarafı, gizli), spa, native, m2m, device, management (yönetim API istemcisi).",
            "enum": [
              "web",
              "spa",
              "native",
              "m2m",
              "device",
              "management"
            ],
            "type": "string"
          },
          "backchannel_logout_uri": {
            "description": "Arka kanal çıkış URI'si (https).",
            "format": "uri",
            "maxLength": 2000,
            "type": [
              "string",
              "null"
            ]
          },
          "client_id": {
            "description": "OAuth client_id: app_… kimliği; CIMD uygulamasında istemcinin https URL'si.",
            "type": "string"
          },
          "client_uri": {
            "description": "Uygulama ana sayfası URI'si (https).",
            "format": "uri",
            "maxLength": 2000,
            "type": [
              "string",
              "null"
            ]
          },
          "connection_ids": {
            "description": "Uygulamada açık bağlantılar (conn_…), sıralı: sıra düğme sırasıdır.",
            "items": {
              "pattern": "^conn_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 100,
            "type": "array",
            "uniqueItems": true
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "default_api_id": {
            "description": "resource göndermeyen isteklerde kullanılacak API (api_…).",
            "pattern": "^api_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "default_max_age_s": {
            "description": "Varsayılan max_age (saniye).",
            "maximum": 2147483647,
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "frontchannel_logout_session_required": {
            "description": "Ön kanal çıkış URI'sine `iss` ve `sid` eklenir (OIDC Front-Channel Logout 1.0). Ortamın `frontchannel_logout_enabled` ayarı kapalıyken true yazmak 422 döner; varsayılan false.",
            "type": "boolean"
          },
          "frontchannel_logout_uri": {
            "description": "Ön kanal çıkış URI'si (https).",
            "format": "uri",
            "maxLength": 2000,
            "type": [
              "string",
              "null"
            ]
          },
          "grant_types": {
            "description": "İzinli grant türleri; app_type izin kümesinin alt kümesi.",
            "items": {
              "enum": [
                "authorization_code",
                "refresh_token",
                "client_credentials",
                "urn:ietf:params:oauth:grant-type:device_code",
                "urn:ietf:params:oauth:grant-type:token-exchange"
              ],
              "type": "string"
            },
            "minItems": 0,
            "type": "array",
            "uniqueItems": true
          },
          "id": {
            "description": "Uygulama kimliği (app_…).",
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "id_token_org_claims": {
            "description": "true (varsayılan) ise org bağlamlı girişte ID token `org_id`, `org_slug` ve `org_roles` claim'lerini taşır; false ise ID token'a org claim'i yazılmaz. Access token etkilenmez; ID token hiçbir zaman izin taşımaz.",
            "type": "boolean"
          },
          "initiate_login_uri": {
            "description": "OIDC `initiate_login_uri`: IdP-initiated SAML girişinde oturum açıldıktan sonra tarayıcının `iss` ile gönderildiği https adresi; uygulama girişi `state` ve PKCE ile kendisi başlatır. Küçük harfli DNS host, parça ve kullanıcı bilgisi yok; m2m ve management uygulamasında verilemez. Boş: kayıtlı değil, uygulama IdP-initiated hedefi seçilemez.",
            "format": "uri",
            "maxLength": 2048,
            "type": [
              "string",
              "null"
            ]
          },
          "jwks": {
            "additionalProperties": true,
            "description": "Satır içi JWK Set ({\"keys\":[…]}): 1-5 genel anahtar, en çok 16 KiB, özel anahtar üyesi reddedilir. jwks_uri ile birlikte verilemez.",
            "type": [
              "object",
              "null"
            ]
          },
          "jwks_uri": {
            "description": "Uzak JWK Set URI'si (https); jwks ile birlikte verilemez.",
            "format": "uri",
            "maxLength": 2000,
            "type": [
              "string",
              "null"
            ]
          },
          "key": {
            "description": "Kararlı yapılandırma anahtarı (ortam içinde tekil).",
            "pattern": "^[a-z0-9_-]{1,64}$",
            "type": "string"
          },
          "last_token_asn": {
            "description": "Son token isteğinin otonom sistem numarası.",
            "type": [
              "integer",
              "null"
            ]
          },
          "last_token_issued_at": {
            "description": "Son token verilme zamanı.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "login_host": {
            "description": "Ortamın giriş host adlarından biri (küçük harfli DNS adı); boşsa ortamın varsayılanı.",
            "maxLength": 253,
            "type": [
              "string",
              "null"
            ]
          },
          "m2m_token_lifetime_s": {
            "description": "Yalnız app_type = m2m için token ömrü (saniye).",
            "maximum": 86400,
            "minimum": 60,
            "type": [
              "integer",
              "null"
            ]
          },
          "min_acr": {
            "description": "En düşük kimlik doğrulama güvence düzeyi.",
            "enum": [
              "urn:idp:acr:1fa",
              "urn:idp:acr:mfa",
              "urn:idp:acr:phr",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "Görünen ad (1-100 karakter, denetim karakteri yok).",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "org_access_mode": {
            "description": "Org bağlamlı girişte uygulama erişimi: `all_organizations` (varsayılan) her org'un her üyesine,\n`enabled_organizations` uygulamanın etkinleştirildiği org'lara, `assigned_only` ayrıca atanmış üyelik ya da dizin\ngrubuna izin verir (`/v1/organizations/{org_id}/applications/{application_id}`).",
            "enum": [
              "all_organizations",
              "enabled_organizations",
              "assigned_only"
            ],
            "type": "string"
          },
          "organization_usage": {
            "description": "Organizasyon kullanımı.",
            "enum": [
              "deny",
              "allow",
              "require"
            ],
            "type": "string"
          },
          "owner_org_id": {
            "description": "Yalnız app_type = m2m için: uygulamayı sahiplenen organizasyon (org_…).",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "party": {
            "description": "Taraf. Yalnız first_party olan third_party yapılabilir; tersi 422 döner.",
            "enum": [
              "first_party",
              "third_party"
            ],
            "type": "string"
          },
          "pkce_required": {
            "description": "PKCE zorunlu; yalnız gizli web uygulamasında kapatılabilir. PKCE kapalıyken kod enjeksiyonuna karşı tek savunma `nonce`tur: `require_nonce` development dışındaki ortamlarda açık olmalıdır, aksi 422 `validation_failed` (`/require_nonce`).",
            "type": "boolean"
          },
          "policy_uri": {
            "description": "Gizlilik politikası URI'si (https); onay ekranında gösterilir.",
            "format": "uri",
            "maxLength": 2000,
            "type": [
              "string",
              "null"
            ]
          },
          "post_logout_redirect_uris": {
            "description": "Çıkış sonrası yönlendirme URI'leri (en çok 50).",
            "items": {
              "maxLength": 2000,
              "type": "string"
            },
            "maxItems": 50,
            "type": "array",
            "uniqueItems": true
          },
          "redirect_uris": {
            "description": "İzinli yönlendirme URI'leri (en çok 50); m2m ve management türlerinde boş olmalı.",
            "items": {
              "maxLength": 2000,
              "type": "string"
            },
            "maxItems": 50,
            "type": "array",
            "uniqueItems": true
          },
          "refresh_absolute_s": {
            "description": "Refresh token mutlak ömrü (saniye).",
            "maximum": 2147483647,
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "refresh_idle_s": {
            "description": "Refresh token boşta kalma süresi (saniye); refresh_absolute_s değerini aşamaz.",
            "maximum": 2147483647,
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "refresh_reuse_interval_s": {
            "description": "Refresh token yeniden kullanım penceresi (saniye); varsayılan 5.",
            "maximum": 30,
            "minimum": 0,
            "type": "integer"
          },
          "registration_mode": {
            "description": "Kayıt kipi; boşsa ortam ayarı devralınır.",
            "enum": [
              "open",
              "invite_only",
              "closed",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "registration_source": {
            "description": "Kayıt kaynağı.",
            "enum": [
              "dashboard",
              "management_api",
              "dcr",
              "cimd"
            ],
            "type": "string"
          },
          "require_nonce": {
            "description": "nonce zorunlu.",
            "type": "boolean"
          },
          "require_par": {
            "description": "Yetkilendirme isteği PAR ile gönderilmek zorunda.",
            "type": "boolean"
          },
          "require_state": {
            "description": "state zorunlu.",
            "type": "boolean"
          },
          "security_profile": {
            "description": "Güvenlik profili; şimdilik yalnız baseline yazılabilir.",
            "enum": [
              "baseline",
              "fapi2",
              "fapi2_mtls",
              "fapi2_ms"
            ],
            "type": "string"
          },
          "skip_consent": {
            "description": "Onay ekranını atla; yalnız first_party.",
            "type": "boolean"
          },
          "software_id": {
            "description": "Yalnız DCR uygulamaları için.",
            "type": [
              "string",
              "null"
            ]
          },
          "software_version": {
            "description": "Yalnız DCR uygulamaları için.",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Durum. suspended uygulama yeni token alamaz.",
            "enum": [
              "active",
              "suspended"
            ],
            "type": "string"
          },
          "token_binding_policy": {
            "description": "Token bağlama politikası.",
            "enum": [
              "none",
              "dpop_required"
            ],
            "type": "string"
          },
          "token_endpoint_auth_method": {
            "description": "Token ucu istemci kimlik doğrulama yöntemi; app_type için izinli kümeden olmalı.",
            "enum": [
              "private_key_jwt",
              "client_secret_basic",
              "client_secret_post",
              "none"
            ],
            "type": "string"
          },
          "tos_uri": {
            "description": "Hizmet şartları URI'si (https).",
            "format": "uri",
            "maxLength": 2000,
            "type": [
              "string",
              "null"
            ]
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          },
          "verification_status": {
            "description": "Doğrulama durumu (oluşturmada boşsa verified).",
            "enum": [
              "verified",
              "unverified"
            ],
            "type": "string"
          },
          "version": {
            "description": "Kaynak sürümü; ETag olarak da döner.",
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "client_id",
          "version",
          "created_at",
          "updated_at",
          "key",
          "name",
          "app_type",
          "party",
          "owner_org_id",
          "status",
          "allowed_web_origins",
          "organization_usage",
          "org_access_mode",
          "registration_mode",
          "registration_source",
          "verification_status",
          "security_profile",
          "token_endpoint_auth_method",
          "grant_types",
          "default_api_id",
          "require_par",
          "require_state",
          "require_nonce",
          "pkce_required",
          "skip_consent",
          "token_binding_policy",
          "login_host",
          "default_max_age_s",
          "min_acr",
          "access_token_lifetime_s",
          "refresh_idle_s",
          "refresh_absolute_s",
          "refresh_reuse_interval_s",
          "backchannel_logout_uri",
          "frontchannel_logout_uri",
          "frontchannel_logout_session_required",
          "initiate_login_uri",
          "id_token_org_claims",
          "policy_uri",
          "tos_uri",
          "client_uri",
          "jwks",
          "jwks_uri",
          "software_id",
          "software_version",
          "m2m_token_lifetime_s",
          "redirect_uris",
          "post_logout_redirect_uris",
          "connection_ids",
          "allowed_first_factors",
          "allowed_response_modes",
          "last_token_issued_at",
          "last_token_asn"
        ],
        "type": "object"
      },
      "ApplicationApiGrant": {
        "description": "Uygulamanın bir API'de izinli scope kümesi.",
        "properties": {
          "api_id": {
            "pattern": "^api_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "application_id": {
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "default_scopes": {
            "description": "Varsayılan scope'lar; scopes'un alt kümesi.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "scopes": {
            "description": "İzinli scope'lar (kaynak:eylem).",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "application_id",
          "api_id",
          "scopes",
          "default_scopes",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "ApplicationApiGrantPutRequest": {
        "additionalProperties": false,
        "description": "İzni bütünüyle değiştirir. Scope'lar API'nin tanımlı izinlerinin alt kümesi olmalıdır.",
        "properties": {
          "default_scopes": {
            "description": "Varsayılan scope'lar; scopes'un alt kümesi.",
            "items": {
              "pattern": "^[a-z0-9_.-]{1,64}:[a-z0-9_.*-]{1,64}$",
              "type": "string"
            },
            "maxItems": 1000,
            "type": "array",
            "uniqueItems": true
          },
          "scopes": {
            "description": "İzinli scope'lar.",
            "items": {
              "pattern": "^[a-z0-9_.-]{1,64}:[a-z0-9_.*-]{1,64}$",
              "type": "string"
            },
            "maxItems": 1000,
            "type": "array",
            "uniqueItems": true
          }
        },
        "required": [
          "scopes"
        ],
        "type": "object"
      },
      "ApplicationAssignment": {
        "additionalProperties": false,
        "description": "Uygulamanın org içindeki bir atamaya bağlı erişimi. Atama değişmez; yalnız silinir.",
        "properties": {
          "application_id": {
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik (`aas_…`).",
            "pattern": "^aas_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "organization_id": {
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "target_id": {
            "description": "`membership` için `mem_…`, `directory_group` için `dsg_…`.",
            "pattern": "^(mem|dsg)_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "target_type": {
            "enum": [
              "membership",
              "directory_group"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          }
        },
        "required": [
          "id",
          "organization_id",
          "application_id",
          "target_type",
          "target_id",
          "created_at"
        ],
        "type": "object"
      },
      "ApplicationAssignmentCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/organizations/{org_id}/applications/{application_id}/assignments` gövdesi.",
        "properties": {
          "target_id": {
            "description": "Hedefin önekli kimliği; öneki `target_type`'a uymalıdır (`mem_…` / `dsg_…`).",
            "pattern": "^(mem|dsg)_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "target_type": {
            "enum": [
              "membership",
              "directory_group"
            ],
            "type": "string"
          }
        },
        "required": [
          "target_type",
          "target_id"
        ],
        "type": "object"
      },
      "ApplicationAssignmentList": {
        "additionalProperties": false,
        "description": "Atamaların imleçli listesi (eskiden yeniye); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ApplicationAssignment"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "ApplicationConnectionsPutRequest": {
        "additionalProperties": false,
        "description": "Uygulamada etkin bağlantıların tam listesi.",
        "properties": {
          "connection_ids": {
            "description": "Bu ortamın bağlantıları (conn_…), sıralı: sıra düğme sırasıdır. Boş liste bütün bağlantıları kapatır.",
            "items": {
              "pattern": "^conn_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 100,
            "type": "array",
            "uniqueItems": true
          }
        },
        "required": [
          "connection_ids"
        ],
        "type": "object"
      },
      "ApplicationCreateRequest": {
        "additionalProperties": false,
        "description": "Uygulama oluşturma isteği. Verilmeyen protokol alanları app_type, party ve registration_source değerlerinden türetilen varsayılanı alır.",
        "properties": {
          "access_token_lifetime_s": {
            "description": "Access token ömrü (saniye); boşsa ortam/API varsayılanı.",
            "maximum": 86400,
            "minimum": 60,
            "type": "integer"
          },
          "allowed_first_factors": {
            "description": "Uygulamada izin verilen birinci faktörler; katalog sırasında döner. Boş liste (varsayılan) uygulamanın kısıt koymadığı anlamına gelir: ortam ve organizasyon kümeleri geçerlidir. Boş olmayan küme ortamın `allowed_first_factors` kümesiyle kesişir; kesişim boş kalırsa, ya da uygulamanın kullanılabildiği bir org'un `authentication_methods`/`sso_enforcement` politikasıyla kesişim boş kalırsa `422 policy_conflict` döner. Yinelenen ya da bilinmeyen değer `422 validation_failed` (işaretçi öğeyi gösterir, örneğin `/allowed_first_factors/1`).",
            "items": {
              "enum": [
                "password",
                "passkey",
                "email_otp",
                "magic_link",
                "sms_otp",
                "social",
                "enterprise"
              ],
              "type": "string"
            },
            "maxItems": 7,
            "type": "array",
            "uniqueItems": true
          },
          "allowed_response_modes": {
            "description": "Uygulamanın yetkilendirme ve PAR isteklerinde kullanabileceği `response_mode` değerleri; katalog sırasında döner. Varsayılan `[\"query\"]`; `form_post` isteyen uygulama onu açıkça ekler. Kümede olmayan `response_mode` ile gelen yetkilendirme isteği reddedilir; istekte `response_mode` yoksa yanıt kipi `query`'dir. Boş liste ya da `null` yazmak, yinelenen ya da bilinmeyen değer `422 validation_failed`; JARM kipleri (`jwt`, `query.jwt`, `fragment.jwt`, `form_post.jwt`) henüz desteklenmez ve aynı hatayı verir. KeenAuth uzantısıdır; dinamik kayıt (RFC 7591) ve CIMD üst verisinde yoktur, oralardan kaydedilen istemciler `[\"query\"]` alır.",
            "items": {
              "enum": [
                "query",
                "form_post"
              ],
              "type": "string"
            },
            "maxItems": 2,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "allowed_web_origins": {
            "description": "CORS için izinli tam kökenler (https://host[:port]); en çok 20, joker yok.",
            "items": {
              "maxLength": 255,
              "type": "string"
            },
            "maxItems": 20,
            "type": "array",
            "uniqueItems": true
          },
          "app_type": {
            "description": "Uygulama türü: web (sunucu tarafı, gizli), spa, native, m2m, device, management (yönetim API istemcisi). Oluşturulduktan sonra değişmez; farklı bir değer 422 (immutable) döner.",
            "enum": [
              "web",
              "spa",
              "native",
              "m2m",
              "device",
              "management"
            ],
            "type": "string"
          },
          "backchannel_logout_uri": {
            "description": "Arka kanal çıkış URI'si (https).",
            "format": "uri",
            "maxLength": 2000,
            "type": "string"
          },
          "client_uri": {
            "description": "Uygulama ana sayfası URI'si (https).",
            "format": "uri",
            "maxLength": 2000,
            "type": "string"
          },
          "connection_ids": {
            "description": "Uygulamada açık bağlantılar (conn_…), sıralı: sıra düğme sırasıdır.",
            "items": {
              "pattern": "^conn_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 100,
            "type": "array",
            "uniqueItems": true
          },
          "default_api_id": {
            "description": "resource göndermeyen isteklerde kullanılacak API (api_…).",
            "pattern": "^api_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "default_max_age_s": {
            "description": "Varsayılan max_age (saniye).",
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer"
          },
          "frontchannel_logout_session_required": {
            "description": "Ön kanal çıkış URI'sine `iss` ve `sid` eklenir (OIDC Front-Channel Logout 1.0). Ortamın `frontchannel_logout_enabled` ayarı kapalıyken true yazmak 422 döner; varsayılan false.",
            "type": "boolean"
          },
          "frontchannel_logout_uri": {
            "description": "Ön kanal çıkış URI'si (https).",
            "format": "uri",
            "maxLength": 2000,
            "type": "string"
          },
          "grant_types": {
            "description": "İzinli grant türleri; app_type izin kümesinin alt kümesi.",
            "items": {
              "enum": [
                "authorization_code",
                "refresh_token",
                "client_credentials",
                "urn:ietf:params:oauth:grant-type:device_code",
                "urn:ietf:params:oauth:grant-type:token-exchange"
              ],
              "type": "string"
            },
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "id_token_org_claims": {
            "description": "true (varsayılan) ise org bağlamlı girişte ID token `org_id`, `org_slug` ve `org_roles` claim'lerini taşır; false ise ID token'a org claim'i yazılmaz. Access token etkilenmez; ID token hiçbir zaman izin taşımaz.",
            "type": "boolean"
          },
          "initiate_login_uri": {
            "description": "OIDC `initiate_login_uri`: IdP-initiated SAML girişinde oturum açıldıktan sonra tarayıcının `iss` ile gönderildiği https adresi; uygulama girişi `state` ve PKCE ile kendisi başlatır. Küçük harfli DNS host, parça ve kullanıcı bilgisi yok; m2m ve management uygulamasında verilemez. Boş: kayıtlı değil, uygulama IdP-initiated hedefi seçilemez.",
            "format": "uri",
            "maxLength": 2048,
            "type": "string"
          },
          "jwks": {
            "additionalProperties": true,
            "description": "Satır içi JWK Set ({\"keys\":[…]}): 1-5 genel anahtar, en çok 16 KiB, özel anahtar üyesi reddedilir. jwks_uri ile birlikte verilemez.",
            "type": "object"
          },
          "jwks_uri": {
            "description": "Uzak JWK Set URI'si (https); jwks ile birlikte verilemez.",
            "format": "uri",
            "maxLength": 2000,
            "type": "string"
          },
          "key": {
            "description": "Kararlı yapılandırma anahtarı (ortam içinde tekil). Oluşturulduktan sonra değişmez; farklı bir değer 422 (immutable) döner.",
            "pattern": "^[a-z0-9_-]{1,64}$",
            "type": "string"
          },
          "login_host": {
            "description": "Ortamın giriş host adlarından biri (küçük harfli DNS adı); boşsa ortamın varsayılanı.",
            "maxLength": 253,
            "type": "string"
          },
          "m2m_token_lifetime_s": {
            "description": "Yalnız app_type = m2m için token ömrü (saniye).",
            "maximum": 86400,
            "minimum": 60,
            "type": "integer"
          },
          "min_acr": {
            "description": "En düşük kimlik doğrulama güvence düzeyi.",
            "enum": [
              "urn:idp:acr:1fa",
              "urn:idp:acr:mfa",
              "urn:idp:acr:phr"
            ],
            "type": "string"
          },
          "name": {
            "description": "Görünen ad (1-100 karakter, denetim karakteri yok).",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "org_access_mode": {
            "description": "Org bağlamlı girişte uygulama erişimi: `all_organizations` (varsayılan) her org'un her üyesine,\n`enabled_organizations` uygulamanın etkinleştirildiği org'lara, `assigned_only` ayrıca atanmış üyelik ya da dizin\ngrubuna izin verir (`/v1/organizations/{org_id}/applications/{application_id}`).",
            "enum": [
              "all_organizations",
              "enabled_organizations",
              "assigned_only"
            ],
            "type": "string"
          },
          "organization_usage": {
            "description": "Organizasyon kullanımı.",
            "enum": [
              "deny",
              "allow",
              "require"
            ],
            "type": "string"
          },
          "owner_org_id": {
            "description": "Yalnız app_type = m2m için: uygulamayı sahiplenen organizasyon (org_…). Oluşturulduktan sonra değişmez; farklı bir değer 422 (immutable) döner.",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "party": {
            "description": "Taraf. Yalnız first_party olan third_party yapılabilir; tersi 422 döner.",
            "enum": [
              "first_party",
              "third_party"
            ],
            "type": "string"
          },
          "pkce_required": {
            "description": "PKCE zorunlu; yalnız gizli web uygulamasında kapatılabilir. PKCE kapalıyken kod enjeksiyonuna karşı tek savunma `nonce`tur: `require_nonce` development dışındaki ortamlarda açık olmalıdır, aksi 422 `validation_failed` (`/require_nonce`).",
            "type": "boolean"
          },
          "policy_uri": {
            "description": "Gizlilik politikası URI'si (https); onay ekranında gösterilir.",
            "format": "uri",
            "maxLength": 2000,
            "type": "string"
          },
          "post_logout_redirect_uris": {
            "description": "Çıkış sonrası yönlendirme URI'leri (en çok 50).",
            "items": {
              "maxLength": 2000,
              "type": "string"
            },
            "maxItems": 50,
            "type": "array",
            "uniqueItems": true
          },
          "redirect_uris": {
            "description": "İzinli yönlendirme URI'leri (en çok 50); m2m ve management türlerinde boş olmalı.",
            "items": {
              "maxLength": 2000,
              "type": "string"
            },
            "maxItems": 50,
            "type": "array",
            "uniqueItems": true
          },
          "refresh_absolute_s": {
            "description": "Refresh token mutlak ömrü (saniye).",
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer"
          },
          "refresh_idle_s": {
            "description": "Refresh token boşta kalma süresi (saniye); refresh_absolute_s değerini aşamaz.",
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer"
          },
          "refresh_reuse_interval_s": {
            "description": "Refresh token yeniden kullanım penceresi (saniye); varsayılan 5.",
            "maximum": 30,
            "minimum": 0,
            "type": "integer"
          },
          "registration_mode": {
            "description": "Kayıt kipi; boşsa ortam ayarı devralınır.",
            "enum": [
              "open",
              "invite_only",
              "closed"
            ],
            "type": "string"
          },
          "registration_source": {
            "description": "Kayıt kaynağı. Oluşturmada verilmezse management_api. Oluşturulduktan sonra değişmez; farklı bir değer 422 (immutable) döner.",
            "enum": [
              "dashboard",
              "management_api"
            ],
            "type": "string"
          },
          "require_nonce": {
            "description": "nonce zorunlu.",
            "type": "boolean"
          },
          "require_par": {
            "description": "Yetkilendirme isteği PAR ile gönderilmek zorunda.",
            "type": "boolean"
          },
          "require_state": {
            "description": "state zorunlu.",
            "type": "boolean"
          },
          "security_profile": {
            "description": "Güvenlik profili; şimdilik yalnız baseline yazılabilir.",
            "enum": [
              "baseline"
            ],
            "type": "string"
          },
          "skip_consent": {
            "description": "Onay ekranını atla; yalnız first_party.",
            "type": "boolean"
          },
          "software_id": {
            "description": "Yalnız DCR uygulamaları için.",
            "type": "string"
          },
          "software_version": {
            "description": "Yalnız DCR uygulamaları için.",
            "type": "string"
          },
          "status": {
            "description": "Durum. suspended uygulama yeni token alamaz.",
            "enum": [
              "active",
              "suspended"
            ],
            "type": "string"
          },
          "token_binding_policy": {
            "description": "Token bağlama politikası.",
            "enum": [
              "none",
              "dpop_required"
            ],
            "type": "string"
          },
          "token_endpoint_auth_method": {
            "description": "Token ucu istemci kimlik doğrulama yöntemi; app_type için izinli kümeden olmalı.",
            "enum": [
              "private_key_jwt",
              "client_secret_basic",
              "client_secret_post",
              "none"
            ],
            "type": "string"
          },
          "tos_uri": {
            "description": "Hizmet şartları URI'si (https).",
            "format": "uri",
            "maxLength": 2000,
            "type": "string"
          },
          "verification_status": {
            "description": "Doğrulama durumu (oluşturmada boşsa verified).",
            "enum": [
              "verified",
              "unverified"
            ],
            "type": "string"
          }
        },
        "required": [
          "key",
          "name",
          "app_type",
          "party"
        ],
        "type": "object"
      },
      "ApplicationCredential": {
        "description": "Uygulamanın bir kimlik bilgisi (istemci sırrı ya da kayıtlı açık anahtar). Sır, sır özeti ve JWK gövdesi bu temsilde yoktur.",
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "created_by": {
            "description": "Kimlik bilgisini oluşturan anahtarın kimliği (denetim için saklanır).",
            "type": "string"
          },
          "expires_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "pattern": "^cred_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "jwk_thumbprint": {
            "description": "RFC 7638 thumbprint (base64url); yalnız public_key türünde.",
            "type": [
              "string",
              "null"
            ]
          },
          "last_used_at": {
            "description": "Son kullanım (saatlik toplu yazım); hiç kullanılmadıysa null.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "revoke_reason": {
            "enum": [
              "manual",
              "leaked",
              "expired",
              "policy",
              "application_deleted",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "revoked_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "secret_last4": {
            "description": "Sırrın son 4 karakteri (gösterim için); yalnız client_secret türünde.",
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "description": "client_secret: platformca üretilen istemci sırrı; public_key: private_key_jwt için kayıtlı JWK.",
            "enum": [
              "client_secret",
              "public_key"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "secret_last4",
          "jwk_thumbprint",
          "created_by",
          "created_at",
          "expires_at",
          "revoked_at",
          "revoke_reason",
          "last_used_at"
        ],
        "type": "object"
      },
      "ApplicationCredentialCreateRequest": {
        "additionalProperties": false,
        "description": "Kimlik bilgisi oluşturma. `client_secret` türünde yalnız `expires_at`, `public_key` türünde yalnız `jwk` verilir; türe ait olmayan alan 422 `not_allowed` döner.",
        "properties": {
          "expires_at": {
            "description": "Yalnız client_secret: isteğe bağlı son kullanma (RFC 3339, gelecekte olmalı); boşsa sır süresizdir. Enterprise ortam politikası azami ömrü sınırlayabilir.",
            "format": "date-time",
            "type": "string"
          },
          "jwk": {
            "additionalProperties": true,
            "description": "Yalnız public_key: açık anahtar (RFC 7517 JWK, en çok 16 KiB). kty EC, RSA (≥ 2.048 bit) ya da OKP; alg ES256, ES384, PS256, RS256 ya da EdDSA. Özel ya da simetrik üye (d, p, q, dp, dq, qi, oth, k) içeren anahtar reddedilir.",
            "type": "object"
          },
          "type": {
            "enum": [
              "client_secret",
              "public_key"
            ],
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "type": "object"
      },
      "ApplicationCredentialCreated": {
        "description": "Oluşturulan kimlik bilgisi. `client_secret` yalnız client_secret türünde ve yalnız ilk yanıtta vardır; Idempotency-Key ile tekrar oynatılan yanıtta yoktur ve `secret_redacted: true` döner.",
        "properties": {
          "client_secret": {
            "description": "İstemci sırrı (idp_cs_live_… production, idp_cs_test_… diğer ortamlar). BİR SIRDIR: yalnız bu yanıtta bir kez döner, sonradan okunamaz; hemen güvenli bir yerde saklayın.",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "created_by": {
            "type": "string"
          },
          "expires_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "pattern": "^cred_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "jwk_thumbprint": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_used_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "revoke_reason": {
            "enum": [
              "manual",
              "leaked",
              "expired",
              "policy",
              "application_deleted",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "revoked_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "secret_last4": {
            "type": [
              "string",
              "null"
            ]
          },
          "secret_redacted": {
            "description": "Yalnız Idempotency-Key tekrarında true: asıl yanıttaki sır bu yanıttan çıkarılmıştır.",
            "type": "boolean"
          },
          "type": {
            "enum": [
              "client_secret",
              "public_key"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "secret_last4",
          "jwk_thumbprint",
          "created_by",
          "created_at",
          "expires_at",
          "revoked_at",
          "revoke_reason",
          "last_used_at"
        ],
        "type": "object"
      },
      "ApplicationCredentialList": {
        "description": "Uygulamanın kimlik bilgileri, tek sayfa (en yeni başta); `list_metadata` her zaman null değerlidir.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ApplicationCredential"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "ApplicationList": {
        "description": "İmleçli uygulama listesi; toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Application"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "ApplicationUpdateRequest": {
        "additionalProperties": false,
        "description": "Merge-patch (RFC 7396) gövdesi: verilen alanlar değişir, null nullable alanı boşaltır, listeler bütünüyle değişir. If-Match zorunludur.",
        "properties": {
          "access_token_lifetime_s": {
            "description": "Access token ömrü (saniye); boşsa ortam/API varsayılanı.",
            "maximum": 86400,
            "minimum": 60,
            "type": [
              "integer",
              "null"
            ]
          },
          "allowed_first_factors": {
            "description": "Uygulamada izin verilen birinci faktörler; katalog sırasında döner. Boş liste (varsayılan) uygulamanın kısıt koymadığı anlamına gelir: ortam ve organizasyon kümeleri geçerlidir. Boş olmayan küme ortamın `allowed_first_factors` kümesiyle kesişir; kesişim boş kalırsa, ya da uygulamanın kullanılabildiği bir org'un `authentication_methods`/`sso_enforcement` politikasıyla kesişim boş kalırsa `422 policy_conflict` döner. Yinelenen ya da bilinmeyen değer `422 validation_failed` (işaretçi öğeyi gösterir, örneğin `/allowed_first_factors/1`).",
            "items": {
              "enum": [
                "password",
                "passkey",
                "email_otp",
                "magic_link",
                "sms_otp",
                "social",
                "enterprise"
              ],
              "type": "string"
            },
            "maxItems": 7,
            "type": "array",
            "uniqueItems": true
          },
          "allowed_response_modes": {
            "description": "Uygulamanın yetkilendirme ve PAR isteklerinde kullanabileceği `response_mode` değerleri; katalog sırasında döner. Varsayılan `[\"query\"]`; `form_post` isteyen uygulama onu açıkça ekler. Kümede olmayan `response_mode` ile gelen yetkilendirme isteği reddedilir; istekte `response_mode` yoksa yanıt kipi `query`'dir. Boş liste ya da `null` yazmak, yinelenen ya da bilinmeyen değer `422 validation_failed`; JARM kipleri (`jwt`, `query.jwt`, `fragment.jwt`, `form_post.jwt`) henüz desteklenmez ve aynı hatayı verir. KeenAuth uzantısıdır; dinamik kayıt (RFC 7591) ve CIMD üst verisinde yoktur, oralardan kaydedilen istemciler `[\"query\"]` alır.",
            "items": {
              "enum": [
                "query",
                "form_post"
              ],
              "type": "string"
            },
            "maxItems": 2,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "allowed_web_origins": {
            "description": "CORS için izinli tam kökenler (https://host[:port]); en çok 20, joker yok.",
            "items": {
              "maxLength": 255,
              "type": "string"
            },
            "maxItems": 20,
            "type": "array",
            "uniqueItems": true
          },
          "app_type": {
            "description": "Uygulama türü: web (sunucu tarafı, gizli), spa, native, m2m, device, management (yönetim API istemcisi). Oluşturulduktan sonra değişmez; farklı bir değer 422 (immutable) döner.",
            "enum": [
              "web",
              "spa",
              "native",
              "m2m",
              "device",
              "management"
            ],
            "type": "string"
          },
          "backchannel_logout_uri": {
            "description": "Arka kanal çıkış URI'si (https).",
            "format": "uri",
            "maxLength": 2000,
            "type": [
              "string",
              "null"
            ]
          },
          "client_uri": {
            "description": "Uygulama ana sayfası URI'si (https).",
            "format": "uri",
            "maxLength": 2000,
            "type": [
              "string",
              "null"
            ]
          },
          "connection_ids": {
            "description": "Uygulamada açık bağlantılar (conn_…), sıralı: sıra düğme sırasıdır.",
            "items": {
              "pattern": "^conn_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 100,
            "type": "array",
            "uniqueItems": true
          },
          "default_api_id": {
            "description": "resource göndermeyen isteklerde kullanılacak API (api_…).",
            "pattern": "^api_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "default_max_age_s": {
            "description": "Varsayılan max_age (saniye).",
            "maximum": 2147483647,
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "frontchannel_logout_session_required": {
            "description": "Ön kanal çıkış URI'sine `iss` ve `sid` eklenir (OIDC Front-Channel Logout 1.0). Ortamın `frontchannel_logout_enabled` ayarı kapalıyken true yazmak 422 döner; varsayılan false.",
            "type": "boolean"
          },
          "frontchannel_logout_uri": {
            "description": "Ön kanal çıkış URI'si (https).",
            "format": "uri",
            "maxLength": 2000,
            "type": [
              "string",
              "null"
            ]
          },
          "grant_types": {
            "description": "İzinli grant türleri; app_type izin kümesinin alt kümesi.",
            "items": {
              "enum": [
                "authorization_code",
                "refresh_token",
                "client_credentials",
                "urn:ietf:params:oauth:grant-type:device_code",
                "urn:ietf:params:oauth:grant-type:token-exchange"
              ],
              "type": "string"
            },
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "id_token_org_claims": {
            "description": "true (varsayılan) ise org bağlamlı girişte ID token `org_id`, `org_slug` ve `org_roles` claim'lerini taşır; false ise ID token'a org claim'i yazılmaz. Access token etkilenmez; ID token hiçbir zaman izin taşımaz.",
            "type": "boolean"
          },
          "initiate_login_uri": {
            "description": "OIDC `initiate_login_uri`: IdP-initiated SAML girişinde oturum açıldıktan sonra tarayıcının `iss` ile gönderildiği https adresi; uygulama girişi `state` ve PKCE ile kendisi başlatır. Küçük harfli DNS host, parça ve kullanıcı bilgisi yok; m2m ve management uygulamasında verilemez. Boş: kayıtlı değil, uygulama IdP-initiated hedefi seçilemez.",
            "format": "uri",
            "maxLength": 2048,
            "type": [
              "string",
              "null"
            ]
          },
          "jwks": {
            "additionalProperties": true,
            "description": "Satır içi JWK Set ({\"keys\":[…]}): 1-5 genel anahtar, en çok 16 KiB, özel anahtar üyesi reddedilir. jwks_uri ile birlikte verilemez.",
            "type": [
              "object",
              "null"
            ]
          },
          "jwks_uri": {
            "description": "Uzak JWK Set URI'si (https); jwks ile birlikte verilemez.",
            "format": "uri",
            "maxLength": 2000,
            "type": [
              "string",
              "null"
            ]
          },
          "key": {
            "description": "Kararlı yapılandırma anahtarı (ortam içinde tekil). Oluşturulduktan sonra değişmez; farklı bir değer 422 (immutable) döner.",
            "pattern": "^[a-z0-9_-]{1,64}$",
            "type": "string"
          },
          "login_host": {
            "description": "Ortamın giriş host adlarından biri (küçük harfli DNS adı); boşsa ortamın varsayılanı.",
            "maxLength": 253,
            "type": [
              "string",
              "null"
            ]
          },
          "m2m_token_lifetime_s": {
            "description": "Yalnız app_type = m2m için token ömrü (saniye).",
            "maximum": 86400,
            "minimum": 60,
            "type": [
              "integer",
              "null"
            ]
          },
          "min_acr": {
            "description": "En düşük kimlik doğrulama güvence düzeyi.",
            "enum": [
              "urn:idp:acr:1fa",
              "urn:idp:acr:mfa",
              "urn:idp:acr:phr",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "Görünen ad (1-100 karakter, denetim karakteri yok).",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "org_access_mode": {
            "description": "Org bağlamlı girişte uygulama erişimi: `all_organizations` (varsayılan) her org'un her üyesine,\n`enabled_organizations` uygulamanın etkinleştirildiği org'lara, `assigned_only` ayrıca atanmış üyelik ya da dizin\ngrubuna izin verir (`/v1/organizations/{org_id}/applications/{application_id}`).",
            "enum": [
              "all_organizations",
              "enabled_organizations",
              "assigned_only"
            ],
            "type": "string"
          },
          "organization_usage": {
            "description": "Organizasyon kullanımı.",
            "enum": [
              "deny",
              "allow",
              "require"
            ],
            "type": "string"
          },
          "owner_org_id": {
            "description": "Yalnız app_type = m2m için: uygulamayı sahiplenen organizasyon (org_…). Oluşturulduktan sonra değişmez; farklı bir değer 422 (immutable) döner.",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "party": {
            "description": "Taraf. Yalnız first_party olan third_party yapılabilir; tersi 422 döner.",
            "enum": [
              "first_party",
              "third_party"
            ],
            "type": "string"
          },
          "pkce_required": {
            "description": "PKCE zorunlu; yalnız gizli web uygulamasında kapatılabilir. PKCE kapalıyken kod enjeksiyonuna karşı tek savunma `nonce`tur: `require_nonce` development dışındaki ortamlarda açık olmalıdır, aksi 422 `validation_failed` (`/require_nonce`).",
            "type": "boolean"
          },
          "policy_uri": {
            "description": "Gizlilik politikası URI'si (https); onay ekranında gösterilir.",
            "format": "uri",
            "maxLength": 2000,
            "type": [
              "string",
              "null"
            ]
          },
          "post_logout_redirect_uris": {
            "description": "Çıkış sonrası yönlendirme URI'leri (en çok 50).",
            "items": {
              "maxLength": 2000,
              "type": "string"
            },
            "maxItems": 50,
            "type": "array",
            "uniqueItems": true
          },
          "redirect_uris": {
            "description": "İzinli yönlendirme URI'leri (en çok 50); m2m ve management türlerinde boş olmalı.",
            "items": {
              "maxLength": 2000,
              "type": "string"
            },
            "maxItems": 50,
            "type": "array",
            "uniqueItems": true
          },
          "refresh_absolute_s": {
            "description": "Refresh token mutlak ömrü (saniye).",
            "maximum": 2147483647,
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "refresh_idle_s": {
            "description": "Refresh token boşta kalma süresi (saniye); refresh_absolute_s değerini aşamaz.",
            "maximum": 2147483647,
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "refresh_reuse_interval_s": {
            "description": "Refresh token yeniden kullanım penceresi (saniye); varsayılan 5.",
            "maximum": 30,
            "minimum": 0,
            "type": "integer"
          },
          "registration_mode": {
            "description": "Kayıt kipi; boşsa ortam ayarı devralınır.",
            "enum": [
              "open",
              "invite_only",
              "closed",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "registration_source": {
            "description": "Kayıt kaynağı. Oluşturmada verilmezse management_api. Oluşturulduktan sonra değişmez; farklı bir değer 422 (immutable) döner.",
            "enum": [
              "dashboard",
              "management_api"
            ],
            "type": "string"
          },
          "require_nonce": {
            "description": "nonce zorunlu.",
            "type": "boolean"
          },
          "require_par": {
            "description": "Yetkilendirme isteği PAR ile gönderilmek zorunda.",
            "type": "boolean"
          },
          "require_state": {
            "description": "state zorunlu.",
            "type": "boolean"
          },
          "security_profile": {
            "description": "Güvenlik profili; şimdilik yalnız baseline yazılabilir.",
            "enum": [
              "baseline"
            ],
            "type": "string"
          },
          "skip_consent": {
            "description": "Onay ekranını atla; yalnız first_party.",
            "type": "boolean"
          },
          "software_id": {
            "description": "Yalnız DCR uygulamaları için.",
            "type": [
              "string",
              "null"
            ]
          },
          "software_version": {
            "description": "Yalnız DCR uygulamaları için.",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Durum. suspended uygulama yeni token alamaz.",
            "enum": [
              "active",
              "suspended"
            ],
            "type": "string"
          },
          "token_binding_policy": {
            "description": "Token bağlama politikası.",
            "enum": [
              "none",
              "dpop_required"
            ],
            "type": "string"
          },
          "token_endpoint_auth_method": {
            "description": "Token ucu istemci kimlik doğrulama yöntemi; app_type için izinli kümeden olmalı.",
            "enum": [
              "private_key_jwt",
              "client_secret_basic",
              "client_secret_post",
              "none"
            ],
            "type": "string"
          },
          "tos_uri": {
            "description": "Hizmet şartları URI'si (https).",
            "format": "uri",
            "maxLength": 2000,
            "type": [
              "string",
              "null"
            ]
          },
          "verification_status": {
            "description": "Doğrulama durumu (oluşturmada boşsa verified).",
            "enum": [
              "verified",
              "unverified"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "AttackModeActivateRequest": {
        "additionalProperties": false,
        "properties": {
          "duration_minutes": {
            "description": "Elle dönemin süresi (dakika).",
            "maximum": 1440,
            "minimum": 15,
            "type": "integer"
          }
        },
        "required": [
          "duration_minutes"
        ],
        "type": "object"
      },
      "AttackModePeriod": {
        "additionalProperties": false,
        "description": "Bir saldırı modu dönemi. Dönemi açanın kimliği bu şemada yoktur.",
        "properties": {
          "ended_at": {
            "description": "Dönemin kapandığı an; açık dönemde `null`.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "ends_at": {
            "description": "Dönemin kendiliğinden bittiği an (otomatik dönemde trafik sürdükçe ötelenir).",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik (`atm_…`).",
            "pattern": "^atm_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "org_domain": {
            "description": "`scope = org_domain` dönemin alanı; ortam döneminde `null`.",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "scope": {
            "description": "Dönemin kapsadığı alan: bütün ortam ya da tek bir kuruluş e-posta alanı.",
            "enum": [
              "environment",
              "org_domain"
            ],
            "readOnly": true,
            "type": "string"
          },
          "started_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "threshold": {
            "description": "Otomatik dönemde aşılan eşik (`max(50, 10 × medyan)`); elle dönemde `null`.",
            "minimum": 1,
            "readOnly": true,
            "type": [
              "integer",
              "null"
            ]
          },
          "trigger": {
            "description": "`auto` eşiği aşan trafik, `manual_customer` bu API, `manual_platform` KeenAuth operasyonu.",
            "enum": [
              "auto",
              "manual_customer",
              "manual_platform"
            ],
            "readOnly": true,
            "type": "string"
          },
          "trigger_value": {
            "description": "Otomatik dönemde tetiği aşan 5 dakikalık başarısız deneme sayısı; elle dönemde `null`.",
            "minimum": 0,
            "readOnly": true,
            "type": [
              "integer",
              "null"
            ]
          },
          "would_have": {
            "description": "`true`: `log` kipinde tetik aşıldı ama uygulanmadı (yalnız kayıt).",
            "readOnly": true,
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "scope",
          "org_domain",
          "trigger",
          "would_have",
          "trigger_value",
          "threshold",
          "started_at",
          "ends_at",
          "ended_at"
        ],
        "type": "object"
      },
      "AttackModeState": {
        "additionalProperties": false,
        "description": "Ortamın saldırı modu durumu ve son 90 günün dönemleri (en yenisi önce).",
        "properties": {
          "active": {
            "description": "Ortam şu an saldırı modunda (uygulanan bir ortam dönemi açık).",
            "type": "boolean"
          },
          "active_until": {
            "description": "Açık uygulanan ortam dönemlerinin en geç bitişi; `active = false` iken `null`.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "more": {
            "description": "Son 90 günde listelenmeyen daha eski dönem var.",
            "type": "boolean"
          },
          "periods": {
            "items": {
              "$ref": "#/components/schemas/AttackModePeriod"
            },
            "maxItems": 100,
            "type": "array"
          }
        },
        "required": [
          "active",
          "active_until",
          "periods",
          "more"
        ],
        "type": "object"
      },
      "AttackProtection": {
        "description": "Ortamın saldırı koruması nesnesi. Her alt nesnede `configured` (müşterinin yazdığı) ve `effective` (varsayılan, taban ve plan kapısı uygulanmış değer). ETag nesnenin içerik özetidir; `PUT` ve `PATCH` `If-Match` ister.",
        "properties": {
          "bot_protection": {
            "description": "Bot koruması.",
            "properties": {
              "configured": {
                "$ref": "#/components/schemas/AttackProtectionBotProtectionConfig"
              },
              "effective": {
                "$ref": "#/components/schemas/AttackProtectionBotProtectionEffective"
              }
            },
            "required": [
              "configured",
              "effective"
            ],
            "type": "object"
          },
          "breached_password": {
            "description": "Sızmış parola denetimi.",
            "properties": {
              "configured": {
                "$ref": "#/components/schemas/AttackProtectionBreachedPasswordConfig"
              },
              "effective": {
                "$ref": "#/components/schemas/AttackProtectionBreachedPasswordEffective"
              }
            },
            "required": [
              "configured",
              "effective"
            ],
            "type": "object"
          },
          "brute_force": {
            "description": "Kullanıcı başına kaba kuvvet koruması.",
            "properties": {
              "configured": {
                "$ref": "#/components/schemas/AttackProtectionBruteForceConfig"
              },
              "effective": {
                "$ref": "#/components/schemas/AttackProtectionBruteForceEffective"
              }
            },
            "required": [
              "configured",
              "effective"
            ],
            "type": "object"
          },
          "credential_stuffing": {
            "description": "Kimlik bilgisi doldurma ve saldırı modu.",
            "properties": {
              "configured": {
                "$ref": "#/components/schemas/AttackProtectionCredentialStuffingConfig"
              },
              "effective": {
                "$ref": "#/components/schemas/AttackProtectionCredentialStuffingEffective"
              }
            },
            "required": [
              "configured",
              "effective"
            ],
            "type": "object"
          },
          "risk_policy": {
            "description": "Risk politikası.",
            "properties": {
              "configured": {
                "$ref": "#/components/schemas/AttackProtectionRiskPolicyConfig"
              },
              "effective": {
                "$ref": "#/components/schemas/AttackProtectionRiskPolicyEffective"
              }
            },
            "required": [
              "configured",
              "effective"
            ],
            "type": "object"
          },
          "schema_version": {
            "description": "Nesnenin şema sürümü (bugün 1).",
            "type": "integer"
          },
          "signup_protection": {
            "description": "Kayıt koruması.",
            "properties": {
              "configured": {
                "$ref": "#/components/schemas/AttackProtectionSignupProtectionConfig"
              },
              "effective": {
                "$ref": "#/components/schemas/AttackProtectionSignupProtectionEffective"
              }
            },
            "required": [
              "configured",
              "effective"
            ],
            "type": "object"
          },
          "sms_protection": {
            "description": "SMS dolandırıcılığı koruması.",
            "properties": {
              "configured": {
                "$ref": "#/components/schemas/AttackProtectionSmsProtectionConfig"
              },
              "effective": {
                "$ref": "#/components/schemas/AttackProtectionSmsProtectionEffective"
              }
            },
            "required": [
              "configured",
              "effective"
            ],
            "type": "object"
          },
          "suspicious_ip_throttling": {
            "description": "IP başına kısma.",
            "properties": {
              "configured": {
                "$ref": "#/components/schemas/AttackProtectionSuspiciousIpThrottlingConfig"
              },
              "effective": {
                "$ref": "#/components/schemas/AttackProtectionSuspiciousIpThrottlingEffective"
              }
            },
            "required": [
              "configured",
              "effective"
            ],
            "type": "object"
          }
        },
        "required": [
          "schema_version",
          "brute_force",
          "suspicious_ip_throttling",
          "credential_stuffing",
          "bot_protection",
          "breached_password",
          "signup_protection",
          "sms_protection",
          "risk_policy"
        ],
        "type": "object"
      },
      "AttackProtectionBotProtectionConfig": {
        "additionalProperties": false,
        "description": "Bot koruması. Müşterinin yazdığı alanlar; yazılmayan alan varsayılanını alır.",
        "properties": {
          "mode": {
            "description": "Varsayılan `risk_based`.",
            "enum": [
              "off",
              "risk_based",
              "always"
            ],
            "type": "string"
          },
          "provider": {
            "description": "Doğrulama sağlayıcısı (GA-1'de yalnız `altcha`).",
            "enum": [
              "altcha"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "AttackProtectionBotProtectionEffective": {
        "description": "Bot koruması. Etkin değer: varsayılan, taban ve plan kapısı uygulanmış.",
        "properties": {
          "mode": {
            "description": "Varsayılan `risk_based`.",
            "enum": [
              "off",
              "risk_based",
              "always"
            ],
            "type": "string"
          },
          "provider": {
            "description": "Doğrulama sağlayıcısı (GA-1'de yalnız `altcha`).",
            "enum": [
              "altcha"
            ],
            "type": "string"
          }
        },
        "required": [
          "mode",
          "provider"
        ],
        "type": "object"
      },
      "AttackProtectionBreachedPasswordConfig": {
        "additionalProperties": false,
        "description": "Sızmış parola denetimi. Müşterinin yazdığı alanlar; yazılmayan alan varsayılanını alır.",
        "properties": {
          "notify_user": {
            "description": "Kullanıcıya bildirim gider (varsayılan true).",
            "type": "boolean"
          },
          "on_login": {
            "description": "Girişte sızmış parola: `require_reset` (varsayılan) parola sıfırlamaya yönlendirir, `notify` yalnız bildirir.",
            "enum": [
              "require_reset",
              "notify"
            ],
            "type": "string"
          },
          "on_password_change": {
            "description": "Parola değişiminde sızmış parola reddedilir (taban).",
            "enum": [
              "block"
            ],
            "type": "string"
          },
          "on_signup": {
            "description": "Kayıtta sızmış parola reddedilir (taban; başka değer `422 below_security_floor`).",
            "enum": [
              "block"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "AttackProtectionBreachedPasswordEffective": {
        "description": "Sızmış parola denetimi. Etkin değer: varsayılan, taban ve plan kapısı uygulanmış.",
        "properties": {
          "notify_user": {
            "description": "Kullanıcıya bildirim gider (varsayılan true).",
            "type": "boolean"
          },
          "on_login": {
            "description": "Girişte sızmış parola: `require_reset` (varsayılan) parola sıfırlamaya yönlendirir, `notify` yalnız bildirir.",
            "enum": [
              "require_reset",
              "notify"
            ],
            "type": "string"
          },
          "on_password_change": {
            "description": "Parola değişiminde sızmış parola reddedilir (taban).",
            "enum": [
              "block"
            ],
            "type": "string"
          },
          "on_signup": {
            "description": "Kayıtta sızmış parola reddedilir (taban; başka değer `422 below_security_floor`).",
            "enum": [
              "block"
            ],
            "type": "string"
          }
        },
        "required": [
          "on_signup",
          "on_password_change",
          "on_login",
          "notify_user"
        ],
        "type": "object"
      },
      "AttackProtectionBruteForceConfig": {
        "additionalProperties": false,
        "description": "Kullanıcı başına kaba kuvvet koruması. Müşterinin yazdığı alanlar; yazılmayan alan varsayılanını alır.",
        "properties": {
          "lock_minutes": {
            "description": "Kilit süresi, dakika (5–60, varsayılan 15). Taban: 5'in altı `422 below_security_floor`.",
            "maximum": 60,
            "type": "integer"
          },
          "max_failures": {
            "description": "Kilitten önceki başarısız deneme sayısı (5–100, varsayılan 20). Taban: 100'ün üstü `422 below_security_floor`.",
            "minimum": 5,
            "type": "integer"
          },
          "mode": {
            "description": "`enforce` hesabı kilitler, `log` yalnız kaydeder (varsayılan `enforce`).",
            "enum": [
              "log",
              "enforce"
            ],
            "type": "string"
          },
          "notify_user": {
            "description": "Kilitte kullanıcıya e-posta gider (varsayılan true).",
            "type": "boolean"
          },
          "window_minutes": {
            "description": "Başarısız denemelerin sayıldığı pencere, dakika (varsayılan 15).",
            "maximum": 60,
            "minimum": 5,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "AttackProtectionBruteForceEffective": {
        "description": "Kullanıcı başına kaba kuvvet koruması. Etkin değer: varsayılan, taban ve plan kapısı uygulanmış.",
        "properties": {
          "lock_minutes": {
            "description": "Kilit süresi, dakika (5–60, varsayılan 15). Taban: 5'in altı `422 below_security_floor`.",
            "maximum": 60,
            "type": "integer"
          },
          "max_failures": {
            "description": "Kilitten önceki başarısız deneme sayısı (5–100, varsayılan 20). Taban: 100'ün üstü `422 below_security_floor`.",
            "minimum": 5,
            "type": "integer"
          },
          "mode": {
            "description": "`enforce` hesabı kilitler, `log` yalnız kaydeder (varsayılan `enforce`).",
            "enum": [
              "log",
              "enforce"
            ],
            "type": "string"
          },
          "notify_user": {
            "description": "Kilitte kullanıcıya e-posta gider (varsayılan true).",
            "type": "boolean"
          },
          "window_minutes": {
            "description": "Başarısız denemelerin sayıldığı pencere, dakika (varsayılan 15).",
            "maximum": 60,
            "minimum": 5,
            "type": "integer"
          }
        },
        "required": [
          "mode",
          "max_failures",
          "window_minutes",
          "lock_minutes",
          "notify_user"
        ],
        "type": "object"
      },
      "AttackProtectionConfig": {
        "additionalProperties": false,
        "description": "`PUT /v1/attack-protection` tam değiştirme gövdesi: yazılmayan alt nesne ve alan varsayılana döner. Bilinmeyen alan `400 unknown_field`; nesne en çok 32 KiB.",
        "properties": {
          "bot_protection": {
            "$ref": "#/components/schemas/AttackProtectionBotProtectionConfig"
          },
          "breached_password": {
            "$ref": "#/components/schemas/AttackProtectionBreachedPasswordConfig"
          },
          "brute_force": {
            "$ref": "#/components/schemas/AttackProtectionBruteForceConfig"
          },
          "credential_stuffing": {
            "$ref": "#/components/schemas/AttackProtectionCredentialStuffingConfig"
          },
          "risk_policy": {
            "$ref": "#/components/schemas/AttackProtectionRiskPolicyConfig"
          },
          "signup_protection": {
            "$ref": "#/components/schemas/AttackProtectionSignupProtectionConfig"
          },
          "sms_protection": {
            "$ref": "#/components/schemas/AttackProtectionSmsProtectionConfig"
          },
          "suspicious_ip_throttling": {
            "$ref": "#/components/schemas/AttackProtectionSuspiciousIpThrottlingConfig"
          }
        },
        "type": "object"
      },
      "AttackProtectionCredentialStuffingConfig": {
        "additionalProperties": false,
        "description": "Kimlik bilgisi doldurma ve saldırı modu. Müşterinin yazdığı alanlar; yazılmayan alan varsayılanını alır.",
        "properties": {
          "attack_mode_auto": {
            "description": "Saldırı modu otomatik açılır (varsayılan true).",
            "type": "boolean"
          },
          "attack_mode_duration_minutes": {
            "description": "Saldırı modunun süresi, dakika (varsayılan 30).",
            "maximum": 240,
            "minimum": 15,
            "type": "integer"
          },
          "mode": {
            "description": "Varsayılan `enforce`.",
            "enum": [
              "log",
              "enforce"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "AttackProtectionCredentialStuffingEffective": {
        "description": "Kimlik bilgisi doldurma ve saldırı modu. Etkin değer: varsayılan, taban ve plan kapısı uygulanmış.",
        "properties": {
          "attack_mode_auto": {
            "description": "Saldırı modu otomatik açılır (varsayılan true).",
            "type": "boolean"
          },
          "attack_mode_duration_minutes": {
            "description": "Saldırı modunun süresi, dakika (varsayılan 30).",
            "maximum": 240,
            "minimum": 15,
            "type": "integer"
          },
          "mode": {
            "description": "Varsayılan `enforce`.",
            "enum": [
              "log",
              "enforce"
            ],
            "type": "string"
          }
        },
        "required": [
          "mode",
          "attack_mode_auto",
          "attack_mode_duration_minutes"
        ],
        "type": "object"
      },
      "AttackProtectionLockout": {
        "additionalProperties": false,
        "description": "Açık bir hesap kilidi. Sayaç öznesi, adres ve IP bu şemada hiç yoktur.",
        "properties": {
          "expires_at": {
            "description": "Kilidin kendiliğinden kalktığı an.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "failure_count": {
            "description": "Kilidi açan penceredeki başarısız deneme sayısı.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "id": {
            "description": "Önekli dış kimlik (`lck_…`); `user.unlocked` olayındaki `lockout_id` ile aynıdır.",
            "pattern": "^lck_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "locked_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "path": {
            "description": "Kilidin kapattığı kimlik doğrulama yolu; kullanıcının öbür yolları açık kalır.",
            "enum": [
              "password",
              "totp",
              "sms_2fa",
              "email_2fa",
              "otp",
              "recovery_code"
            ],
            "readOnly": true,
            "type": "string"
          },
          "user_id": {
            "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "user_id",
          "path",
          "locked_at",
          "expires_at",
          "failure_count"
        ],
        "type": "object"
      },
      "AttackProtectionLockoutList": {
        "additionalProperties": false,
        "description": "Açık kilitlerin imleçli listesi (eskiden yeniye); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/AttackProtectionLockout"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "AttackProtectionPatch": {
        "additionalProperties": false,
        "description": "`PATCH /v1/attack-protection` birleştirme yaması (RFC 7396): alt nesneler iç içe birleşir; `null` alanı ya da alt nesneyi siler ve varsayılana döndürür.",
        "properties": {
          "bot_protection": {
            "additionalProperties": false,
            "description": "Bot koruması.",
            "properties": {
              "mode": {
                "description": "Varsayılan `risk_based`.",
                "enum": [
                  "off",
                  "risk_based",
                  "always",
                  null
                ],
                "type": [
                  "string",
                  "null"
                ]
              },
              "provider": {
                "description": "Doğrulama sağlayıcısı (GA-1'de yalnız `altcha`).",
                "enum": [
                  "altcha",
                  null
                ],
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": [
              "object",
              "null"
            ]
          },
          "breached_password": {
            "additionalProperties": false,
            "description": "Sızmış parola denetimi.",
            "properties": {
              "notify_user": {
                "description": "Kullanıcıya bildirim gider (varsayılan true).",
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "on_login": {
                "description": "Girişte sızmış parola: `require_reset` (varsayılan) parola sıfırlamaya yönlendirir, `notify` yalnız bildirir.",
                "enum": [
                  "require_reset",
                  "notify",
                  null
                ],
                "type": [
                  "string",
                  "null"
                ]
              },
              "on_password_change": {
                "description": "Parola değişiminde sızmış parola reddedilir (taban).",
                "enum": [
                  "block",
                  null
                ],
                "type": [
                  "string",
                  "null"
                ]
              },
              "on_signup": {
                "description": "Kayıtta sızmış parola reddedilir (taban; başka değer `422 below_security_floor`).",
                "enum": [
                  "block",
                  null
                ],
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": [
              "object",
              "null"
            ]
          },
          "brute_force": {
            "additionalProperties": false,
            "description": "Kullanıcı başına kaba kuvvet koruması.",
            "properties": {
              "lock_minutes": {
                "description": "Kilit süresi, dakika (5–60, varsayılan 15). Taban: 5'in altı `422 below_security_floor`.",
                "maximum": 60,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "max_failures": {
                "description": "Kilitten önceki başarısız deneme sayısı (5–100, varsayılan 20). Taban: 100'ün üstü `422 below_security_floor`.",
                "minimum": 5,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "mode": {
                "description": "`enforce` hesabı kilitler, `log` yalnız kaydeder (varsayılan `enforce`).",
                "enum": [
                  "log",
                  "enforce",
                  null
                ],
                "type": [
                  "string",
                  "null"
                ]
              },
              "notify_user": {
                "description": "Kilitte kullanıcıya e-posta gider (varsayılan true).",
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "window_minutes": {
                "description": "Başarısız denemelerin sayıldığı pencere, dakika (varsayılan 15).",
                "maximum": 60,
                "minimum": 5,
                "type": [
                  "integer",
                  "null"
                ]
              }
            },
            "type": [
              "object",
              "null"
            ]
          },
          "credential_stuffing": {
            "additionalProperties": false,
            "description": "Kimlik bilgisi doldurma ve saldırı modu.",
            "properties": {
              "attack_mode_auto": {
                "description": "Saldırı modu otomatik açılır (varsayılan true).",
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "attack_mode_duration_minutes": {
                "description": "Saldırı modunun süresi, dakika (varsayılan 30).",
                "maximum": 240,
                "minimum": 15,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "mode": {
                "description": "Varsayılan `enforce`.",
                "enum": [
                  "log",
                  "enforce",
                  null
                ],
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": [
              "object",
              "null"
            ]
          },
          "risk_policy": {
            "additionalProperties": false,
            "description": "Risk politikası.",
            "properties": {
              "block_threshold": {
                "description": "Engelleyen risk puanı; `challenge_threshold`ten büyük olmalıdır. `null` ya da yokluk kapalı.",
                "maximum": 12,
                "minimum": 6,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "challenge_threshold": {
                "description": "Ek doğrulama isteyen risk puanı (varsayılan 4).",
                "maximum": 8,
                "minimum": 3,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "mode": {
                "description": "Varsayılan `log`. `enforce` Startup ve üstü planlarda (`403 plan_feature_unavailable`, `feature: risk_policy_enforce`); plan düşerse etkin değer `log` okunur.",
                "enum": [
                  "log",
                  "enforce",
                  null
                ],
                "type": [
                  "string",
                  "null"
                ]
              },
              "notify_user_on_new_device": {
                "description": "Yeni cihazda kullanıcıya bildirim (varsayılan true).",
                "type": [
                  "boolean",
                  "null"
                ]
              }
            },
            "type": [
              "object",
              "null"
            ]
          },
          "signup_protection": {
            "additionalProperties": false,
            "description": "Kayıt koruması.",
            "properties": {
              "block_disposable_email": {
                "description": "Tek kullanımlık e-posta alan adları reddedilir (varsayılan true).",
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "block_email_subaddress": {
                "description": "`+` alt adresli e-postalar reddedilir (varsayılan false).",
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "max_signups_per_device_30d": {
                "description": "Cihaz başına 30 günlük kayıt sınırı (varsayılan 3).",
                "maximum": 50,
                "minimum": 1,
                "type": [
                  "integer",
                  "null"
                ]
              }
            },
            "type": [
              "object",
              "null"
            ]
          },
          "sms_protection": {
            "additionalProperties": false,
            "description": "SMS dolandırıcılığı koruması.",
            "properties": {
              "allowed_countries": {
                "description": "SMS gönderilebilecek ülkeler (ISO 3166-1 alpha-2, en çok 250; boş = plan varsayılanı).",
                "items": {
                  "type": "string"
                },
                "maxItems": 250,
                "type": [
                  "array",
                  "null"
                ],
                "uniqueItems": true
              },
              "conversion_breaker": {
                "description": "Dönüşüm oranı düşünce gönderim durur (taban; false `422 below_security_floor`).",
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "daily_cap": {
                "description": "Günlük SMS tavanı; `null` ya da yokluk plan değeri.",
                "maximum": 1000000,
                "minimum": 1,
                "type": [
                  "integer",
                  "null"
                ]
              }
            },
            "type": [
              "object",
              "null"
            ]
          },
          "suspicious_ip_throttling": {
            "additionalProperties": false,
            "description": "IP başına kısma.",
            "properties": {
              "allowlist": {
                "description": "Kısmadan muaf CIDR önekleri (en çok 100; konak bitleri sıfırlanır). IPv4 /8'den, IPv6 /32'den geniş önek `422 allowlist_range_too_broad`.",
                "items": {
                  "type": "string"
                },
                "maxItems": 100,
                "type": [
                  "array",
                  "null"
                ],
                "uniqueItems": true
              },
              "login_failures_per_ip_per_day": {
                "description": "IP başına günlük başarısız giriş sınırı (varsayılan 100).",
                "maximum": 10000,
                "minimum": 10,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "mode": {
                "description": "Varsayılan `enforce`.",
                "enum": [
                  "log",
                  "enforce",
                  null
                ],
                "type": [
                  "string",
                  "null"
                ]
              },
              "signups_per_ip_per_hour": {
                "description": "IP başına saatlik kayıt sınırı (1–20, varsayılan 20). Taban: 20'nin üstü `422 below_security_floor`.",
                "minimum": 1,
                "type": [
                  "integer",
                  "null"
                ]
              }
            },
            "type": [
              "object",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "AttackProtectionRiskPolicyConfig": {
        "additionalProperties": false,
        "description": "Risk politikası. Müşterinin yazdığı alanlar; yazılmayan alan varsayılanını alır.",
        "properties": {
          "block_threshold": {
            "description": "Engelleyen risk puanı; `challenge_threshold`ten büyük olmalıdır. `null` ya da yokluk kapalı.",
            "maximum": 12,
            "minimum": 6,
            "type": [
              "integer",
              "null"
            ]
          },
          "challenge_threshold": {
            "description": "Ek doğrulama isteyen risk puanı (varsayılan 4).",
            "maximum": 8,
            "minimum": 3,
            "type": "integer"
          },
          "mode": {
            "description": "Varsayılan `log`. `enforce` Startup ve üstü planlarda (`403 plan_feature_unavailable`, `feature: risk_policy_enforce`); plan düşerse etkin değer `log` okunur.",
            "enum": [
              "log",
              "enforce"
            ],
            "type": "string"
          },
          "notify_user_on_new_device": {
            "description": "Yeni cihazda kullanıcıya bildirim (varsayılan true).",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "AttackProtectionRiskPolicyEffective": {
        "description": "Risk politikası. Etkin değer: varsayılan, taban ve plan kapısı uygulanmış.",
        "properties": {
          "block_threshold": {
            "description": "Engelleyen risk puanı; `challenge_threshold`ten büyük olmalıdır. `null` ya da yokluk kapalı.",
            "maximum": 12,
            "minimum": 6,
            "type": [
              "integer",
              "null"
            ]
          },
          "challenge_threshold": {
            "description": "Ek doğrulama isteyen risk puanı (varsayılan 4).",
            "maximum": 8,
            "minimum": 3,
            "type": "integer"
          },
          "mode": {
            "description": "Varsayılan `log`. `enforce` Startup ve üstü planlarda (`403 plan_feature_unavailable`, `feature: risk_policy_enforce`); plan düşerse etkin değer `log` okunur.",
            "enum": [
              "log",
              "enforce"
            ],
            "type": "string"
          },
          "notify_user_on_new_device": {
            "description": "Yeni cihazda kullanıcıya bildirim (varsayılan true).",
            "type": "boolean"
          }
        },
        "required": [
          "mode",
          "challenge_threshold",
          "block_threshold",
          "notify_user_on_new_device"
        ],
        "type": "object"
      },
      "AttackProtectionSignupProtectionConfig": {
        "additionalProperties": false,
        "description": "Kayıt koruması. Müşterinin yazdığı alanlar; yazılmayan alan varsayılanını alır.",
        "properties": {
          "block_disposable_email": {
            "description": "Tek kullanımlık e-posta alan adları reddedilir (varsayılan true).",
            "type": "boolean"
          },
          "block_email_subaddress": {
            "description": "`+` alt adresli e-postalar reddedilir (varsayılan false).",
            "type": "boolean"
          },
          "max_signups_per_device_30d": {
            "description": "Cihaz başına 30 günlük kayıt sınırı (varsayılan 3).",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "AttackProtectionSignupProtectionEffective": {
        "description": "Kayıt koruması. Etkin değer: varsayılan, taban ve plan kapısı uygulanmış.",
        "properties": {
          "block_disposable_email": {
            "description": "Tek kullanımlık e-posta alan adları reddedilir (varsayılan true).",
            "type": "boolean"
          },
          "block_email_subaddress": {
            "description": "`+` alt adresli e-postalar reddedilir (varsayılan false).",
            "type": "boolean"
          },
          "max_signups_per_device_30d": {
            "description": "Cihaz başına 30 günlük kayıt sınırı (varsayılan 3).",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "block_disposable_email",
          "block_email_subaddress",
          "max_signups_per_device_30d"
        ],
        "type": "object"
      },
      "AttackProtectionSmsProtectionConfig": {
        "additionalProperties": false,
        "description": "SMS dolandırıcılığı koruması. Müşterinin yazdığı alanlar; yazılmayan alan varsayılanını alır.",
        "properties": {
          "allowed_countries": {
            "description": "SMS gönderilebilecek ülkeler (ISO 3166-1 alpha-2, en çok 250; boş = plan varsayılanı).",
            "items": {
              "type": "string"
            },
            "maxItems": 250,
            "type": "array",
            "uniqueItems": true
          },
          "conversion_breaker": {
            "description": "Dönüşüm oranı düşünce gönderim durur (taban; false `422 below_security_floor`).",
            "type": "boolean"
          },
          "daily_cap": {
            "description": "Günlük SMS tavanı; `null` ya da yokluk plan değeri.",
            "maximum": 1000000,
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "AttackProtectionSmsProtectionEffective": {
        "description": "SMS dolandırıcılığı koruması. Etkin değer: varsayılan, taban ve plan kapısı uygulanmış.",
        "properties": {
          "allowed_countries": {
            "description": "SMS gönderilebilecek ülkeler (ISO 3166-1 alpha-2, en çok 250; boş = plan varsayılanı).",
            "items": {
              "type": "string"
            },
            "maxItems": 250,
            "type": "array",
            "uniqueItems": true
          },
          "conversion_breaker": {
            "description": "Dönüşüm oranı düşünce gönderim durur (taban; false `422 below_security_floor`).",
            "type": "boolean"
          },
          "daily_cap": {
            "description": "Günlük SMS tavanı; `null` ya da yokluk plan değeri.",
            "maximum": 1000000,
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "allowed_countries",
          "daily_cap",
          "conversion_breaker"
        ],
        "type": "object"
      },
      "AttackProtectionSuspiciousIpThrottlingConfig": {
        "additionalProperties": false,
        "description": "IP başına kısma. Müşterinin yazdığı alanlar; yazılmayan alan varsayılanını alır.",
        "properties": {
          "allowlist": {
            "description": "Kısmadan muaf CIDR önekleri (en çok 100; konak bitleri sıfırlanır). IPv4 /8'den, IPv6 /32'den geniş önek `422 allowlist_range_too_broad`.",
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "type": "array",
            "uniqueItems": true
          },
          "login_failures_per_ip_per_day": {
            "description": "IP başına günlük başarısız giriş sınırı (varsayılan 100).",
            "maximum": 10000,
            "minimum": 10,
            "type": "integer"
          },
          "mode": {
            "description": "Varsayılan `enforce`.",
            "enum": [
              "log",
              "enforce"
            ],
            "type": "string"
          },
          "signups_per_ip_per_hour": {
            "description": "IP başına saatlik kayıt sınırı (1–20, varsayılan 20). Taban: 20'nin üstü `422 below_security_floor`.",
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "AttackProtectionSuspiciousIpThrottlingEffective": {
        "description": "IP başına kısma. Etkin değer: varsayılan, taban ve plan kapısı uygulanmış.",
        "properties": {
          "allowlist": {
            "description": "Kısmadan muaf CIDR önekleri (en çok 100; konak bitleri sıfırlanır). IPv4 /8'den, IPv6 /32'den geniş önek `422 allowlist_range_too_broad`.",
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "type": "array",
            "uniqueItems": true
          },
          "login_failures_per_ip_per_day": {
            "description": "IP başına günlük başarısız giriş sınırı (varsayılan 100).",
            "maximum": 10000,
            "minimum": 10,
            "type": "integer"
          },
          "mode": {
            "description": "Varsayılan `enforce`.",
            "enum": [
              "log",
              "enforce"
            ],
            "type": "string"
          },
          "signups_per_ip_per_hour": {
            "description": "IP başına saatlik kayıt sınırı (1–20, varsayılan 20). Taban: 20'nin üstü `422 below_security_floor`.",
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "mode",
          "login_failures_per_ip_per_day",
          "signups_per_ip_per_hour",
          "allowlist"
        ],
        "type": "object"
      },
      "AuditActLink": {
        "additionalProperties": false,
        "description": "Vekâlet zincirinin bir halkası.",
        "properties": {
          "actor_type": {
            "type": "string"
          },
          "client_id": {
            "type": "string"
          },
          "sub": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "AuditEvent": {
        "additionalProperties": false,
        "description": "Yönetim audit'i kaydı. Boş değerler `null` döner. Özetler (`prev_hash`, `org_prev_hash`, `record_hash`) dolgusuz base64url SHA-256'dır; zincirin bağımsız doğrulaması dışa aktarma paketiyle yapılır. `ip` ve `user_agent` yalnız `audit-events:read_ip` izniyle bulunur; izin yoksa alan yazılmaz.",
        "properties": {
          "act_chain": {
            "description": "Vekâlet ya da ajan zinciri (RFC 8693 `act`), en dıştan içe.",
            "items": {
              "$ref": "#/components/schemas/AuditActLink"
            },
            "maxItems": 5,
            "type": [
              "array",
              "null"
            ]
          },
          "action": {
            "description": "Ne yapıldı (`<kaynak>.<geçmiş_zaman>`, ör. `user.blocked`).",
            "type": "string"
          },
          "actor_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "actor_type": {
            "type": "string"
          },
          "application_id": {
            "description": "İşlemi başlatan OAuth istemcisi.",
            "type": [
              "string",
              "null"
            ]
          },
          "auth_context": {
            "description": "Kimlik doğrulama bağlamı (`acr`, `amr`, `auth_time`).",
            "type": [
              "object",
              "null"
            ]
          },
          "category": {
            "type": "string"
          },
          "changes": {
            "description": "Değişen alanlar: PII olmayan alanlarda `{alan: {old, new}}`, PII alanlarında `{alan: \"changed\"}`.",
            "type": [
              "object",
              "null"
            ]
          },
          "clock_anomaly": {
            "description": "`occurred_at` alım zamanından 5 sn'den fazla ileride ya da 5 dk'dan fazla geride.",
            "type": "boolean"
          },
          "correlation_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "elevation_ref": {
            "description": "Personel aktörde JIT yükseltme kaydı.",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "Önekli dış kimlik (kaydın `event_id`'si, UUIDv7).",
            "pattern": "^evt_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "ip": {
            "description": "İstemcinin tam IP adresi. Yalnız `audit-events:read_ip` izniyle bulunur; 13 aydan eski kayıtta `null`.",
            "type": [
              "string",
              "null"
            ]
          },
          "ip_asn": {
            "format": "int64",
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "ip_country": {
            "pattern": "^[A-Z]{2}$",
            "type": [
              "string",
              "null"
            ]
          },
          "ip_prefix": {
            "description": "IP öneki (IPv4 /24, IPv6 /48).",
            "type": [
              "string",
              "null"
            ]
          },
          "metadata": {
            "description": "Ek bağlam; `application` akışında müşterinin serbest alanı.",
            "type": [
              "object",
              "null"
            ]
          },
          "occurred_at": {
            "format": "date-time",
            "type": "string"
          },
          "org_id": {
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "org_prev_hash": {
            "description": "Aynı org'un aynı akıştaki önceki kaydının özeti; yalnız `org_id` dolu kayıtta.",
            "pattern": "^[A-Za-z0-9_-]{43}$",
            "type": [
              "string",
              "null"
            ]
          },
          "outcome": {
            "enum": [
              "success",
              "failure",
              "denied",
              "error"
            ],
            "type": "string"
          },
          "policy_ref": {
            "description": "Kararı veren izin ya da politika (ör. `perm:users:write`).",
            "type": [
              "string",
              "null"
            ]
          },
          "prev_hash": {
            "pattern": "^[A-Za-z0-9_-]{43}$",
            "type": "string"
          },
          "producer_service": {
            "type": [
              "string",
              "null"
            ]
          },
          "reason_code": {
            "description": "Başarısızlık ya da ret gerekçesi (sabit kod).",
            "type": [
              "string",
              "null"
            ]
          },
          "received_at": {
            "format": "date-time",
            "type": "string"
          },
          "record_hash": {
            "pattern": "^[A-Za-z0-9_-]{43}$",
            "type": "string"
          },
          "recorded_at": {
            "format": "date-time",
            "type": "string"
          },
          "request_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "schema_version": {
            "format": "int32",
            "type": "integer"
          },
          "seq": {
            "description": "Ortam × akış zincirindeki boşluksuz sıra.",
            "format": "int64",
            "minimum": 1,
            "type": "integer"
          },
          "session_id": {
            "pattern": "^ses_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "stream": {
            "enum": [
              "admin",
              "application"
            ],
            "type": "string"
          },
          "targets": {
            "items": {
              "$ref": "#/components/schemas/AuditTarget"
            },
            "maxItems": 10,
            "type": "array"
          },
          "trace_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "user_agent": {
            "description": "Tam User-Agent. Yalnız `audit-events:read_ip` izniyle bulunur; 13 aydan eski kayıtta `null`.",
            "type": [
              "string",
              "null"
            ]
          },
          "user_agent_family": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "stream",
          "seq",
          "schema_version",
          "action",
          "category",
          "outcome",
          "reason_code",
          "occurred_at",
          "received_at",
          "recorded_at",
          "clock_anomaly",
          "actor_type",
          "actor_id",
          "act_chain",
          "session_id",
          "auth_context",
          "elevation_ref",
          "org_id",
          "targets",
          "application_id",
          "ip_prefix",
          "ip_country",
          "ip_asn",
          "user_agent_family",
          "request_id",
          "correlation_id",
          "trace_id",
          "producer_service",
          "policy_ref",
          "changes",
          "metadata",
          "prev_hash",
          "org_prev_hash",
          "record_hash"
        ],
        "type": "object"
      },
      "AuditEventList": {
        "additionalProperties": false,
        "description": "İmleçli yönetim audit'i listesi; yeniden eskiye sıralı, toplam sayı döndürülmez. `list_metadata.after` daha eski, `list_metadata.before` daha yeni kayıtların imlecidir.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/AuditEvent"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "AuditExport": {
        "additionalProperties": false,
        "description": "Yönetim audit'i dışa aktarma işi. Boş değerler `null` döner.",
        "properties": {
          "completed_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "expires_at": {
            "description": "Dosyanın silineceği an (`completed_at` + 7 gün).",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "failure_reason": {
            "description": "Yalnız `failed`.",
            "enum": [
              "too_many_records",
              "checkpoint_unavailable",
              "integrity_error",
              "attempts_exhausted",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "file": {
            "additionalProperties": false,
            "description": "`records.ndjson.gz` dosyası; yalnız `completed` ve `expired`.",
            "properties": {
              "name": {
                "const": "records.ndjson.gz",
                "type": "string"
              },
              "sha256": {
                "pattern": "^[0-9a-f]{64}$",
                "type": "string"
              },
              "size": {
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              }
            },
            "required": [
              "name",
              "sha256",
              "size"
            ],
            "type": [
              "object",
              "null"
            ]
          },
          "filter": {
            "$ref": "#/components/schemas/AuditExportFilter"
          },
          "id": {
            "pattern": "^aex_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "include_ip": {
            "type": "boolean"
          },
          "manifest_sha256": {
            "description": "`manifest.json` dosyasının SHA-256'sı (onaltılık).",
            "pattern": "^[0-9a-f]{64}$",
            "type": [
              "string",
              "null"
            ]
          },
          "record_count": {
            "description": "Süzgece uyan (tam satırla yazılan) kayıt sayısı; yalnız `completed` ve `expired`.",
            "format": "int64",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "recorded_before": {
            "description": "Anlık görüntü sınırı: yalnız bu andan önce kaydedilmiş kayıtlar pakete girer.",
            "format": "date-time",
            "type": "string"
          },
          "requested_by": {
            "additionalProperties": false,
            "description": "İşi isteyen kimlik bilgisi.",
            "properties": {
              "id": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "id"
            ],
            "type": [
              "object",
              "null"
            ]
          },
          "started_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "enum": [
              "queued",
              "running",
              "completed",
              "failed",
              "expired"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "status",
          "filter",
          "include_ip",
          "record_count",
          "file",
          "manifest_sha256",
          "failure_reason",
          "created_at",
          "started_at",
          "completed_at",
          "expires_at",
          "recorded_before",
          "requested_by"
        ],
        "type": "object"
      },
      "AuditExportCreateRequest": {
        "additionalProperties": false,
        "description": "Dışa aktarma işi isteği. Süzgeçler `GET /v1/audit-events` ile aynıdır; boş alan süzmez.",
        "properties": {
          "action": {
            "maxLength": 256,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9_.]*$",
            "type": "string"
          },
          "actor_id": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "actor_type": {
            "pattern": "^[a-z][a-z0-9_]{0,63}$",
            "type": "string"
          },
          "agent_only": {
            "default": false,
            "type": "boolean"
          },
          "category": {
            "type": "string"
          },
          "correlation_id": {
            "format": "uuid",
            "type": "string"
          },
          "from": {
            "description": "Dahil alt sınır; yoksa saklama penceresinin başı.",
            "format": "date-time",
            "type": "string"
          },
          "include_ip": {
            "default": false,
            "description": "Tam IP ve user-agent satırlara eklenir (yalnız 13 aydan yeni kayıtlarda); `audit-events:read_ip` izni ister.",
            "type": "boolean"
          },
          "org_id": {
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "outcome": {
            "enum": [
              "success",
              "failure",
              "denied",
              "error"
            ],
            "type": "string"
          },
          "request_id": {
            "format": "uuid",
            "type": "string"
          },
          "stream": {
            "default": "admin",
            "enum": [
              "admin",
              "application"
            ],
            "type": "string"
          },
          "target_id": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "target_type": {
            "pattern": "^[a-z][a-z0-9_]{0,63}$",
            "type": "string"
          },
          "to": {
            "description": "Hariç üst sınır; yoksa şimdi. Gelecekte olamaz.",
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "AuditExportDownloadLink": {
        "additionalProperties": false,
        "description": "`downloadAuditExport` bağlantı gövdesi. Kimlik bilgisi istemeyen, 15 dakika geçerli, tek kullanımlık `api` indirme adresi; hedef `200` ile `application/x-tar` ve `Content-Disposition: attachment` döner.",
        "properties": {
          "expires_at": {
            "description": "Belirtecin son geçerlilik anı (verilişten 15 dakika sonra).",
            "format": "date-time",
            "type": "string"
          },
          "url": {
            "description": "İsteğin kökenine göreli indirme yolu (302 `Location`'ıyla aynı). Yoldaki son öğe tek kimlik bilgisi olan belirteçtir; loglanmamalı, paylaşılmamalıdır.",
            "format": "uri-reference",
            "pattern": "^/downloads/audit-exports/env_[0-7][0-9a-hjkmnp-tv-z]{25}/aex_[0-7][0-9a-hjkmnp-tv-z]{25}/[A-Za-z0-9_-]{43}$",
            "type": "string"
          }
        },
        "required": [
          "url",
          "expires_at"
        ],
        "type": "object"
      },
      "AuditExportFilter": {
        "additionalProperties": false,
        "description": "İşin uygulanan süzgeci; `from` ve `to` varsayılanları doldurulmuştur.",
        "properties": {
          "action": {
            "type": [
              "string",
              "null"
            ]
          },
          "actor_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "actor_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "agent_only": {
            "type": "boolean"
          },
          "category": {
            "type": [
              "string",
              "null"
            ]
          },
          "correlation_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "from": {
            "format": "date-time",
            "type": "string"
          },
          "org_id": {
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "outcome": {
            "enum": [
              "success",
              "failure",
              "denied",
              "error",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "request_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "stream": {
            "enum": [
              "admin",
              "application"
            ],
            "type": "string"
          },
          "target_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "target_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "stream",
          "from",
          "to",
          "action",
          "category",
          "actor_type",
          "actor_id",
          "target_type",
          "target_id",
          "org_id",
          "outcome",
          "request_id",
          "correlation_id",
          "agent_only"
        ],
        "type": "object"
      },
      "AuditTarget": {
        "additionalProperties": false,
        "description": "Kaydın hedef öğesi.",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "description": "Yalnız `application` akışında, müşterinin yazdığı görünen ad.",
            "type": [
              "string",
              "null"
            ]
          },
          "org_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "BrandingAsset": {
        "additionalProperties": false,
        "properties": {
          "byte_size": {
            "description": "Kaydın bütün PNG'lerinin (favicon'da türevler dahil) toplam baytı; kotaya sayılır.",
            "minimum": 1,
            "type": "integer"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "favicon_180_url": {
            "description": "Yalnız favicon: 180 px türevin adresi.",
            "format": "uri",
            "type": "string"
          },
          "favicon_32_url": {
            "description": "Yalnız favicon: 32 px türevin adresi.",
            "format": "uri",
            "type": "string"
          },
          "height": {
            "maximum": 1024,
            "minimum": 1,
            "type": "integer"
          },
          "id": {
            "description": "İşlenmiş PNG'nin SHA-256'sı; tema alanına yazılan kimlik.",
            "pattern": "^[0-9a-f]{64}$",
            "type": "string"
          },
          "kind": {
            "enum": [
              "logo",
              "favicon",
              "background_image"
            ],
            "type": "string"
          },
          "source_format": {
            "description": "Yüklenen dosyanın biçimi.",
            "enum": [
              "png",
              "jpeg",
              "webp",
              "ico"
            ],
            "type": "string"
          },
          "url": {
            "description": "Ortamın giriş host'unda `https://<host>/assets/<id>.png`.",
            "format": "uri",
            "type": "string"
          },
          "width": {
            "maximum": 1024,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "kind",
          "url",
          "width",
          "height",
          "byte_size",
          "source_format",
          "created_at"
        ],
        "type": "object"
      },
      "BrandingAssetId": {
        "description": "Markalama varlığının kimliği: `POST /v1/branding/assets` yanıtındaki `id` (işlenmiş PNG'nin SHA-256'sı, 64 küçük harf hex). Tema alanı ortamda aynı türde (`logo`, `favicon`, `background_image`) yüklenmiş bir varlığı adlandırmalıdır; yoksa 422 `validation_failed`, alanın `asset_not_found` hatası.",
        "pattern": "^[0-9a-f]{64}$",
        "type": "string"
      },
      "BrandingAssetUpload": {
        "additionalProperties": false,
        "properties": {
          "file": {
            "description": "PNG, JPEG, WebP ya da (yalnız favicon) ICO; en çok 1 MiB, en çok 8192 px kenar.",
            "format": "binary",
            "type": "string"
          },
          "kind": {
            "description": "Varlığın kullanılacağı tema alanı. ICO yalnız `favicon` için kabul edilir.",
            "enum": [
              "logo",
              "favicon",
              "background_image"
            ],
            "type": "string"
          }
        },
        "required": [
          "kind",
          "file"
        ],
        "type": "object"
      },
      "BrandingColor": {
        "description": "sRGB hex renk.",
        "pattern": "^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
        "type": "string"
      },
      "BrandingColors": {
        "additionalProperties": false,
        "description": "Bir varyantın renk jetonları (sRGB hex `#rgb` ya da `#rrggbb`). Ayarsız jeton yanıtta yoktur ve üst düzeyden miras alır.",
        "properties": {
          "background": {
            "$ref": "#/components/schemas/BrandingColor"
          },
          "border": {
            "$ref": "#/components/schemas/BrandingColor"
          },
          "error": {
            "$ref": "#/components/schemas/BrandingColor"
          },
          "focus_ring": {
            "$ref": "#/components/schemas/BrandingColor"
          },
          "link": {
            "$ref": "#/components/schemas/BrandingColor"
          },
          "primary": {
            "$ref": "#/components/schemas/BrandingColor"
          },
          "primary_contrast": {
            "$ref": "#/components/schemas/BrandingColor"
          },
          "success": {
            "$ref": "#/components/schemas/BrandingColor"
          },
          "surface": {
            "$ref": "#/components/schemas/BrandingColor"
          },
          "text": {
            "$ref": "#/components/schemas/BrandingColor"
          },
          "text_muted": {
            "$ref": "#/components/schemas/BrandingColor"
          }
        },
        "type": "object"
      },
      "BrandingCssInput": {
        "additionalProperties": false,
        "properties": {
          "css": {
            "description": "Özel CSS; boş dize temizler.",
            "maxLength": 51200,
            "type": "string"
          }
        },
        "required": [
          "css"
        ],
        "type": "object"
      },
      "BrandingCssViolation": {
        "additionalProperties": false,
        "description": "Özel CSS'teki tek ihlal. CSS değeri ya da başka müşteri metni taşımaz.",
        "properties": {
          "column": {
            "description": "1 tabanlı sütun.",
            "minimum": 1,
            "type": "integer"
          },
          "line": {
            "description": "1 tabanlı satır.",
            "minimum": 1,
            "type": "integer"
          },
          "name": {
            "description": "Sorunlu yapının adı (özellik, sınıf, sözde sınıf, fonksiyon, at-kuralı ya da öznitelik; yazdırılabilir ASCII, 64 karakterden uzunsa kesilip `...` eklenir); yoksa alan yok.",
            "maxLength": 67,
            "type": "string"
          },
          "rule": {
            "description": "Arındırıcının kural kodu (ör. `class_not_in_catalog`, `protected_property`, `property_not_allowed`, `syntax_error`).",
            "type": "string"
          }
        },
        "required": [
          "line",
          "column",
          "rule"
        ],
        "type": "object"
      },
      "BrandingEnvironment": {
        "additionalProperties": false,
        "description": "Ortamın markalama taslağı. Sürüm gövdede değil `ETag` başlığındadır.",
        "properties": {
          "css": {
            "description": "Özel CSS (Startup); yoksa null.",
            "type": [
              "string",
              "null"
            ]
          },
          "page_template": {
            "description": "Liquid sayfa şablonu (Startup); yoksa null.",
            "type": [
              "string",
              "null"
            ]
          },
          "theme": {
            "$ref": "#/components/schemas/BrandingTheme"
          },
          "updated_at": {
            "description": "Taslağın son yazılma zamanı; taslak yoksa null.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "theme",
          "css",
          "page_template",
          "updated_at"
        ],
        "type": "object"
      },
      "BrandingPageTemplateInput": {
        "additionalProperties": false,
        "properties": {
          "page_template": {
            "description": "Liquid sayfa şablonu; `{{ idp.widget }}` yuvası tam bir kez; boş dize temizler.",
            "maxLength": 102400,
            "type": "string"
          }
        },
        "required": [
          "page_template"
        ],
        "type": "object"
      },
      "BrandingPatch": {
        "additionalProperties": false,
        "description": "`PATCH /v1/branding` birleştirme yaması (RFC 7396). Jetona ya da gruba `null` temizler.",
        "properties": {
          "theme": {
            "additionalProperties": true,
            "description": "BrandingTheme biçiminde kısmi tema; her alan ve grup `null` olabilir.",
            "type": [
              "object",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "BrandingPreviewLink": {
        "additionalProperties": false,
        "description": "Oluşturulan önizleme bağlantısı. `url` yalnız ilk yanıtta döner; tekrar oynatılan yanıtta `url` yoktur ve `secret_redacted: true` döner.",
        "properties": {
          "expires_at": {
            "format": "date-time",
            "type": "string"
          },
          "secret_redacted": {
            "description": "Tekrar oynatılan yanıtta `true`; `url` yoktur.",
            "type": "boolean"
          },
          "url": {
            "description": "Tek seferlik gösterilen önizleme adresi (token'ı taşır).",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "expires_at"
        ],
        "type": "object"
      },
      "BrandingPreviewLinkInput": {
        "additionalProperties": false,
        "description": "Önizleme bağlantısının kapsamı. Boş gövde yalnız ortam taslağını çizer.",
        "properties": {
          "application_id": {
            "description": "Taslağı kalıtıma katılacak uygulama.",
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "org_id": {
            "description": "Taslağı kalıtıma katılacak organizasyon (yalnız logo ve birincil renk).",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          }
        },
        "type": "object"
      },
      "BrandingPublishIssue": {
        "additionalProperties": false,
        "description": "Yayını reddeden tek sorun. Müşteri değeri (metin, CSS) taşımaz.",
        "properties": {
          "code": {
            "description": "`missing`, `invalid_value`, `out_of_range`, `brand_contrast_insufficient`, `background_image_requires_split_layout`.",
            "type": "string"
          },
          "field": {
            "description": "Jeton adı (ör. `light.color.primary`).",
            "type": "string"
          },
          "pair": {
            "description": "Kontrast çifti adı.",
            "type": "string"
          },
          "ratio": {
            "type": "number"
          },
          "scope_id": {
            "description": "Uygulama (`app_…`) ya da organizasyon (`org_…`) dış kimliği; ortam kapsamında yok.",
            "type": "string"
          },
          "scope_type": {
            "enum": [
              "environment",
              "application",
              "organization"
            ],
            "type": "string"
          },
          "suggestion": {
            "description": "Eşiği sağlayan en yakın ton (`#rrggbb`).",
            "type": "string"
          },
          "threshold": {
            "type": "number"
          },
          "variant": {
            "enum": [
              "light",
              "dark"
            ],
            "type": "string"
          }
        },
        "required": [
          "scope_type",
          "code",
          "field"
        ],
        "type": "object"
      },
      "BrandingRenderViolation": {
        "additionalProperties": false,
        "description": "Yayın anındaki çizim denetiminin tek bulgusu: taslağın özel CSS'i korumalı bir öğeyi bozuyor ya da CSS'siz sayfada olmayan bir erişilebilirlik ihlali getiriyor. CSS değeri ya da başka müşteri metni taşımaz.",
        "properties": {
          "locale": {
            "description": "Çizimin dili (`en`, `ar` ya da `ja`).",
            "type": "string"
          },
          "rule": {
            "description": "`protected_no_area`, `protected_not_visible`, `protected_transparent`, `protected_covered`, `protected_contrast` ya da axe-core kural kimliği (ör. `color-contrast`).",
            "type": "string"
          },
          "screen": {
            "description": "Çizilen barındırılan ekran (ör. `identifier`, `identifier_error`, `password`, `otp`, `code`, `enroll`, `sso`, `recovery`, `organization`); liste genişleyebilir.",
            "type": "string"
          },
          "target": {
            "description": "Korumalı öğenin adı ya da axe-core CSS seçicisi.",
            "type": "string"
          },
          "width": {
            "description": "Görünüm genişliği, CSS pikseli (320 ya da 1280).",
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "screen",
          "locale",
          "width",
          "rule",
          "target"
        ],
        "type": "object"
      },
      "BrandingRollbackInput": {
        "additionalProperties": false,
        "properties": {
          "version": {
            "description": "Yeniden yayımlanacak sürüm.",
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "version"
        ],
        "type": "object"
      },
      "BrandingScopeTheme": {
        "additionalProperties": false,
        "description": "Uygulama ya da organizasyon tema taslağı. Sürüm `ETag` başlığındadır.",
        "properties": {
          "theme": {
            "$ref": "#/components/schemas/BrandingTheme"
          },
          "updated_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "theme",
          "updated_at"
        ],
        "type": "object"
      },
      "BrandingScopeThemeInput": {
        "additionalProperties": false,
        "properties": {
          "theme": {
            "$ref": "#/components/schemas/BrandingTheme"
          }
        },
        "required": [
          "theme"
        ],
        "type": "object"
      },
      "BrandingTexts": {
        "additionalProperties": false,
        "description": "Bir (kapsam, ekran, dil) altındaki metin geçersiz kılmaları.",
        "properties": {
          "locale": {
            "type": "string"
          },
          "screen": {
            "type": "string"
          },
          "texts": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Anahtar → değer.",
            "type": "object"
          }
        },
        "required": [
          "screen",
          "locale",
          "texts"
        ],
        "type": "object"
      },
      "BrandingTextsInput": {
        "additionalProperties": false,
        "properties": {
          "texts": {
            "additionalProperties": {
              "maxLength": 1000,
              "minLength": 1,
              "type": "string"
            },
            "description": "Anahtar → değer; 1–500 anahtar.",
            "maxProperties": 500,
            "minProperties": 1,
            "type": "object"
          }
        },
        "required": [
          "texts"
        ],
        "type": "object"
      },
      "BrandingTheme": {
        "additionalProperties": false,
        "description": "Tema jetonları. Yalnız ayarlı jetonlar yer alır; ayarsız jeton kalıtımla gelir (platform → ortam → uygulama → organizasyon). Değer aralıkları yazmada `422 validation_failed` ile denetlenir.",
        "properties": {
          "background_image": {
            "$ref": "#/components/schemas/BrandingAssetId"
          },
          "dark": {
            "$ref": "#/components/schemas/BrandingVariant"
          },
          "favicon": {
            "$ref": "#/components/schemas/BrandingAssetId"
          },
          "font": {
            "additionalProperties": false,
            "properties": {
              "body": {
                "description": "İzinli yazı tipi ailesi adı.",
                "minLength": 1,
                "type": "string"
              },
              "heading": {
                "minLength": 1,
                "type": "string"
              },
              "size_base": {
                "description": "Temel yazı boyutu, px.",
                "maximum": 18,
                "minimum": 14,
                "type": "integer"
              }
            },
            "type": "object"
          },
          "layout": {
            "enum": [
              "center",
              "split_left",
              "split_right"
            ],
            "type": "string"
          },
          "light": {
            "$ref": "#/components/schemas/BrandingVariant"
          },
          "logo": {
            "$ref": "#/components/schemas/BrandingAssetId"
          },
          "logo_height": {
            "maximum": 80,
            "minimum": 24,
            "type": "integer"
          },
          "mode": {
            "enum": [
              "light",
              "dark",
              "system"
            ],
            "type": "string"
          },
          "radius": {
            "additionalProperties": false,
            "properties": {
              "card": {
                "maximum": 24,
                "minimum": 0,
                "type": "integer"
              },
              "control": {
                "maximum": 16,
                "minimum": 0,
                "type": "integer"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "BrandingVariant": {
        "additionalProperties": false,
        "properties": {
          "color": {
            "$ref": "#/components/schemas/BrandingColors"
          }
        },
        "type": "object"
      },
      "BrandingVersion": {
        "additionalProperties": false,
        "description": "Bir yayının üst verisi (anlık görüntü içeriği taşımaz).",
        "properties": {
          "actor_id": {
            "description": "Yayını yapan kimlik bilgisinin kimliği.",
            "type": "string"
          },
          "actor_type": {
            "description": "Yayını yapan kimliğin türü (`api_key`, `management_client`, `dashboard_user`).",
            "type": "string"
          },
          "published_at": {
            "format": "date-time",
            "type": "string"
          },
          "rolled_back_from": {
            "description": "Yalnız geri almada; yeniden yayımlanan sürüm.",
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "snapshot_sha256": {
            "description": "Anlık görüntünün kanonik JSON'unun SHA-256 özeti.",
            "pattern": "^[0-9a-f]{64}$",
            "type": "string"
          },
          "source": {
            "enum": [
              "publish",
              "rollback"
            ],
            "type": "string"
          },
          "version": {
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "version",
          "snapshot_sha256",
          "source",
          "rolled_back_from",
          "actor_type",
          "actor_id",
          "published_at"
        ],
        "type": "object"
      },
      "BrandingVersionList": {
        "additionalProperties": false,
        "description": "Yayınların imleçli listesi (yeniden eskiye); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/BrandingVersion"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "ConfigDocument": {
        "additionalProperties": false,
        "description": "Yapılandırma belgesi. Ortama özgü kimlik, sürüm, zaman damgası ve gizli değer taşımaz; başvurular `key` iledir. Kaynaklar tür sırasıyla (`kinds` sırası), sonra `key` bayt sırasıyla dizilir.",
        "properties": {
          "apiVersion": {
            "const": "config.keenauth.com/v1",
            "description": "Belge şema sürümü.",
            "type": "string"
          },
          "kinds": {
            "description": "Belgenin kapsadığı türler (kanonik sırada). Belgede olmayan kaynak yalnız bu türlerde \"yok\" sayılır.",
            "items": {
              "enum": [
                "environment_settings",
                "identity_settings",
                "attack_protection",
                "branding",
                "connection",
                "api",
                "role",
                "application",
                "application_branding"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "resources": {
            "items": {
              "$ref": "#/components/schemas/ConfigResource"
            },
            "maxItems": 5000,
            "type": "array"
          },
          "warnings": {
            "description": "Dışa aktarılmayan kaynaklar (`resource_skipped`: organizasyona bağlı ya da dinamik kayıtlı uygulama), belgeden düşen başvurular (`reference_dropped`) ve aynı ortam değişkeni adına düşen yer tutucular (`secret_ref_name_shared`).",
            "items": {
              "$ref": "#/components/schemas/ConfigWarning"
            },
            "type": "array"
          }
        },
        "required": [
          "apiVersion",
          "kinds",
          "resources",
          "warnings"
        ],
        "type": "object"
      },
      "ConfigDocumentInput": {
        "additionalProperties": false,
        "description": "Plan için verilen yapılandırma belgesi; ayrıntılı alan şeması `https://docs.keenauth.com/config/schema/v1.json`'dur. `kinds` verilmezse kaynakların türleri kapsamdır; `warnings` yok sayılır.",
        "properties": {
          "apiVersion": {
            "const": "config.keenauth.com/v1",
            "type": "string"
          },
          "kinds": {
            "items": {
              "enum": [
                "environment_settings",
                "identity_settings",
                "attack_protection",
                "branding",
                "connection",
                "api",
                "role",
                "application",
                "application_branding"
              ],
              "type": "string"
            },
            "type": "array",
            "uniqueItems": true
          },
          "resources": {
            "items": {
              "$ref": "#/components/schemas/ConfigResource"
            },
            "maxItems": 5000,
            "type": "array"
          },
          "warnings": {
            "items": {
              "$ref": "#/components/schemas/ConfigWarning"
            },
            "type": "array"
          }
        },
        "required": [
          "apiVersion",
          "resources"
        ],
        "type": "object"
      },
      "ConfigFieldChange": {
        "additionalProperties": false,
        "properties": {
          "after": {
            "description": "İstenen değer (`remove`'da yok)."
          },
          "before": {
            "description": "Hedefteki değer (`add`'de yok)."
          },
          "op": {
            "description": "RFC 6902 işlem adı.",
            "enum": [
              "add",
              "remove",
              "replace"
            ],
            "type": "string"
          },
          "pointer": {
            "description": "Kaynak içindeki RFC 6901 işaretçisi, ör. `/spec/name`.",
            "type": "string"
          }
        },
        "required": [
          "pointer",
          "op"
        ],
        "type": "object"
      },
      "ConfigPlan": {
        "additionalProperties": false,
        "description": "Yapılandırma planı. Gizli değer taşımaz.",
        "properties": {
          "applied_at": {
            "description": "Yalnız uygulanmış planda: uygulamanın anı.",
            "format": "date-time",
            "type": "string"
          },
          "changes": {
            "description": "Kaynak başına eylem; tür sırası, sonra `key` bayt sırası.",
            "items": {
              "$ref": "#/components/schemas/ConfigPlanChange"
            },
            "type": "array"
          },
          "expires_at": {
            "description": "Planın son geçerlilik anı (oluşturma + 1 saat).",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "pattern": "^cfgp_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "kinds": {
            "description": "Planın kapsadığı türler (kanonik sırada).",
            "items": {
              "enum": [
                "environment_settings",
                "identity_settings",
                "attack_protection",
                "branding",
                "connection",
                "api",
                "role",
                "application",
                "application_branding"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "prune": {
            "type": "boolean"
          },
          "status": {
            "enum": [
              "planned",
              "applied",
              "expired",
              "conflicted"
            ],
            "type": "string"
          },
          "summary": {
            "$ref": "#/components/schemas/ConfigPlanSummary"
          },
          "warnings": {
            "items": {
              "$ref": "#/components/schemas/ConfigPlanWarning"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "status",
          "prune",
          "kinds",
          "expires_at",
          "summary",
          "changes",
          "warnings"
        ],
        "type": "object"
      },
      "ConfigPlanApplyRequest": {
        "additionalProperties": false,
        "description": "Plan uygulama isteği; gövde isteğe bağlıdır.",
        "properties": {
          "confirm_deletions": {
            "description": "Onay isteyen silmeler (`<kind>/<key>`, ör. `connection/google`).",
            "items": {
              "pattern": "^[a-z_]{1,32}/[a-z0-9_-]{1,64}$",
              "type": "string"
            },
            "maxItems": 5000,
            "type": "array"
          },
          "resolved_secrets": {
            "additionalProperties": {
              "maxLength": 8192,
              "minLength": 1,
              "type": "string",
              "writeOnly": true
            },
            "description": "Planın `requires_secret` değişikliklerinin `secret_ref` adı → değer. Değer hiçbir yanıtta yankılanmaz.",
            "propertyNames": {
              "pattern": "^KEENAUTH_[A-Z0-9_]{1,200}$"
            },
            "type": "object"
          },
          "sp_host": {
            "description": "Yeni kurumsal OIDC malzemesinin SP host'u (ortamın birincil host'u; callback `https://<sp_host>/sso/<conn_…>/callback` dondurulur). Yalnız bir değişiklik malzeme oluşturuyorsa gerekir ve yalnız o zaman verilir.",
            "maxLength": 253,
            "pattern": "^[a-z0-9]([a-z0-9.-]{0,251}[a-z0-9])?$",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ConfigPlanChange": {
        "additionalProperties": false,
        "properties": {
          "action": {
            "enum": [
              "create",
              "update",
              "delete",
              "no_op"
            ],
            "type": "string"
          },
          "fields": {
            "description": "Alan farkları (`update`; `no_op` ve `delete`'te boş, `create`'te boş — istenen spec `spec`'tedir).",
            "items": {
              "$ref": "#/components/schemas/ConfigFieldChange"
            },
            "type": "array"
          },
          "key": {
            "pattern": "^[a-z0-9_-]{1,64}$",
            "type": "string"
          },
          "kind": {
            "enum": [
              "environment_settings",
              "identity_settings",
              "attack_protection",
              "branding",
              "connection",
              "api",
              "role",
              "application",
              "application_branding"
            ],
            "type": "string"
          },
          "object_version": {
            "description": "Hedef kaynağın plan anındaki sürümü; `create`'te null. Uygulama bu sürümle bayat planı reddeder.",
            "type": [
              "integer",
              "null"
            ]
          },
          "requires_secret": {
            "description": "Bağlantı müşteri sırrı ister ve hedefte bu tür için saklanmış sır yoktur; uygulama değeri ister.",
            "type": "boolean"
          },
          "spec": {
            "additionalProperties": true,
            "description": "`create` ve `update`'te istenen spec (kanonik biçim); gizli alan yalnız yer tutucudur.",
            "type": "object"
          }
        },
        "required": [
          "kind",
          "key",
          "action",
          "object_version",
          "requires_secret",
          "fields"
        ],
        "type": "object"
      },
      "ConfigPlanRequest": {
        "additionalProperties": false,
        "description": "Plan isteği.",
        "properties": {
          "document": {
            "$ref": "#/components/schemas/ConfigDocumentInput"
          },
          "prune": {
            "default": false,
            "description": "true ise belgede olmayan kaynaklar (yalnız `kinds` kapsamındaki türlerde; tekil türler hariç) `delete` olur. Varsayılan false: belgede olmayan kaynak silinmez.",
            "type": "boolean"
          }
        },
        "required": [
          "document"
        ],
        "type": "object"
      },
      "ConfigPlanSummary": {
        "additionalProperties": false,
        "properties": {
          "create": {
            "minimum": 0,
            "type": "integer"
          },
          "delete": {
            "minimum": 0,
            "type": "integer"
          },
          "no_op": {
            "minimum": 0,
            "type": "integer"
          },
          "update": {
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "create",
          "update",
          "delete",
          "no_op"
        ],
        "type": "object"
      },
      "ConfigPlanWarning": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "description": "`secret_required`: uygulama sırrın değerini ister. `deletion_requires_confirmation`: silme kullanımda olabilecek bir kaynağı siler; uygulama isteği onu `confirm_deletions`'ta tekrar etmelidir.",
            "enum": [
              "secret_required",
              "deletion_requires_confirmation"
            ],
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "pointer": {
            "description": "Sırrın kaynak içindeki işaretçisi, ör. `/spec/client_secret` (`secret_required`).",
            "type": "string"
          }
        },
        "required": [
          "code",
          "kind",
          "key"
        ],
        "type": "object"
      },
      "ConfigResource": {
        "additionalProperties": false,
        "description": "Belgedeki tek yapılandırma kaynağı. `spec` türün yazılabilir alanlarıdır; tür başına alan listesi `https://docs.keenauth.com/config/schema/v1.json` JSON Schema'sındadır. Gizli değer içermez; gizli alan yalnız `{\"secret_ref\": {\"source\": \"env\", \"name\": ...}}` yer tutucusudur.",
        "properties": {
          "key": {
            "description": "Ortamlar arası kararlı anahtar; tekil türlerde (`environment_settings`, `identity_settings`, `attack_protection`, `branding`) `default`, `application_branding`'de uygulamanın `key`'i.",
            "pattern": "^[a-z0-9_-]{1,64}$",
            "type": "string"
          },
          "kind": {
            "enum": [
              "environment_settings",
              "identity_settings",
              "attack_protection",
              "branding",
              "connection",
              "api",
              "role",
              "application",
              "application_branding"
            ],
            "type": "string"
          },
          "spec": {
            "additionalProperties": true,
            "type": "object"
          }
        },
        "required": [
          "kind",
          "key",
          "spec"
        ],
        "type": "object"
      },
      "ConfigRevision": {
        "additionalProperties": false,
        "description": "Yapılandırma revizyonu: başarılı bir `:apply`'ın uygulama öncesi görüntüsünün başı. Spec ve sır değeri taşımaz.",
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "created_by": {
            "description": "Planı uygulayan kimlik bilgisi (`key_…`, `app_…`).",
            "type": "string"
          },
          "id": {
            "pattern": "^cfgr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "kinds": {
            "description": "Uygulanan planın kapsadığı türler (kanonik sırada).",
            "items": {
              "enum": [
                "environment_settings",
                "identity_settings",
                "attack_protection",
                "branding",
                "connection",
                "api",
                "role",
                "application",
                "application_branding"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "plan_id": {
            "description": "Revizyonu üreten plan; plan 7 gün sonra silinince null.",
            "pattern": "^cfgp_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "summary": {
            "$ref": "#/components/schemas/ConfigPlanSummary"
          }
        },
        "required": [
          "id",
          "plan_id",
          "created_by",
          "created_at",
          "kinds",
          "summary"
        ],
        "type": "object"
      },
      "ConfigRevisionList": {
        "description": "İmleçli revizyon listesi (varsayılan en yeni önce); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ConfigRevision"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "ConfigWarning": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "enum": [
              "resource_skipped",
              "reference_dropped",
              "secret_ref_name_shared"
            ],
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "pointer": {
            "description": "Düşen başvurunun ya da paylaşılan yer tutucunun kaynak içindeki JSON işaretçisi (RFC 6901), ör. `/spec/introspection_applications`, `/spec/client_secret`.",
            "type": "string"
          },
          "reason": {
            "enum": [
              "organization_owned",
              "dynamic_registration",
              "system_role"
            ],
            "type": "string"
          }
        },
        "required": [
          "code",
          "kind",
          "key"
        ],
        "type": "object"
      },
      "Connection": {
        "description": "Kimlik doğrulama bağlantısı. Sürüm gövdede değil `ETag` başlığındadır. `settings` sır içermez.",
        "properties": {
          "allow_external_domains": {
            "description": "E-posta alanı listede olmayan kullanıcıların da bu bağlantıyla girişine izin verir. Yalnız `type = enterprise` için `true` olabilir; varsayılan `false`.",
            "type": "boolean"
          },
          "allow_idp_initiated": {
            "description": "IdP-initiated (istenmemiş SAML yanıtı) girişine izin. Yalnız `type = enterprise`, `strategy = saml` bağlantıda değer taşır (varsayılan `false`), diğerlerinde null. Yalnız `PUT /v1/connections/{connection_id}/idp-initiated` yazar.",
            "readOnly": true,
            "type": [
              "boolean",
              "null"
            ]
          },
          "allowed_email_domains": {
            "description": "Ev alanı keşfinde bu bağlantıya yönlenen e-posta alan adları: IDNA A-label, küçük harf, en çok 100. Yalnız `type = enterprise` için dolu olabilir; org bağlantısında yalnız org'un doğrulanmış alanları ve etkin org bağlantısında en az bir alan (aksi `422 validation_failed`).",
            "items": {
              "maxLength": 253,
              "pattern": "^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)+$",
              "type": "string"
            },
            "maxItems": 100,
            "type": "array",
            "uniqueItems": true
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "default_role_ids": {
            "description": "Tam zamanında hesap açmada üyeliğe ortamın varsayılan rolüne ve grup eşlemesine ek olarak verilen ortam rolleri. Yalnız org'a ait `type = enterprise` bağlantıda dolu olabilir; her öğe bu ortamın ayrıcalıksız ortam rolü olmalıdır (başka ortamın rolü, org rolü, ayrıcalıklı rol, yinelenen öğe ya da 10'dan fazla öğe `422 validation_failed`). Liste değer listesidir: sonradan silinen ya da ayrıcalıklı yapılan rol tam zamanında hesap açmada atlanır. Her zaman dizidir; `type = enterprise` dışında boştur.",
            "items": {
              "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 10,
            "type": "array",
            "uniqueItems": true
          },
          "display_name": {
            "description": "Giriş ekranında gösterilen ad; yoksa null.",
            "maxLength": 128,
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "email_trust": {
            "description": "E-postaya güven: `true` ise bağlantının doğruladığı e-posta otomatik bağlama ve tam zamanında hesap açma için kullanılır. Yalnız `type = enterprise` için değer taşır, diğer türlerde null.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "id": {
            "description": "Önekli dış kimlik (`conn_…`).",
            "pattern": "^conn_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "idp_initiated_allowed_application_ids": {
            "description": "RelayState'in `client_id` ile bayt bayt eşleşerek seçebileceği uygulamalar (`app_…`, en çok 20). Her zaman dizidir; SAML kurumsal bağlantı dışında boştur.",
            "items": {
              "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 20,
            "readOnly": true,
            "type": "array",
            "uniqueItems": true
          },
          "idp_initiated_default_application_id": {
            "description": "RelayState boşken IdP-initiated girişin hedef uygulaması (`app_…`); yoksa null. Kayıttaki değerdir: uygulama sonradan silinirse ya da `initiate_login_uri`'si kaldırılırsa giriş reddedilir.",
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "jit_mode": {
            "description": "Tam zamanında hesap açma kipi: `create` yeni kullanıcıyı ilk girişte açar, `create_and_update` ayrıca profili IdP'den günceller, `off` önceden açılmış hesap ister. Yalnız `type = enterprise` için değer taşır, diğer türlerde null. Kip yazılmamış org bağlantısında değer org'un SCIM dizin durumundan türetilir (etkin dizin yoksa `create_and_update`, varsa `off`).",
            "enum": [
              "create",
              "create_and_update",
              "off",
              null
            ],
            "type": [
              "string",
              "null"
            ],
            "x-idp-open-enum": true
          },
          "key": {
            "description": "Ortamda tekil, değişmez yapılandırma anahtarı.",
            "pattern": "^[a-z0-9_-]{1,64}$",
            "type": "string"
          },
          "name": {
            "description": "Ortamda tekil ad.",
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "org_id": {
            "description": "Sahip organizasyon; null = ortam bağlantısı. Yalnız `type = enterprise` için; oluşturulduktan sonra değişmez.",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "pending_revision_id": {
            "description": "Yalnız `GET /v1/connections/{connection_id}` yanıtında ve kurumsal bağlantıda: bekleyen taslak revizyonun kimliği (`connrev_…`), yoksa `null`. Kurumsal yapılandırma servisi o an okunamadıysa alan yoktur.",
            "pattern": "^connrev_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "settings": {
            "additionalProperties": true,
            "description": "Sır içermeyen bağlantı ayarları (JSON nesnesi, en çok 32 KiB).",
            "type": "object"
          },
          "status": {
            "enum": [
              "active",
              "inactive"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "strategy": {
            "description": "Türe göre strateji (ör. `social` için `google`); oluşturulduktan sonra değişmez.",
            "enum": [
              "password",
              "email_otp",
              "magic_link",
              "sms_otp",
              "webauthn",
              "google",
              "apple",
              "microsoft",
              "github",
              "gitlab",
              "linkedin",
              "facebook",
              "x",
              "discord",
              "slack",
              "bitbucket",
              "atlassian",
              "oidc_generic",
              "oauth2_generic",
              "saml",
              "oidc"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "trust_idp_mfa": {
            "description": "IdP'nin MFA beyanına güven: `true` ise IdP'nin bildirdiği çok faktörlü doğrulama (SAML AuthnContext, OIDC `amr`/`acr`) oturumun MFA kanıtı sayılır. Yalnız `type = enterprise` bağlantıda `true` olabilir; varsayılan `false`. Yalnız `type = enterprise` için değer taşır, diğer türlerde null.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "type": {
            "description": "Bağlantı türü; oluşturulduktan sonra değişmez.",
            "enum": [
              "database",
              "passwordless",
              "passkey",
              "social",
              "enterprise"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "updated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "key",
          "type",
          "strategy",
          "name",
          "display_name",
          "status",
          "org_id",
          "allowed_email_domains",
          "allow_external_domains",
          "jit_mode",
          "email_trust",
          "default_role_ids",
          "trust_idp_mfa",
          "allow_idp_initiated",
          "idp_initiated_default_application_id",
          "idp_initiated_allowed_application_ids",
          "settings",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "ConnectionAttributeMapping": {
        "additionalProperties": false,
        "description": "Bir öznitelik eşleme kuralı: IdP özniteliği ya da claim'i → kullanıcı alanı.",
        "properties": {
          "overwrite": {
            "description": "Üzerine yazma kuralı.",
            "enum": [
              "always",
              "if_empty",
              "never"
            ],
            "type": "string"
          },
          "profile": {
            "description": "Satırın geldiği hazır profil; istekte verilmezse `generic` saklanır.",
            "enum": [
              "entra",
              "okta",
              "google",
              "adfs",
              "ping",
              "onelogin",
              "jumpcloud",
              "keycloak",
              "shibboleth",
              "generic"
            ],
            "type": "string"
          },
          "source_name": {
            "description": "SAML öznitelik adı (`Name`) ya da OIDC claim adı (nokta yollu, derinlik ≤ 3).",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "source_name_format": {
            "description": "SAML `NameFormat` (mutlak URI); null ya da verilmezse yalnız ad eşlenir.",
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "target": {
            "description": "Hedef alan; liste içinde tekil. `email` zorunludur.",
            "pattern": "^(email|given_name|family_name|name|locale|zoneinfo|phone|groups|user_metadata\\.[a-z0-9_]{1,40})$",
            "type": "string"
          }
        },
        "required": [
          "target",
          "source_name",
          "overwrite"
        ],
        "type": "object"
      },
      "ConnectionAttributeMappingProfileRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/connections/{connection_id}/attribute-mappings:apply-profile` gövdesi.",
        "properties": {
          "profile": {
            "description": "SAML: `entra`, `okta`, `google`, `ping`, `jumpcloud`, `keycloak`; OIDC: `generic`.",
            "enum": [
              "entra",
              "okta",
              "google",
              "ping",
              "jumpcloud",
              "keycloak",
              "generic"
            ],
            "type": "string"
          }
        },
        "required": [
          "profile"
        ],
        "type": "object"
      },
      "ConnectionAttributeMappings": {
        "additionalProperties": false,
        "description": "Bağlantının öznitelik eşleme listesi (hedefe göre sıralı); sürüm `ETag` başlığındadır.",
        "properties": {
          "attribute_mappings": {
            "items": {
              "$ref": "#/components/schemas/ConnectionAttributeMapping"
            },
            "maxItems": 28,
            "type": "array"
          }
        },
        "required": [
          "attribute_mappings"
        ],
        "type": "object"
      },
      "ConnectionAttributeMappingsPutRequest": {
        "additionalProperties": false,
        "description": "`PUT /v1/connections/{connection_id}/attribute-mappings` gövdesi: bağlantının tam yeni listesi.",
        "properties": {
          "attribute_mappings": {
            "items": {
              "$ref": "#/components/schemas/ConnectionAttributeMapping"
            },
            "maxItems": 28,
            "type": "array"
          }
        },
        "required": [
          "attribute_mappings"
        ],
        "type": "object"
      },
      "ConnectionCertificate": {
        "additionalProperties": false,
        "description": "Bağlantının etkin IdP imza sertifikası. Sertifikanın kendisi ve konusu yoktur.",
        "properties": {
          "id": {
            "description": "Önekli dış kimlik (`conncert_…`).",
            "pattern": "^conncert_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "not_after": {
            "description": "Geçerlilik sonu; geçmişse sertifika hiçbir imzayı doğrulamaz.",
            "format": "date-time",
            "type": "string"
          },
          "not_before": {
            "description": "Geçerlilik başlangıcı; gelecekteyse o ana kadar doğrulamada kullanılmaz.",
            "format": "date-time",
            "type": "string"
          },
          "sha256_fingerprint": {
            "description": "DER kodlamasının küçük harf onaltılık SHA-256 özeti.",
            "pattern": "^[0-9a-f]{64}$",
            "type": "string"
          },
          "source": {
            "description": "`metadata`: metadata URL'si yenilemesi ekledi; `manual`: yükleme ya da metadata belgesi içe aktarımı.",
            "enum": [
              "metadata",
              "manual"
            ],
            "type": "string",
            "x-idp-open-enum": true
          }
        },
        "required": [
          "id",
          "sha256_fingerprint",
          "not_before",
          "not_after",
          "source"
        ],
        "type": "object"
      },
      "ConnectionCertificateAddRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/connections/{connection_id}/certificates` gövdesi.",
        "properties": {
          "certificate": {
            "description": "PEM biçiminde tek `CERTIFICATE` bloğu (`-----BEGIN CERTIFICATE-----` …).",
            "maxLength": 8192,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "certificate"
        ],
        "type": "object"
      },
      "ConnectionCertificateList": {
        "additionalProperties": false,
        "description": "Bağlantının etkin IdP imza sertifikaları (en çok 3; sayfalanmaz, `list_metadata` imleç taşımaz).",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ConnectionCertificate"
            },
            "maxItems": 3,
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "ConnectionCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/connections` gövdesi.",
        "properties": {
          "allow_external_domains": {
            "description": "E-posta alanı listede olmayan kullanıcıların da bu bağlantıyla girişine izin verir. Yalnız `type = enterprise` için `true` olabilir; varsayılan `false`.",
            "type": "boolean"
          },
          "allowed_email_domains": {
            "description": "Ev alanı keşfinde bu bağlantıya yönlenen e-posta alan adları: IDNA A-label, küçük harf, en çok 100. Yalnız `type = enterprise` için dolu olabilir; org bağlantısında yalnız org'un doğrulanmış alanları ve etkin org bağlantısında en az bir alan (aksi `422 validation_failed`).",
            "items": {
              "maxLength": 253,
              "pattern": "^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)+$",
              "type": "string"
            },
            "maxItems": 100,
            "type": "array",
            "uniqueItems": true
          },
          "default_role_ids": {
            "description": "Tam zamanında hesap açmada üyeliğe ek olarak verilen ortam rolleri. Yalnız org'a ait `type = enterprise` bağlantıda dolu olabilir; her öğe bu ortamın ayrıcalıksız ortam rolü olmalıdır (başka ortamın rolü, org rolü, ayrıcalıklı rol, yinelenen öğe ya da 10'dan fazla öğe `422 validation_failed`). Liste değer listesidir: sonradan silinen ya da ayrıcalıklı yapılan rol tam zamanında hesap açmada atlanır.",
            "items": {
              "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 10,
            "type": "array",
            "uniqueItems": true
          },
          "display_name": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "email_trust": {
            "description": "E-postaya güven. Yalnız `type = enterprise` için; varsayılan `false`. Org bağlantısında `true` için `allowed_email_domains` dolu ve her alan org'un doğrulanmış alanı olmalıdır (aksi `422 validation_failed`).",
            "type": "boolean"
          },
          "jit_mode": {
            "description": "Tam zamanında hesap açma kipi. Yalnız `type = enterprise` için. Verilmezse ortam bağlantısında `create_and_update`; org bağlantısında kip varsayılanı izler: org'un etkin SCIM dizini yoksa `create_and_update`, varsa (ya da dizin durumu okunamazsa) `off`. Varsayılan her okumada dizin durumundan türetilir; açıkça yazılan değer dizinden etkilenmez.",
            "enum": [
              "create",
              "create_and_update",
              "off"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "key": {
            "pattern": "^[a-z0-9_-]{1,64}$",
            "type": "string"
          },
          "name": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "org_id": {
            "description": "Sahip organizasyon (`org_…`); verilmezse ortam bağlantısı. Yalnız `type = enterprise` için; oluşturulduktan sonra değişmez.",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "settings": {
            "additionalProperties": true,
            "description": "Sır içermeyen ayarlar (en çok 32 KiB). Sır benzeri anahtar adı ya da değer reddedilir. `type = passkey` için şema `PasskeyConnectionSettings`.",
            "type": "object"
          },
          "status": {
            "description": "Verilmezse `database`, `passwordless`, `passkey` için `active`; `social`, `enterprise` için `inactive`.",
            "enum": [
              "active",
              "inactive"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "strategy": {
            "description": "`database`: password · `passwordless`: email_otp, magic_link, sms_otp · `passkey`: webauthn · `social`: google, apple, microsoft, github, gitlab, linkedin, facebook, x, discord, slack, bitbucket, atlassian, oidc_generic, oauth2_generic · `enterprise`: saml, oidc.",
            "enum": [
              "password",
              "email_otp",
              "magic_link",
              "sms_otp",
              "webauthn",
              "google",
              "apple",
              "microsoft",
              "github",
              "gitlab",
              "linkedin",
              "facebook",
              "x",
              "discord",
              "slack",
              "bitbucket",
              "atlassian",
              "oidc_generic",
              "oauth2_generic",
              "saml",
              "oidc"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "trust_idp_mfa": {
            "description": "IdP'nin MFA beyanına güven: `true` ise IdP'nin bildirdiği çok faktörlü doğrulama (SAML AuthnContext, OIDC `amr`/`acr`) oturumun MFA kanıtı sayılır. Yalnız `type = enterprise` bağlantıda `true` olabilir; varsayılan `false`.",
            "type": "boolean"
          },
          "type": {
            "enum": [
              "database",
              "passwordless",
              "passkey",
              "social",
              "enterprise"
            ],
            "type": "string",
            "x-idp-open-enum": true
          }
        },
        "required": [
          "key",
          "type",
          "strategy",
          "name"
        ],
        "type": "object"
      },
      "ConnectionIdpInitiatedPutRequest": {
        "additionalProperties": false,
        "description": "`PUT /v1/connections/{connection_id}/idp-initiated` gövdesi: tam değiştirme.",
        "properties": {
          "allow_idp_initiated": {
            "description": "İstenmemiş SAML yanıtıyla girişe izin. `true` ise `idp_initiated_default_application_id` zorunludur.",
            "type": "boolean"
          },
          "idp_initiated_allowed_application_ids": {
            "description": "RelayState'in `client_id` ile seçebileceği uygulamalar (`app_…`, tekil, en çok 20); verilmez ya da boşsa temizlenir.",
            "items": {
              "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 20,
            "type": "array",
            "uniqueItems": true
          },
          "idp_initiated_default_application_id": {
            "description": "RelayState boşken hedef uygulama (`app_…`); verilmez ya da null ise temizlenir.",
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "allow_idp_initiated"
        ],
        "type": "object"
      },
      "ConnectionList": {
        "description": "Bağlantıların imleçli listesi; toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Connection"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "ConnectionMetadataImportRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/connections/{connection_id}:import-metadata` gövdesi.",
        "properties": {
          "entity_id": {
            "description": "Birden çok varlıklı belgede alınacak IdP'nin entityID'si; tek varlıkta verilirse eşleşmelidir.",
            "maxLength": 1024,
            "minLength": 1,
            "type": "string"
          },
          "metadata_xml": {
            "description": "SAML 2.0 IdP metadata belgesi (`EntityDescriptor` ya da `EntitiesDescriptor`), en çok 1 MiB.",
            "maxLength": 1048576,
            "minLength": 1,
            "type": "string"
          },
          "mfa_authn_context_values": {
            "description": "IdP MFA beyanı sayılan SAML AuthnContext değerleri. Verilirse (boş liste dahil) yazılır; verilmez ya da null ise değişmez.",
            "items": {
              "maxLength": 1024,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 10,
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "metadata_xml"
        ],
        "type": "object"
      },
      "ConnectionMetadataImportResult": {
        "additionalProperties": false,
        "description": "İçe aktarma sonrası bağlantının IdP tarafı ve etkin imza sertifikaları.",
        "properties": {
          "added_certificate_fingerprints": {
            "description": "Bu içe aktarmanın eklediği sertifikaların SHA-256 parmak izleri; zaten kayıtlı olanlar yoktur.",
            "items": {
              "pattern": "^[0-9a-f]{64}$",
              "type": "string"
            },
            "maxItems": 3,
            "type": "array"
          },
          "certificates": {
            "items": {
              "$ref": "#/components/schemas/ConnectionCertificate"
            },
            "maxItems": 3,
            "type": "array"
          },
          "idp_entity_id": {
            "description": "IdP entityID.",
            "type": "string"
          },
          "idp_slo_url": {
            "description": "IdP SingleLogoutService adresi; belgede yoksa null.",
            "type": [
              "string",
              "null"
            ]
          },
          "idp_sso_url": {
            "description": "IdP HTTP-Redirect SingleSignOnService adresi.",
            "type": "string"
          },
          "revision": {
            "$ref": "#/components/schemas/ConnectionRevision",
            "description": "Yalnız içe aktarım taslak revizyon olduysa vardır; o zaman diğer alanlar canlı IdP tarafıdır ve eklenen sertifika yoktur."
          }
        },
        "required": [
          "idp_entity_id",
          "idp_sso_url",
          "idp_slo_url",
          "certificates",
          "added_certificate_fingerprints"
        ],
        "type": "object"
      },
      "ConnectionOidcConfig": {
        "additionalProperties": false,
        "description": "Kurumsal OIDC bağlantısının RP yapılandırması; client sırrı yoktur, sürüm `ETag` başlığındadır.",
        "properties": {
          "client_auth_method": {
            "description": "Token ucunda istemci kimlik doğrulama yöntemi.",
            "enum": [
              "private_key_jwt",
              "client_secret_basic",
              "client_secret_post"
            ],
            "type": "string"
          },
          "client_id": {
            "description": "IdP'de kayıtlı istemci kimliği.",
            "type": "string"
          },
          "client_secret_configured": {
            "description": "Kayıtlı bir client sırrı var mı; sırrın değeri hiçbir yanıtta dönmez.",
            "type": "boolean"
          },
          "client_secret_expires_at": {
            "description": "IdP'nin sırrı geçersiz kılacağı an; verilmediyse `null`.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "issuer": {
            "description": "IdP issuer (mutlak https URL).",
            "type": "string"
          },
          "provider_profile": {
            "description": "Sağlayıcı profili (`entra`, `okta`, `google`, `keycloak`, `ping`, `onelogin`, `jumpcloud`, `generic`).",
            "type": "string"
          },
          "redirect_uri": {
            "description": "IdP'ye kaydedilecek callback (`https://<sp_host>/sso/<conn_…>/callback`); ilk yazımda dondurulur.",
            "type": "string"
          },
          "revision": {
            "$ref": "#/components/schemas/ConnectionRevision",
            "description": "Yalnız `PUT` yanıtında ve yazım taslak revizyon olduysa vardır; o zaman diğer alanlar canlı yapılandırmadır."
          }
        },
        "required": [
          "redirect_uri",
          "issuer",
          "client_id",
          "client_auth_method",
          "provider_profile",
          "client_secret_configured",
          "client_secret_expires_at"
        ],
        "type": "object"
      },
      "ConnectionOidcConfigPutRequest": {
        "additionalProperties": false,
        "description": "`PUT /v1/connections/{connection_id}/oidc` gövdesi: tam yapılandırma (verilmeyen isteğe bağlı alan varsayılana döner; `client_secret` verilmezse kayıtlı sır korunur).",
        "properties": {
          "client_auth_method": {
            "description": "`private_key_jwt` (önerilen; ortamın RP anahtarı imzalar, sır saklanmaz), `client_secret_basic` ya da `client_secret_post`.",
            "enum": [
              "private_key_jwt",
              "client_secret_basic",
              "client_secret_post"
            ],
            "type": "string"
          },
          "client_id": {
            "description": "IdP'de kayıtlı istemci kimliği (denetim karakteri yok).",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "client_secret": {
            "description": "Yalnız yazılır; hiçbir yanıtta yankılanmaz, loglanmaz. Güncellemede verilmezse kayıtlı sır korunur; `private_key_jwt` ile verilemez.",
            "maxLength": 1024,
            "type": "string",
            "writeOnly": true
          },
          "client_secret_expires_at": {
            "description": "IdP'nin sırrı geçersiz kılacağı an (RFC 3339; isteğe bağlı). Yalnız aynı istekte `client_secret` ile verilebilir.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "entra_tenant_id": {
            "description": "Yalnız `entra` profilinde ve orada zorunlu: Entra kiracı kimliği.",
            "format": "uuid",
            "type": "string"
          },
          "issuer": {
            "description": "IdP issuer: sorgu ve parça içermeyen mutlak https URL.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "provider_profile": {
            "description": "Sağlayıcı profili; verilmezse `generic`.",
            "enum": [
              "entra",
              "okta",
              "google",
              "keycloak",
              "ping",
              "onelogin",
              "jumpcloud",
              "generic"
            ],
            "type": "string"
          },
          "sp_host": {
            "description": "İlk yazımda zorunlu: ortamın etkin host'u (küçük harf). Güncellemede boş ya da kayıtlı host.",
            "maxLength": 253,
            "type": "string"
          }
        },
        "required": [
          "issuer",
          "client_id",
          "client_auth_method"
        ],
        "type": "object"
      },
      "ConnectionRevision": {
        "additionalProperties": false,
        "description": "Kurumsal bağlantının taslak, yayımlanmış ya da düşmüş revizyonu. Sır ve aktör taşımaz.",
        "properties": {
          "changes": {
            "$ref": "#/components/schemas/ConnectionRevisionChanges"
          },
          "connection_id": {
            "pattern": "^conn_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "decided_at": {
            "description": "Yayım ya da düşme anı; taslakta `null`.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "discard_reason": {
            "description": "Yalnız `discarded` revizyonda dolu.",
            "enum": [
              "superseded",
              null
            ],
            "type": [
              "string",
              "null"
            ],
            "x-idp-open-enum": true
          },
          "id": {
            "description": "Revizyon kimliği (`connrev_…`).",
            "pattern": "^connrev_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "kind": {
            "description": "`configuration`: IdP/RP yapılandırması değişikliği; `sp_host`: SP host taşıma.",
            "enum": [
              "configuration",
              "sp_host"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "latest_test": {
            "additionalProperties": false,
            "description": "Bu revizyonun saklanan (24 saat) en yeni test girişinin özeti (öznitelik adı taşımaz); yoksa `null`.",
            "properties": {
              "completed_at": {
                "format": "date-time",
                "type": [
                  "string",
                  "null"
                ]
              },
              "failure_reason": {
                "pattern": "^[a-z][a-z0-9_]{0,63}$",
                "type": [
                  "string",
                  "null"
                ]
              },
              "started_at": {
                "format": "date-time",
                "type": "string"
              },
              "status": {
                "enum": [
                  "pending",
                  "passed",
                  "failed"
                ],
                "type": "string",
                "x-idp-open-enum": true
              },
              "test_id": {
                "pattern": "^conntest_[0-7][0-9a-hjkmnp-tv-z]{25}$",
                "type": "string"
              }
            },
            "required": [
              "test_id",
              "status",
              "failure_reason",
              "started_at",
              "completed_at"
            ],
            "type": [
              "object",
              "null"
            ]
          },
          "protocol": {
            "enum": [
              "saml",
              "oidc"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "purge_after": {
            "description": "Karar verilmiş revizyonun silineceği an (karar + 90 gün); taslakta `null`.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "`draft`: test ve yayım bekliyor (bağlantı başına en çok bir); `published`: canlıya alındı; `discarded`: daha yeni bir taslak onu düşürdü.",
            "enum": [
              "draft",
              "published",
              "discarded"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "superseded_revision_id": {
            "description": "Yalnız taslağı oluşturan yanıtta: bu taslağın düşürdüğü önceki taslak; başka yerde `null`.",
            "pattern": "^connrev_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "connection_id",
          "protocol",
          "kind",
          "status",
          "discard_reason",
          "created_at",
          "decided_at",
          "purge_after",
          "superseded_revision_id",
          "changes",
          "latest_test"
        ],
        "type": "object"
      },
      "ConnectionRevisionChanges": {
        "additionalProperties": false,
        "description": "Revizyonun getirdiği yeni değerler; revizyonun türünde ve protokolünde olmayan alanlar `null`'dır. Sır değeri taşımaz.",
        "properties": {
          "certificate_fingerprints": {
            "description": "SAML: revizyonun taşıdığı IdP imza sertifikalarının SHA-256 parmak izleri; başka türde boş.",
            "items": {
              "pattern": "^[0-9a-f]{64}$",
              "type": "string"
            },
            "type": "array"
          },
          "client_auth_method": {
            "description": "OIDC: yeni istemci kimlik doğrulama yöntemi.",
            "type": [
              "string",
              "null"
            ]
          },
          "client_id": {
            "description": "OIDC: yeni client_id.",
            "type": [
              "string",
              "null"
            ]
          },
          "client_secret_change": {
            "description": "OIDC: client sırrına ne olacağı; sırrın kendisi ve son karakterleri dönmez.",
            "enum": [
              "keep",
              "replace",
              "clear",
              null
            ],
            "type": [
              "string",
              "null"
            ],
            "x-idp-open-enum": true
          },
          "idp_entity_id": {
            "description": "SAML: yeni IdP entityID.",
            "type": [
              "string",
              "null"
            ]
          },
          "idp_slo_url": {
            "description": "SAML: yeni IdP SLO URL'si.",
            "type": [
              "string",
              "null"
            ]
          },
          "idp_sso_url": {
            "description": "SAML: yeni IdP SSO URL'si.",
            "type": [
              "string",
              "null"
            ]
          },
          "issuer": {
            "description": "OIDC: yeni issuer.",
            "type": [
              "string",
              "null"
            ]
          },
          "mfa_authn_context_values": {
            "description": "SAML: revizyon MFA AuthnContext değerlerini bu listeyle değiştirir; değiştirmiyorsa `null`.",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "provider_profile": {
            "description": "OIDC: yeni sağlayıcı profili.",
            "type": [
              "string",
              "null"
            ]
          },
          "sp_host": {
            "description": "`sp_host` revizyonunda yeni SP host'u.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "sp_host",
          "idp_entity_id",
          "idp_sso_url",
          "idp_slo_url",
          "certificate_fingerprints",
          "mfa_authn_context_values",
          "issuer",
          "client_id",
          "client_auth_method",
          "provider_profile",
          "client_secret_change"
        ],
        "type": "object"
      },
      "ConnectionRevisionList": {
        "description": "Bağlantının revizyonlarının imleçli listesi (yalnız ileri yönde; `list_metadata.before` her zaman `null`); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ConnectionRevision"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "ConnectionRevisionPublishResult": {
        "additionalProperties": false,
        "description": "`:publish` yanıtı.",
        "properties": {
          "already_published": {
            "description": "`true`: revizyon zaten yayımlanmıştı, hiçbir şey yazılmadı.",
            "type": "boolean"
          },
          "revision": {
            "$ref": "#/components/schemas/ConnectionRevision"
          }
        },
        "required": [
          "revision",
          "already_published"
        ],
        "type": "object"
      },
      "ConnectionRpIdChangeRequest": {
        "additionalProperties": false,
        "description": "`:change-rp-id` gövdesi.",
        "properties": {
          "confirm_rp_id": {
            "description": "`new_rp_id`'nin tekrar yazımı; farklıysa `422 validation_failed` (`/confirm_rp_id`).",
            "maxLength": 253,
            "type": "string"
          },
          "migration_window_days": {
            "default": 90,
            "description": "Önceki rpId'deki passkey'lerin kabul edileceği gün sayısı.",
            "format": "int32",
            "maximum": 365,
            "minimum": 30,
            "type": "integer"
          },
          "new_rp_id": {
            "description": "Yeni rpId: ortamın `active` özel alanının host adı (küçük harf A-label) ya da boş dizge (her giriş host'u kendi rpId'si).",
            "maxLength": 253,
            "type": "string"
          }
        },
        "required": [
          "new_rp_id",
          "confirm_rp_id"
        ],
        "type": "object"
      },
      "ConnectionRpIdMigration": {
        "additionalProperties": false,
        "description": "Passkey bağlantısının rpId göçü.",
        "properties": {
          "completed_at": {
            "description": "Kapanış anı; süren göçte `null`.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "connection_id": {
            "pattern": "^conn_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "ends_at": {
            "description": "Pencerenin planlanan sonu.",
            "format": "date-time",
            "type": "string"
          },
          "fallback_enabled_by_migration": {
            "description": "Yalnız passkey politikasında yedek yöntem göç boyunca zorunlu açıldıysa `true`.",
            "type": "boolean"
          },
          "id": {
            "description": "Göç kimliği (`rpm_…`).",
            "pattern": "^rpm_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "new_registration_count": {
            "description": "Pencerede yeni rpId'de kaydedilen passkey sayısı (kapanışta yazılır); süren göçte `null`.",
            "format": "int64",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "new_rp_id": {
            "description": "Göçle geçilen rpId; `null`: her giriş host'u kendi rpId'si.",
            "maxLength": 253,
            "type": [
              "string",
              "null"
            ]
          },
          "previous_rp_id": {
            "description": "Göçten önceki rpId; `null`: her giriş host'u kendi rpId'siydi.",
            "maxLength": 253,
            "type": [
              "string",
              "null"
            ]
          },
          "revoked_count": {
            "description": "Kapanışta önceki rpId'de iptal edilen passkey sayısı; süren göçte `null`.",
            "format": "int64",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "started_at": {
            "format": "date-time",
            "type": "string"
          },
          "status": {
            "description": "`active`: pencere sürüyor; `completed`: pencere bitti; `completed_early`: `:complete-rp-id-migration` ile erken kapatıldı.",
            "enum": [
              "active",
              "completed",
              "completed_early"
            ],
            "type": "string",
            "x-idp-open-enum": true
          }
        },
        "required": [
          "id",
          "connection_id",
          "previous_rp_id",
          "new_rp_id",
          "status",
          "started_at",
          "ends_at",
          "completed_at",
          "revoked_count",
          "new_registration_count",
          "fallback_enabled_by_migration"
        ],
        "type": "object"
      },
      "ConnectionSpHostMigrationRequest": {
        "additionalProperties": false,
        "description": "`:migrate-sp-host` gövdesi.",
        "properties": {
          "sp_host": {
            "description": "Yeni SP host'u: ortamın etkin host'u (`*.keenauth.app` ya da doğrulanmış özel alan adı), küçük harf, port yok.",
            "maxLength": 253,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "sp_host"
        ],
        "type": "object"
      },
      "ConnectionStateChangeRequest": {
        "additionalProperties": false,
        "description": "`:activate` ve `:deactivate` isteğe bağlı gövdesi; alan yoktur.",
        "type": "object"
      },
      "ConnectionSubjectConflict": {
        "additionalProperties": false,
        "description": "SSO özne çakışması kaydı. Dış özne ve e-posta adresi taşımaz.",
        "properties": {
          "closed_at": {
            "description": "Karar ya da süre dolumu anı; açık kayıtta `null` (süresi dolmuş kayıtta da `null` olabilir).",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "connection_id": {
            "pattern": "^conn_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "expires_at": {
            "description": "Açık kaydın kendiliğinden kapandığı an (açılıştan 30 gün sonra).",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Kayıt kimliği (`sscf_…`).",
            "pattern": "^sscf_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "last_seen_at": {
            "description": "Aynı öznenin son giriş denemesi.",
            "format": "date-time",
            "type": "string"
          },
          "resolution": {
            "description": "Yalnız `resolved` kayıtta dolu.",
            "enum": [
              "same_person",
              "different_person",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "`open`: karar bekliyor; `resolved`: karar verildi; `expired`: açılıştan 30 gün sonra kararsız kapandı.",
            "enum": [
              "open",
              "resolved",
              "expired"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "user_id": {
            "description": "Adresin doğrulanmış sahibi olan, bu bağlantıya başka özneyle bağlı kullanıcı.",
            "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          }
        },
        "required": [
          "id",
          "connection_id",
          "user_id",
          "status",
          "resolution",
          "created_at",
          "last_seen_at",
          "expires_at",
          "closed_at"
        ],
        "type": "object"
      },
      "ConnectionSubjectConflictList": {
        "description": "Bağlantının özne çakışması kayıtlarının imleçli listesi; toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ConnectionSubjectConflict"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "ConnectionSubjectConflictResolveRequest": {
        "additionalProperties": false,
        "description": "`:resolve` gövdesi.",
        "properties": {
          "resolution": {
            "description": "`same_person`: eski kimlik yeni özneyle değişir; `different_person`: kayıt kapanır, bağlama yapılmaz.",
            "enum": [
              "same_person",
              "different_person"
            ],
            "type": "string"
          }
        },
        "required": [
          "resolution"
        ],
        "type": "object"
      },
      "ConnectionTestRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/connections/{connection_id}:test` gövdesi.",
        "properties": {
          "return_url": {
            "description": "Test girişinden sonra tarayıcının döneceği mutlak `https` adres (`test_id` sorgu parametresi eklenir).",
            "format": "uri",
            "maxLength": 2048,
            "minLength": 1,
            "type": "string"
          },
          "revision_id": {
            "description": "İsteğe bağlı: canlı yapılandırma yerine bağlantının bu taslak revizyonunu dene.",
            "pattern": "^connrev_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          }
        },
        "required": [
          "return_url"
        ],
        "type": "object"
      },
      "ConnectionTestResult": {
        "additionalProperties": false,
        "description": "Bir test girişinin sonucu; öznitelik değeri taşımaz.",
        "properties": {
          "attribute_names": {
            "description": "IdP'nin gönderdiği öznitelik ya da claim adları (değerleri değil).",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "completed_at": {
            "description": "IdP dönüşünün işlendiği an; `pending` iken null.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "failure_reason": {
            "description": "Başarısız testin makine nedeni; başka durumda null.",
            "pattern": "^[a-z][a-z0-9_]{0,63}$",
            "type": [
              "string",
              "null"
            ]
          },
          "group_count": {
            "description": "Gelen grup sayısı.",
            "minimum": 0,
            "type": "integer"
          },
          "mapped_fields": {
            "description": "Öznitelik eşlemesiyle değer alan kullanıcı alanları (değerleri değil).",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "started_at": {
            "format": "date-time",
            "type": "string"
          },
          "status": {
            "description": "`pending`: test URL'si henüz açılmadı ya da IdP dönüşü bekleniyor.",
            "enum": [
              "pending",
              "passed",
              "failed"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "test_id": {
            "pattern": "^conntest_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          }
        },
        "required": [
          "test_id",
          "status",
          "failure_reason",
          "attribute_names",
          "group_count",
          "mapped_fields",
          "started_at",
          "completed_at"
        ],
        "type": "object"
      },
      "ConnectionTestStarted": {
        "additionalProperties": false,
        "description": "Başlatılan test girişi. `test_url` taşıyıcı bağlantıdır ve yalnız ilk yanıtta döner; `Idempotency-Key` ile tekrar oynatılan yanıtta yoktur ve `secret_redacted: true` döner.",
        "properties": {
          "expires_at": {
            "description": "Test URL'sinin geçerlilik sonu.",
            "format": "date-time",
            "type": "string"
          },
          "secret_redacted": {
            "description": "`Idempotency-Key` ile tekrar oynatılan yanıtta `true`; `test_url` yoktur.",
            "readOnly": true,
            "type": "boolean"
          },
          "test_id": {
            "description": "Test kimliği (`conntest_…`); `return_url`'ye de eklenir.",
            "pattern": "^conntest_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "test_url": {
            "description": "Tarayıcıda açılacak test girişi adresi; 10 dakika ve tek kullanım için geçerli. Paylaşmayın, loglamayın.",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "test_id",
          "expires_at"
        ],
        "type": "object"
      },
      "ConnectionUpdate": {
        "additionalProperties": false,
        "description": "`PATCH /v1/connections/{connection_id}` birleştirme yaması (RFC 7396). `key`, `type`, `strategy`, `org_id` mevcut değerinden farklı verilemez. `display_name`, `allowed_email_domains` ve `settings` için `null` alanı temizler.",
        "properties": {
          "allow_external_domains": {
            "description": "E-posta alanı listede olmayan kullanıcıların da bu bağlantıyla girişine izin verir. Yalnız `type = enterprise` için `true` olabilir; varsayılan `false`.",
            "type": "boolean"
          },
          "allowed_email_domains": {
            "description": "Ev alanı keşfinde bu bağlantıya yönlenen e-posta alan adları: IDNA A-label, küçük harf, en çok 100. Yalnız `type = enterprise` için dolu olabilir; org bağlantısında yalnız org'un doğrulanmış alanları ve etkin org bağlantısında en az bir alan (aksi `422 validation_failed`). `null` ya da boş dizi listeyi temizler.",
            "items": {
              "maxLength": 253,
              "pattern": "^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)+$",
              "type": "string"
            },
            "maxItems": 100,
            "type": [
              "array",
              "null"
            ],
            "uniqueItems": true
          },
          "default_role_ids": {
            "description": "Tam zamanında hesap açmada üyeliğe ek olarak verilen ortam rolleri. Yalnız org'a ait `type = enterprise` bağlantıda dolu olabilir; her öğe bu ortamın ayrıcalıksız ortam rolü olmalıdır (başka ortamın rolü, org rolü, ayrıcalıklı rol, yinelenen öğe ya da 10'dan fazla öğe `422 validation_failed`). Liste değer listesidir: sonradan silinen ya da ayrıcalıklı yapılan rol tam zamanında hesap açmada atlanır. Yalnız yeni eklenen roller doğrulanır; `null` ya da boş dizi listeyi temizler.",
            "items": {
              "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 10,
            "type": [
              "array",
              "null"
            ],
            "uniqueItems": true
          },
          "display_name": {
            "maxLength": 128,
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "email_trust": {
            "description": "E-postaya güven. Yalnız `type = enterprise` için. Org bağlantısında `true` için `allowed_email_domains` dolu ve her alan org'un doğrulanmış alanı olmalıdır (aksi `422 validation_failed`).",
            "type": "boolean"
          },
          "jit_mode": {
            "description": "Tam zamanında hesap açma kipi. Yalnız `type = enterprise` için.",
            "enum": [
              "create",
              "create_and_update",
              "off"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "key": {
            "pattern": "^[a-z0-9_-]{1,64}$",
            "type": "string"
          },
          "name": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "org_id": {
            "description": "Değişmez: yalnız mevcut değeri verilebilir (farklı değer `422 immutable`).",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "settings": {
            "additionalProperties": true,
            "description": "İç içe nesneler RFC 7396'ya göre birleşir; `null` üyeyi siler. `type = passkey` için birleşim sonucu `PasskeyConnectionSettings` şemasına uymalıdır.",
            "type": [
              "object",
              "null"
            ]
          },
          "status": {
            "enum": [
              "active",
              "inactive"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "strategy": {
            "type": "string",
            "x-idp-open-enum": true
          },
          "trust_idp_mfa": {
            "description": "IdP'nin MFA beyanına güven: `true` ise IdP'nin bildirdiği çok faktörlü doğrulama (SAML AuthnContext, OIDC `amr`/`acr`) oturumun MFA kanıtı sayılır. Yalnız `type = enterprise` bağlantıda `true` olabilir; varsayılan `false`.",
            "type": "boolean"
          },
          "type": {
            "type": "string",
            "x-idp-open-enum": true
          }
        },
        "type": "object"
      },
      "ConsentImportRecord": {
        "additionalProperties": false,
        "description": "İçe aktarılacak bir kabul kaydı.",
        "properties": {
          "application_id": {
            "description": "Verilmezse ve belge uygulamaya özelse belgenin uygulaması yazılır.",
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "occurred_at": {
            "description": "Kaynak sistemdeki an; korunur, gelecekte olamaz.",
            "format": "date-time",
            "type": "string"
          },
          "state": {
            "enum": [
              "presented",
              "accepted",
              "declined"
            ],
            "type": "string"
          },
          "subject_id": {
            "pattern": "^ldoc_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "subject_type": {
            "description": "Yalnız `document` (rıza amaçları GA+1).",
            "enum": [
              "document"
            ],
            "type": "string"
          },
          "user_id": {
            "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          }
        },
        "required": [
          "user_id",
          "subject_type",
          "subject_id",
          "state",
          "occurred_at"
        ],
        "type": "object"
      },
      "ConsentImportRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/jobs/consent-imports` gövdesi.",
        "properties": {
          "records": {
            "items": {
              "$ref": "#/components/schemas/ConsentImportRecord"
            },
            "maxItems": 500,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "records"
        ],
        "type": "object"
      },
      "ConsentImportResult": {
        "additionalProperties": false,
        "description": "Yazılan kayıtlar, girdi sırasıyla.",
        "properties": {
          "imported_count": {
            "maximum": 500,
            "minimum": 1,
            "type": "integer"
          },
          "records": {
            "items": {
              "$ref": "#/components/schemas/ConsentRecord"
            },
            "type": "array"
          }
        },
        "required": [
          "imported_count",
          "records"
        ],
        "type": "object"
      },
      "ConsentRecord": {
        "additionalProperties": false,
        "description": "Salt eklemeli rıza kaydı. IP, user-agent ve oturum bilgisi taşımaz.",
        "properties": {
          "application_id": {
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "content_sha256": {
            "description": "Kayıt anındaki belge içerik özeti.",
            "pattern": "^[0-9a-f]{64}$",
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik (`crec_…`).",
            "pattern": "^crec_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "method": {
            "enum": [
              "hosted_signup",
              "hosted_reconsent",
              "account_portal",
              "management_api",
              "import",
              "first_login"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "occurred_at": {
            "format": "date-time",
            "type": "string"
          },
          "state": {
            "enum": [
              "presented",
              "accepted",
              "declined",
              "granted",
              "withdrawn"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "subject_id": {
            "description": "Konunun dış kimliği (`subject_type = document` için `ldoc_…`).",
            "type": "string"
          },
          "subject_type": {
            "enum": [
              "document",
              "purpose"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "subject_version": {
            "description": "Kayıt anındaki belge sürümü.",
            "type": "string"
          },
          "user_id": {
            "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          }
        },
        "required": [
          "id",
          "user_id",
          "subject_type",
          "subject_id",
          "subject_version",
          "content_sha256",
          "locale",
          "state",
          "method",
          "application_id",
          "occurred_at"
        ],
        "type": "object"
      },
      "ConsentRecordCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/users/{user_id}/consent-records` gövdesi (`method = management_api`).",
        "properties": {
          "application_id": {
            "description": "Verilmezse ve belge uygulamaya özelse belgenin uygulaması yazılır.",
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "occurred_at": {
            "description": "Verilmezse sunucu anı; gelecekte ya da 5 dakikadan eski olamaz.",
            "format": "date-time",
            "type": "string"
          },
          "state": {
            "enum": [
              "presented",
              "accepted",
              "declined"
            ],
            "type": "string"
          },
          "subject_id": {
            "pattern": "^ldoc_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "subject_type": {
            "description": "Yalnız `document` (rıza amaçları GA+1).",
            "enum": [
              "document"
            ],
            "type": "string"
          }
        },
        "required": [
          "subject_type",
          "subject_id",
          "state"
        ],
        "type": "object"
      },
      "ConsentRecordList": {
        "additionalProperties": false,
        "description": "Rıza kayıtlarının imleçli listesi (`occurred_at` azalan); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ConsentRecord"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "CursorList": {
        "description": "İmleçli liste yanıtı; toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/SkeletonObject"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "CustomDomain": {
        "additionalProperties": false,
        "description": "Ortamın özel giriş alan adı. Sürüm gövdede değil `ETag` başlığındadır.",
        "properties": {
          "activated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "caa": {
            "$ref": "#/components/schemas/CustomDomainCaaAdvice"
          },
          "certificate_expires_at": {
            "description": "Yürürlükteki sertifikanın bitişi; sertifika yoksa null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "degraded_since": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "dns_records": {
            "description": "Müşterinin DNS'ine eklenecek kayıtlar: TXT sahiplik kaydı (kalıcı) ve CNAME yönlendirmesi.",
            "items": {
              "$ref": "#/components/schemas/CustomDomainDnsRecord"
            },
            "type": "array"
          },
          "failure_reason": {
            "description": "Son denetimin başarısızlık nedeni; yoksa null.",
            "enum": [
              "txt_missing",
              "cname_mismatch",
              "caa_blocked",
              "certificate_failed",
              "dnssec_bogus",
              null
            ],
            "type": [
              "string",
              "null"
            ],
            "x-idp-open-enum": true
          },
          "hostname": {
            "description": "IDNA2008 A-etiketi biçiminde, küçük harf, sonda nokta olmadan.",
            "maxLength": 253,
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik (`cdom_…`).",
            "pattern": "^cdom_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "is_primary": {
            "description": "Ortamın birincil özel alanı mı (barındırılan giriş bağlantıları bunu kullanır).",
            "type": "boolean"
          },
          "last_checked_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "next_check_at": {
            "description": "Bir sonraki otomatik denetim; null ise otomatik denetim yok (`disabled`, `released` ya da penceresi dolmuş `pending_dns`).",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "`pending_dns` DNS kayıtları bekleniyor; `issuing` sertifika alınıyor; `active` girişe açık; `degraded` sertifika ya da DNS sorunu, mevcut sertifikayla çalışıyor; `disabled` deneme penceresi doldu ya da uzun süre bozuk kaldı; `released` kaldırıldı.",
            "enum": [
              "pending_dns",
              "issuing",
              "active",
              "degraded",
              "disabled",
              "released"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "status_changed_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "hostname",
          "is_primary",
          "status",
          "failure_reason",
          "dns_records",
          "certificate_expires_at",
          "last_checked_at",
          "next_check_at",
          "activated_at",
          "degraded_since",
          "status_changed_at",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "CustomDomainCaaAdvice": {
        "additionalProperties": false,
        "description": "CAA ön denetiminin canlı sonucu (RFC 8659). Yalnız tekil okumada ve `failure_reason = caa_blocked` iken döner; denetim yapılamazsa alan yoktur.",
        "properties": {
          "blocked": {
            "description": "Platformun CA'larından en az biri CAA ile engelli.",
            "type": "boolean"
          },
          "critical_unknown": {
            "description": "Bilinmeyen kritik CAA özelliği engelliyor; önerilen satırlar bunu çözmez, özelliği kaldırın.",
            "type": "boolean"
          },
          "missing_issuers": {
            "description": "İzin verilmeyen CA'ların issuer-domain-name'leri.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "node": {
            "description": "İlgili CAA kümesinin bulunduğu ad; hiçbir adda CAA yoksa null.",
            "type": [
              "string",
              "null"
            ]
          },
          "suggested_records": {
            "description": "DNS'e eklenecek tam CAA satırları (bölge dosyası biçimi).",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "blocked",
          "node",
          "missing_issuers",
          "critical_unknown",
          "suggested_records"
        ],
        "type": "object"
      },
      "CustomDomainCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/custom-domains` gövdesi.",
        "properties": {
          "hostname": {
            "description": "Eklenecek ad (Unicode olabilir; IDNA2008 ile A-etiketine çevrilir).",
            "maxLength": 253,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "hostname"
        ],
        "type": "object"
      },
      "CustomDomainDnsRecord": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "Kaydın tam adı (ör. `_akp-verify.login.example.com`).",
            "type": "string"
          },
          "type": {
            "enum": [
              "TXT",
              "CNAME"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "value": {
            "description": "Kaydın değeri (TXT için `idp-verify=…`, CNAME için ortamın kenar host'u).",
            "type": "string"
          }
        },
        "required": [
          "type",
          "name",
          "value"
        ],
        "type": "object"
      },
      "CustomDomainList": {
        "additionalProperties": false,
        "description": "Özel alanların imleçli listesi (eskiden yeniye); öğelerde `caa` alanı yoktur.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/CustomDomain"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "CustomerEvent": {
        "additionalProperties": true,
        "description": "Müşteri olay zarfı v1; web kancası gövdesiyle aynı belge.",
        "properties": {
          "context": {
            "additionalProperties": true,
            "properties": {
              "actor": {
                "additionalProperties": true,
                "type": "object"
              },
              "org_id": {
                "pattern": "^org_",
                "type": "string"
              },
              "request_id": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "data": {
            "additionalProperties": true,
            "properties": {
              "changed_fields": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "object": {
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "type": "string"
                  }
                },
                "required": [
                  "id"
                ],
                "type": "object"
              },
              "object_version": {
                "format": "int64",
                "minimum": 1,
                "type": "integer"
              }
            },
            "required": [
              "object"
            ],
            "type": "object"
          },
          "environment_id": {
            "pattern": "^env_",
            "type": "string"
          },
          "id": {
            "description": "evt_ önekli olay kimliği; web kancasında `webhook-id` başlığıyla aynı.",
            "pattern": "^evt_",
            "type": "string"
          },
          "occurred_at": {
            "format": "date-time",
            "type": "string"
          },
          "recorded_at": {
            "format": "date-time",
            "type": "string"
          },
          "schema_version": {
            "minimum": 1,
            "type": "integer"
          },
          "seq": {
            "description": "Ortam içinde tekdüze artan sıra.",
            "format": "int64",
            "minimum": 1,
            "type": "integer"
          },
          "type": {
            "description": "Olay türü, `<kaynak>.<geçmiş_zaman>`.",
            "pattern": "^[a-z][a-z0-9_]*\\.[a-z][a-z0-9_]*$",
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "schema_version",
          "environment_id",
          "occurred_at",
          "recorded_at",
          "seq",
          "data",
          "context"
        ],
        "type": "object"
      },
      "DeprecationUsageReport": {
        "additionalProperties": false,
        "description": "Kullanımdan kalkan işlem kullanım raporunun bir sayfası. `next_cursor` son sayfada `null`dır.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/DeprecationUsageRow"
            },
            "type": "array"
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "data",
          "next_cursor"
        ],
        "type": "object"
      },
      "DeprecationUsageRow": {
        "additionalProperties": false,
        "description": "Bir kullanımdan kalkan işlemin bir istemci ve SDK sürümü tarafından aralıkta çağrılma sayısı. Kişisel veri taşımaz.",
        "properties": {
          "call_count": {
            "format": "int64",
            "minimum": 1,
            "type": "integer"
          },
          "client_id": {
            "description": "`key_…` (yönetim API anahtarı), `app_…` (yönetim OAuth client'ı) ya da `dashboard`.",
            "type": "string"
          },
          "deprecation_id": {
            "description": "api/deprecations.yaml kimliği.",
            "pattern": "^dep-[0-9]{4}-[0-9]{2}$",
            "type": "string"
          },
          "last_seen_at": {
            "description": "Aralıktaki son çağrı.",
            "format": "date-time",
            "type": "string"
          },
          "sdk_package": {
            "description": "`Idp-Client` başlığındaki SDK paketi; katalog dışı `other`, başlıksız `none`.",
            "type": "string"
          },
          "sdk_version": {
            "description": "SemVer 2.0.0 ya da boş dize.",
            "type": "string"
          },
          "sunset_at": {
            "description": "Kaldırma günü (kayıt defterinden, UTC); kayıt defterinde yoksa `null`.",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "deprecation_id",
          "client_id",
          "sdk_package",
          "sdk_version",
          "call_count",
          "last_seen_at",
          "sunset_at"
        ],
        "type": "object"
      },
      "Directory": {
        "additionalProperties": false,
        "description": "SCIM dizini. Kişisel veri, token ve token özeti bu şemada hiç yoktur.",
        "properties": {
          "attribute_allowlist": {
            "description": "Saklanan isteğe bağlı SCIM öznitelikleri (dizin kullanıcısının `attributes` anahtarları); varsayılan boş.",
            "items": {
              "enum": [
                "title",
                "usertype",
                "phonenumbers",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:employeenumber",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:department",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:division",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:costcenter",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:organization",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:manager"
              ],
              "type": "string",
              "x-idp-open-enum": true
            },
            "maxItems": 40,
            "type": "array",
            "uniqueItems": true
          },
          "base_url": {
            "description": "IdP'ye verilen SCIM taban URL'si: `https://<scim_host>/scim/v2/<dizin kimliği (dir_…)>`.",
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "delete_action": {
            "description": "SCIM `DELETE /Users`: üyeliği kaldır ya da dizinle yönetilen kullanıcıyı sil.",
            "enum": [
              "remove_membership",
              "delete_user"
            ],
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik (`dir_…`).",
            "pattern": "^dir_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "last_request_at": {
            "description": "Dizinin son SCIM isteğinin anı; hiç istek gelmediyse null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "mass_deprovision_guard": {
            "$ref": "#/components/schemas/DirectoryMassDeprovisionGuard"
          },
          "name": {
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          },
          "on_delete_memberships": {
            "description": "Dizin silinince dizinden gelen üyeliklere ne olacağı.",
            "enum": [
              "keep",
              "suspend",
              "remove"
            ],
            "type": "string"
          },
          "organization_id": {
            "description": "Dizinin sahibi org.",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "provisioning_mode": {
            "description": "`user_store`: ortam kullanıcısı, org üyeliği ve grup rolleri de yazılır; `mirror`: yalnız dizin kayıtları tutulur.",
            "enum": [
              "user_store",
              "mirror"
            ],
            "type": "string"
          },
          "send_welcome_email": {
            "description": "Yeni dizin kullanıcısına hesap etkinleştirme e-postası gönderilir mi; varsayılan `false`.",
            "type": "boolean"
          },
          "state": {
            "description": "`inactive` (oluşturulduğu hal ya da pasifleştirilmiş) ya da `active`. Pasif dizin token'ları geçerliyken her SCIM isteğine `401` döner; hiç kullanılmamış ve pasifleştirilmemiş dizin ilk başarılı SCIM isteğiyle `active` olur.",
            "enum": [
              "inactive",
              "active"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "type": {
            "description": "Dizin türü; GA-1'de yalnız `scim`.",
            "enum": [
              "scim"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "unverified_domain_action": {
            "description": "Doğrulanmamış alan adlı kullanıcı: `invite` (davetli üyelik) ya da `mirror_only` (yalnız dizin kaydı).",
            "enum": [
              "invite",
              "mirror_only"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "organization_id",
          "type",
          "name",
          "state",
          "base_url",
          "created_at",
          "last_request_at",
          "provisioning_mode",
          "attribute_allowlist",
          "unverified_domain_action",
          "delete_action",
          "on_delete_memberships",
          "mass_deprovision_guard",
          "send_welcome_email"
        ],
        "type": "object"
      },
      "DirectoryCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/directories` gövdesi.",
        "properties": {
          "name": {
            "description": "1–64 karakter; denetim karakteri yok, başta ve sonda boşluk yok.",
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          },
          "organization_id": {
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "scim_host": {
            "description": "Ortamın birincil host'u (küçük harf DNS adı): etkin özel alan adı, yoksa `<slug>.<bölge>.keenauth.app`. Bu ortama yönlenmelidir.",
            "maxLength": 253,
            "minLength": 1,
            "type": "string"
          },
          "token_label": {
            "description": "İlk token'ın etiketi; varsayılan `Initial token`.",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "default": "scim",
            "description": "GA-1'de yalnız `scim`.",
            "enum": [
              "scim"
            ],
            "type": "string"
          }
        },
        "required": [
          "organization_id",
          "name",
          "scim_host"
        ],
        "type": "object"
      },
      "DirectoryCreated": {
        "additionalProperties": false,
        "description": "Oluşturulan dizin (`Directory` alanları) ve ilk token'ı. `token` yalnız ilk yanıtta döner; tekrar oynatılan yanıtta yoktur ve `secret_redacted: true` döner.",
        "properties": {
          "attribute_allowlist": {
            "description": "Saklanan isteğe bağlı SCIM öznitelikleri (dizin kullanıcısının `attributes` anahtarları); varsayılan boş.",
            "items": {
              "enum": [
                "title",
                "usertype",
                "phonenumbers",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:employeenumber",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:department",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:division",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:costcenter",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:organization",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:manager"
              ],
              "type": "string",
              "x-idp-open-enum": true
            },
            "maxItems": 40,
            "type": "array",
            "uniqueItems": true
          },
          "base_url": {
            "description": "IdP'ye verilen SCIM taban URL'si: `https://<scim_host>/scim/v2/<dizin kimliği (dir_…)>`.",
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "delete_action": {
            "description": "SCIM `DELETE /Users`: üyeliği kaldır ya da dizinle yönetilen kullanıcıyı sil.",
            "enum": [
              "remove_membership",
              "delete_user"
            ],
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik (`dir_…`).",
            "pattern": "^dir_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "last_request_at": {
            "description": "Dizinin son SCIM isteğinin anı; hiç istek gelmediyse null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "mass_deprovision_guard": {
            "$ref": "#/components/schemas/DirectoryMassDeprovisionGuard"
          },
          "name": {
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          },
          "on_delete_memberships": {
            "description": "Dizin silinince dizinden gelen üyeliklere ne olacağı.",
            "enum": [
              "keep",
              "suspend",
              "remove"
            ],
            "type": "string"
          },
          "organization_id": {
            "description": "Dizinin sahibi org.",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "provisioning_mode": {
            "description": "`user_store`: ortam kullanıcısı, org üyeliği ve grup rolleri de yazılır; `mirror`: yalnız dizin kayıtları tutulur.",
            "enum": [
              "user_store",
              "mirror"
            ],
            "type": "string"
          },
          "secret_redacted": {
            "description": "Tekrar oynatılan yanıtta `true`: `token` artık döndürülmez.",
            "readOnly": true,
            "type": "boolean"
          },
          "send_welcome_email": {
            "description": "Yeni dizin kullanıcısına hesap etkinleştirme e-postası gönderilir mi; varsayılan `false`.",
            "type": "boolean"
          },
          "state": {
            "description": "`inactive` (oluşturulduğu hal ya da pasifleştirilmiş) ya da `active`. Pasif dizin token'ları geçerliyken her SCIM isteğine `401` döner; hiç kullanılmamış ve pasifleştirilmemiş dizin ilk başarılı SCIM isteğiyle `active` olur.",
            "enum": [
              "inactive",
              "active"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "token": {
            "description": "SCIM taşıyıcı token'ı (`idp_scim_…`): yalnız bu yanıtta, bir kez döner ve saklanmaz.",
            "readOnly": true,
            "type": "string"
          },
          "token_id": {
            "description": "İlk token'ın kimliği.",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
            "readOnly": true,
            "type": "string"
          },
          "type": {
            "description": "Dizin türü; GA-1'de yalnız `scim`.",
            "enum": [
              "scim"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "unverified_domain_action": {
            "description": "Doğrulanmamış alan adlı kullanıcı: `invite` (davetli üyelik) ya da `mirror_only` (yalnız dizin kaydı).",
            "enum": [
              "invite",
              "mirror_only"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "organization_id",
          "type",
          "name",
          "state",
          "base_url",
          "created_at",
          "last_request_at",
          "token_id",
          "provisioning_mode",
          "attribute_allowlist",
          "unverified_domain_action",
          "delete_action",
          "on_delete_memberships",
          "mass_deprovision_guard",
          "send_welcome_email"
        ],
        "type": "object"
      },
      "DirectoryDeprovisionHoldDecision": {
        "additionalProperties": false,
        "description": "Bekletme kararı yanıtı.",
        "properties": {
          "directory_id": {
            "pattern": "^dir_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
            "readOnly": true,
            "type": "string"
          },
          "status": {
            "enum": [
              "approved",
              "rejected"
            ],
            "readOnly": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "directory_id",
          "status"
        ],
        "type": "object"
      },
      "DirectoryDeprovisionHoldRecord": {
        "additionalProperties": false,
        "description": "Toplu pasifleştirme bekletmesi kaydı: yalnız sayı, durum ve karar; bekletilen kullanıcı yok.",
        "properties": {
          "decided_at": {
            "description": "Karar anı; açık bekletmede null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "decided_by": {
            "description": "Kararı veren aktör: `api_key:<anahtar kimliği>`, `admin_portal_link:apl_…` ya da 72 saat zaman aşımında `timeout`; açık bekletmede null.",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "Bekletme kimliği (küçük harf UUID metni); karar uçlarındaki `hold_id`.",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
            "readOnly": true,
            "type": "string"
          },
          "opened_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "pending_count": {
            "description": "Bekletilen pasifleştirme sayısı.",
            "format": "int32",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "status": {
            "description": "`open`, `approved` (onay ya da 72 saat zaman aşımı) ya da `rejected`.",
            "enum": [
              "open",
              "approved",
              "rejected"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          }
        },
        "required": [
          "id",
          "status",
          "opened_at",
          "pending_count",
          "decided_by",
          "decided_at"
        ],
        "type": "object"
      },
      "DirectoryDeprovisionHoldRecordList": {
        "additionalProperties": false,
        "description": "Bekletmelerin imleçli listesi (yeniden eskiye); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/DirectoryDeprovisionHoldRecord"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "DirectoryDetail": {
        "additionalProperties": false,
        "description": "Tek dizin okuması: `Directory` alanları ve açık toplu pasifleştirme bekletmesi.",
        "properties": {
          "attribute_allowlist": {
            "description": "Saklanan isteğe bağlı SCIM öznitelikleri (dizin kullanıcısının `attributes` anahtarları); varsayılan boş.",
            "items": {
              "enum": [
                "title",
                "usertype",
                "phonenumbers",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:employeenumber",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:department",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:division",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:costcenter",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:organization",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:manager"
              ],
              "type": "string",
              "x-idp-open-enum": true
            },
            "maxItems": 40,
            "type": "array",
            "uniqueItems": true
          },
          "base_url": {
            "description": "IdP'ye verilen SCIM taban URL'si: `https://<scim_host>/scim/v2/<dizin kimliği (dir_…)>`.",
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "delete_action": {
            "description": "SCIM `DELETE /Users`: üyeliği kaldır ya da dizinle yönetilen kullanıcıyı sil.",
            "enum": [
              "remove_membership",
              "delete_user"
            ],
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik (`dir_…`).",
            "pattern": "^dir_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "last_request_at": {
            "description": "Dizinin son SCIM isteğinin anı; hiç istek gelmediyse null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "mass_deprovision_guard": {
            "$ref": "#/components/schemas/DirectoryMassDeprovisionGuard"
          },
          "name": {
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          },
          "on_delete_memberships": {
            "description": "Dizin silinince dizinden gelen üyeliklere ne olacağı.",
            "enum": [
              "keep",
              "suspend",
              "remove"
            ],
            "type": "string"
          },
          "open_deprovision_hold": {
            "additionalProperties": false,
            "description": "Açık toplu pasifleştirme bekletmesi: yalnız sayı, kullanıcı yok; yoksa null.",
            "properties": {
              "id": {
                "description": "Bekletme kimliği; karar uçlarındaki `hold_id`.",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                "type": "string"
              },
              "opened_at": {
                "description": "Bekletmenin açıldığı an; 72 saat sonra zaman aşımıyla onaylanır.",
                "format": "date-time",
                "type": "string"
              },
              "pending_count": {
                "description": "Bekletilen pasifleştirme sayısı.",
                "format": "int32",
                "minimum": 0,
                "type": "integer"
              }
            },
            "readOnly": true,
            "required": [
              "id",
              "opened_at",
              "pending_count"
            ],
            "type": [
              "object",
              "null"
            ]
          },
          "organization_id": {
            "description": "Dizinin sahibi org.",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "provisioning_mode": {
            "description": "`user_store`: ortam kullanıcısı, org üyeliği ve grup rolleri de yazılır; `mirror`: yalnız dizin kayıtları tutulur.",
            "enum": [
              "user_store",
              "mirror"
            ],
            "type": "string"
          },
          "send_welcome_email": {
            "description": "Yeni dizin kullanıcısına hesap etkinleştirme e-postası gönderilir mi; varsayılan `false`.",
            "type": "boolean"
          },
          "state": {
            "description": "`inactive` (oluşturulduğu hal ya da pasifleştirilmiş) ya da `active`. Pasif dizin token'ları geçerliyken her SCIM isteğine `401` döner; hiç kullanılmamış ve pasifleştirilmemiş dizin ilk başarılı SCIM isteğiyle `active` olur.",
            "enum": [
              "inactive",
              "active"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "type": {
            "description": "Dizin türü; GA-1'de yalnız `scim`.",
            "enum": [
              "scim"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "unverified_domain_action": {
            "description": "Doğrulanmamış alan adlı kullanıcı: `invite` (davetli üyelik) ya da `mirror_only` (yalnız dizin kaydı).",
            "enum": [
              "invite",
              "mirror_only"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "organization_id",
          "type",
          "name",
          "state",
          "base_url",
          "created_at",
          "last_request_at",
          "open_deprovision_hold",
          "provisioning_mode",
          "attribute_allowlist",
          "unverified_domain_action",
          "delete_action",
          "on_delete_memberships",
          "mass_deprovision_guard",
          "send_welcome_email"
        ],
        "type": "object"
      },
      "DirectoryGroup": {
        "additionalProperties": false,
        "description": "IdP'nin sağladığı dizin grubu: üye ve kişisel veri yok.",
        "properties": {
          "external_id": {
            "description": "IdP'nin grup dış kimliği (`externalId`); yoksa null.",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "Önekli dış kimlik (`dsg_…`); rol eşlemesinde `directory_group_id`.",
            "pattern": "^dsg_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "member_count": {
            "format": "int32",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "name": {
            "description": "Grubun görünen adı (`displayName`).",
            "readOnly": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "external_id",
          "name",
          "member_count"
        ],
        "type": "object"
      },
      "DirectoryGroupList": {
        "additionalProperties": false,
        "description": "Dizin gruplarının imleçli listesi (kimlik sırasıyla); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/DirectoryGroup"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "DirectoryList": {
        "additionalProperties": false,
        "description": "Dizinlerin imleçli listesi (yeniden eskiye); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Directory"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "DirectoryMassDeprovisionGuard": {
        "additionalProperties": false,
        "description": "Toplu pasifleştirme devre kesicisi: 5 dakikalık pencerede en az `absolute_min` ve etkin kullanıcıların yüzde `percent`'inden fazla pasifleştirme bekletmeye alınır.",
        "properties": {
          "absolute_min": {
            "format": "int32",
            "maximum": 1000,
            "minimum": 10,
            "type": "integer"
          },
          "enabled": {
            "type": "boolean"
          },
          "percent": {
            "format": "int32",
            "maximum": 50,
            "minimum": 5,
            "type": "integer"
          }
        },
        "required": [
          "enabled",
          "percent",
          "absolute_min"
        ],
        "type": "object"
      },
      "DirectoryProvisioningLog": {
        "additionalProperties": false,
        "description": "Provizyon günlüğü kaydı: yalnız adlar, sayılar, kimlikler ve istemci adres öneki; gövde, öznitelik değeri, tam IP, User-Agent ve token değeri yok.",
        "properties": {
          "client_class": {
            "description": "İstemci sınıfı (`entra`, `okta`, `onelogin`, `jumpcloud`, `agent`, `other`); tam User-Agent saklanmaz.",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "client_ip_prefix": {
            "description": "İstemci adres öneki (IPv4 /24, IPv6 /48); tam IP saklanmaz.",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "duration_ms": {
            "format": "int64",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "held": {
            "description": "İstek toplu pasifleştirme korumasına (devre kesici) takıldı.",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "Log kaydının önekli dış kimliği (`evt_…`); `GET /v1/logs/{log_id}` ile de okunur.",
            "pattern": "^evt_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "ignored_attributes": {
            "description": "Yok sayılan öznitelik adları ve `unknown(N)`; değerler yok.",
            "items": {
              "type": "string"
            },
            "readOnly": true,
            "type": "array"
          },
          "method": {
            "description": "HTTP yöntemi; bilinmeyen yöntem `OTHER`.",
            "readOnly": true,
            "type": "string"
          },
          "occurred_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "operation_summary": {
            "description": "İşlem özeti (ör. `replace:active`, `add:members(3)`); değerler yok. En çok 24 öğe, fazlası `more(N)`.",
            "items": {
              "type": "string"
            },
            "readOnly": true,
            "type": "array"
          },
          "organization_id": {
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "outcome": {
            "description": "HTTP durumundan türetilir: 5xx `error`; 401, 403, 429 `denied`; diğer 4xx `failure`.",
            "enum": [
              "success",
              "failure",
              "denied",
              "error"
            ],
            "readOnly": true,
            "type": "string"
          },
          "path_template": {
            "description": "Yol şablonu (ör. `PATCH /Users/{id}`); gerçek kimlik yolda yazılmaz.",
            "readOnly": true,
            "type": "string"
          },
          "request_id": {
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "resource_id": {
            "description": "Etkilenen dizin kullanıcısı (`dsu_…`) ya da grubu (`dsg_…`).",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "resource_type": {
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "scim_type": {
            "description": "RFC 7644 bölüm 3.12 `scimType` (hata yanıtında).",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "SCIM yanıtının HTTP durumu.",
            "readOnly": true,
            "type": "integer"
          },
          "token_id": {
            "description": "İsteği doğrulayan dizin token'ının kimliği (`dst_…`); token değeri değil.",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "trace_id": {
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "occurred_at",
          "outcome",
          "organization_id",
          "token_id",
          "method",
          "path_template",
          "resource_type",
          "resource_id",
          "operation_summary",
          "ignored_attributes",
          "status",
          "scim_type",
          "duration_ms",
          "client_ip_prefix",
          "client_class",
          "held",
          "request_id",
          "trace_id"
        ],
        "type": "object"
      },
      "DirectoryProvisioningLogList": {
        "additionalProperties": false,
        "description": "Provizyon günlüğünün imleçli listesi (yeniden eskiye); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/DirectoryProvisioningLog"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "DirectoryRoleMapping": {
        "additionalProperties": false,
        "description": "SCIM dizini grubunun rol eşlemesi.",
        "properties": {
          "approved_at": {
            "description": "Onay anı; null ise ayrıcalıklı rol verilmez.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "directory_group_id": {
            "description": "Eşlenen dizin grubu.",
            "pattern": "^dsg_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "directory_id": {
            "pattern": "^dir_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik (`rmp_…`).",
            "pattern": "^rmp_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "organization_id": {
            "description": "Dizinin sahibi org.",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "role_id": {
            "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "role_privileged": {
            "description": "Rolün güncel ayrıcalık bayrağı.",
            "readOnly": true,
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "directory_id",
          "organization_id",
          "directory_group_id",
          "role_id",
          "role_privileged",
          "approved_at",
          "created_at"
        ],
        "type": "object"
      },
      "DirectoryRoleMappingCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/directories/{directory_id}/role-mappings` gövdesi.",
        "properties": {
          "directory_group_id": {
            "pattern": "^dsg_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "role_id": {
            "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          }
        },
        "required": [
          "directory_group_id",
          "role_id"
        ],
        "type": "object"
      },
      "DirectoryRoleMappingList": {
        "additionalProperties": false,
        "description": "Dizin eşlemelerinin imleçli listesi (eskiden yeniye); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/DirectoryRoleMapping"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "DirectorySimulation": {
        "additionalProperties": false,
        "description": "Bir simülasyon çalıştırmasının sonucu: yalnız sayılar ve durum; kullanıcı, SCIM kimliği ya da token yok.",
        "properties": {
          "circuit_breaker_tripped": {
            "description": "Çalıştırma sırasında toplu pasifleştirme bekletmesi açıldı.",
            "readOnly": true,
            "type": "boolean"
          },
          "completed_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "conflicts": {
            "description": "Beklenen `409 uniqueness` yanıtları (`conflict_email`).",
            "format": "int32",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "deprovision_hold": {
            "additionalProperties": false,
            "description": "Çalıştırmadan sonra dizinin açık bekletmesi; yoksa null.",
            "properties": {
              "id": {
                "description": "Açık bekletmenin kimliği (`…/deprovision-holds/{hold_id}:approve` | `:reject`).",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                "type": "string"
              },
              "pending_count": {
                "format": "int32",
                "minimum": 0,
                "type": "integer"
              }
            },
            "readOnly": true,
            "required": [
              "id",
              "pending_count"
            ],
            "type": [
              "object",
              "null"
            ]
          },
          "directory_id": {
            "pattern": "^dir_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "failure": {
            "additionalProperties": false,
            "description": "`failed`'da neden; `completed`'da null.",
            "properties": {
              "reason": {
                "enum": [
                  "scim_error",
                  "timeout",
                  "unexpected_response"
                ],
                "type": "string",
                "x-idp-open-enum": true
              },
              "scim_status": {
                "description": "`scim_error`'da SCIM yanıtının HTTP durumu; diğerlerinde null.",
                "format": "int32",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "scim_type": {
                "description": "`scim_error`'da SCIM `scimType` (ör. `uniqueness`); yoksa null.",
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "readOnly": true,
            "required": [
              "reason",
              "scim_status",
              "scim_type"
            ],
            "type": [
              "object",
              "null"
            ]
          },
          "groups_created": {
            "format": "int32",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "groups_updated": {
            "format": "int32",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "scenario": {
            "enum": [
              "seed",
              "bulk_deactivate",
              "group_churn",
              "attribute_update",
              "conflict_email"
            ],
            "readOnly": true,
            "type": "string"
          },
          "started_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "status": {
            "description": "`completed` ya da `failed` (SCIM hata yanıtı, süre aşımı ya da senaryonun beklemediği yanıt).",
            "enum": [
              "completed",
              "failed"
            ],
            "readOnly": true,
            "type": "string"
          },
          "users_created": {
            "format": "int32",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "users_deactivated": {
            "description": "Ucun kabul ettiği `active=false` PATCH'leri (kesicinin beklettikleri dahil).",
            "format": "int32",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "users_updated": {
            "description": "Pasifleştirme dışındaki kullanıcı PATCH'leri.",
            "format": "int32",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          }
        },
        "required": [
          "directory_id",
          "scenario",
          "status",
          "users_created",
          "groups_created",
          "users_updated",
          "groups_updated",
          "users_deactivated",
          "conflicts",
          "circuit_breaker_tripped",
          "deprovision_hold",
          "failure",
          "started_at",
          "completed_at"
        ],
        "type": "object"
      },
      "DirectorySimulationRequest": {
        "additionalProperties": false,
        "description": "`:simulate` gövdesi.",
        "properties": {
          "scenario": {
            "description": "Çalıştırılacak senaryo.",
            "enum": [
              "seed",
              "bulk_deactivate",
              "group_churn",
              "attribute_update",
              "conflict_email"
            ],
            "type": "string"
          }
        },
        "required": [
          "scenario"
        ],
        "type": "object"
      },
      "DirectoryStateChangeRequest": {
        "additionalProperties": false,
        "description": "`:activate` ve `:deactivate` isteğe bağlı gövdesi; alan yoktur.",
        "type": "object"
      },
      "DirectoryToken": {
        "additionalProperties": false,
        "description": "SCIM token'ının üst verisi: değer, özet ve kullanım IP'si yok.",
        "properties": {
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "expires_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "description": "Token kimliği.",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
            "readOnly": true,
            "type": "string"
          },
          "label": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "last_used_at": {
            "description": "Token'ın son kullanıldığı an; kullanılmadıysa null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "revoked_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "label",
          "created_at",
          "expires_at",
          "revoked_at",
          "last_used_at"
        ],
        "type": "object"
      },
      "DirectoryTokenCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/directories/{directory_id}/tokens` gövdesi; bütün alanlar isteğe bağlıdır.",
        "properties": {
          "expires_in_days": {
            "description": "Geçerlilik süresi (gün); verilmezse 365.",
            "format": "int32",
            "maximum": 730,
            "minimum": 30,
            "type": "integer"
          },
          "label": {
            "description": "Varsayılan `Token`.",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "DirectoryTokenCreated": {
        "additionalProperties": false,
        "description": "Oluşturulan token (`DirectoryToken` alanları) ve tek seferlik değeri; tekrar oynatılan yanıtta `token` yoktur ve `secret_redacted: true` döner.",
        "properties": {
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "expires_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "description": "Token kimliği.",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
            "readOnly": true,
            "type": "string"
          },
          "label": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "last_used_at": {
            "description": "Token'ın son kullanıldığı an; kullanılmadıysa null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "revoked_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "secret_redacted": {
            "description": "Tekrar oynatılan yanıtta `true`: `token` artık döndürülmez.",
            "readOnly": true,
            "type": "boolean"
          },
          "token": {
            "description": "SCIM taşıyıcı token'ı (`idp_scim_…`): yalnız bu yanıtta, bir kez döner ve saklanmaz.",
            "readOnly": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "label",
          "created_at",
          "expires_at",
          "revoked_at",
          "last_used_at"
        ],
        "type": "object"
      },
      "DirectoryTokenList": {
        "additionalProperties": false,
        "description": "Token üst verisinin imleçli listesi (yeniden eskiye); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/DirectoryToken"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "DirectoryUpdateRequest": {
        "additionalProperties": false,
        "description": "`PATCH /v1/directories/{directory_id}` birleştirme yaması (RFC 7396). Verilen alanlar değişir; `null` hiçbir alanda kabul edilmez (`422`). `mass_deprovision_guard` kısmen verilebilir; verilmeyen alt alanlar korunur. `attribute_allowlist` bütünüyle değişir.",
        "minProperties": 1,
        "properties": {
          "attribute_allowlist": {
            "description": "Listeden çıkarılan öznitelik dizinin bütün kullanıcı kayıtlarından aynı işlemde silinir.",
            "items": {
              "enum": [
                "title",
                "usertype",
                "phonenumbers",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:employeenumber",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:department",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:division",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:costcenter",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:organization",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:manager"
              ],
              "type": "string"
            },
            "maxItems": 40,
            "type": "array",
            "uniqueItems": true
          },
          "delete_action": {
            "enum": [
              "remove_membership",
              "delete_user"
            ],
            "type": "string"
          },
          "mass_deprovision_guard": {
            "additionalProperties": false,
            "properties": {
              "absolute_min": {
                "format": "int32",
                "maximum": 1000,
                "minimum": 10,
                "type": "integer"
              },
              "enabled": {
                "type": "boolean"
              },
              "percent": {
                "format": "int32",
                "maximum": 50,
                "minimum": 5,
                "type": "integer"
              }
            },
            "type": "object"
          },
          "name": {
            "description": "1-64 karakter; denetim karakteri yok, başta ve sonda boşluk yok.",
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          },
          "on_delete_memberships": {
            "enum": [
              "keep",
              "suspend",
              "remove"
            ],
            "type": "string"
          },
          "provisioning_mode": {
            "description": "Dizinde silinmemiş kullanıcı kaydı varken değiştirilemez (`409`).",
            "enum": [
              "user_store",
              "mirror"
            ],
            "type": "string"
          },
          "send_welcome_email": {
            "type": "boolean"
          },
          "unverified_domain_action": {
            "enum": [
              "invite",
              "mirror_only"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "DirectoryUser": {
        "additionalProperties": false,
        "description": "IdP'nin sağladığı normalize dizin kullanıcısı. Boş değerler `null` döner. Kimlik bilgisi `users:read_pii` iznini taşımıyorsa kişisel veri alanları maskeli, `attributes` `null` döner.",
        "properties": {
          "attributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Eşlenmiş isteğe bağlı ve özel öznitelikler (ad → değer). Kimlik bilgisi `users:read_pii` iznini taşımıyorsa `null`.",
            "maxProperties": 64,
            "readOnly": true,
            "type": [
              "object",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "directory_id": {
            "pattern": "^dir_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "display_name": {
            "description": "İzin yoksa baş harfler.",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "drift": {
            "description": "Ortam kullanıcısı dizin dışında değiştiyse true.",
            "readOnly": true,
            "type": "boolean"
          },
          "emails": {
            "description": "Dizinde saklanan iş e-postası (en çok bir, birincil); izin yoksa maskeli.",
            "items": {
              "additionalProperties": false,
              "properties": {
                "primary": {
                  "type": "boolean"
                },
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value",
                "primary"
              ],
              "type": "object"
            },
            "maxItems": 1,
            "readOnly": true,
            "type": "array"
          },
          "external_id": {
            "description": "IdP'nin kullanıcı dış kimliği (`externalId`); yoksa null. Maskelenmez.",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "family_name": {
            "description": "İzin yoksa baş harfler.",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "given_name": {
            "description": "İzin yoksa baş harfler.",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "groups": {
            "description": "Kullanıcının dizin grupları.",
            "items": {
              "additionalProperties": false,
              "properties": {
                "id": {
                  "pattern": "^dsg_[0-7][0-9a-hjkmnp-tv-z]{25}$",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "name"
              ],
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "id": {
            "description": "Önekli dış kimlik (`dsu_…`).",
            "pattern": "^dsu_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "link_status": {
            "description": "Ortam kullanıcısıyla bağ durumu.",
            "enum": [
              "linked",
              "invited",
              "blocked_other_org",
              "duplicate",
              "mirror_only",
              "unlinked"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "locale": {
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "description": "`active`, `inactive` (IdP `active=false`) ya da `held` (toplu pasifleştirme bekletmesinde).",
            "enum": [
              "active",
              "inactive",
              "held"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "updated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "user_id": {
            "description": "Bağlı ortam kullanıcısı (`usr_…`); bağ yoksa null.",
            "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "user_name": {
            "description": "SCIM `userName`; izin yoksa ilk karakter ve `***`.",
            "readOnly": true,
            "type": "string"
          },
          "zoneinfo": {
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "directory_id",
          "external_id",
          "user_name",
          "emails",
          "given_name",
          "family_name",
          "display_name",
          "locale",
          "zoneinfo",
          "state",
          "attributes",
          "groups",
          "user_id",
          "link_status",
          "drift",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "DirectoryUserList": {
        "additionalProperties": false,
        "description": "Dizin kullanıcılarının imleçli listesi (kimlik sırasıyla); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/DirectoryUser"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "EffectivePermission": {
        "additionalProperties": false,
        "description": "Bir etkin izin ve onu veren roller.",
        "properties": {
          "api_id": {
            "pattern": "^api_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "permission_id": {
            "pattern": "^perm_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "role_ids": {
            "items": {
              "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          },
          "value": {
            "description": "İzin değeri (`<kaynak>:<eylem>`; access token `permissions` claim'indeki değer).",
            "type": "string"
          }
        },
        "required": [
          "permission_id",
          "api_id",
          "value",
          "role_ids"
        ],
        "type": "object"
      },
      "EffectivePermissionList": {
        "additionalProperties": false,
        "description": "`GET /v1/users/{user_id}/effective-permissions` yanıtı; sayfalanmaz.",
        "properties": {
          "permissions": {
            "items": {
              "$ref": "#/components/schemas/EffectivePermission"
            },
            "type": "array"
          }
        },
        "required": [
          "permissions"
        ],
        "type": "object"
      },
      "EmailProvider": {
        "additionalProperties": false,
        "description": "Ortamın saklı yapılandırması; kimlik bilgisi içermez.",
        "properties": {
          "credentials_set": {
            "description": "Saklı bir kimlik bilgisi var mı; sırrın kendisi, maskesi ve uzunluğu hiçbir zaman dönmez.",
            "type": "boolean"
          },
          "from_address": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_test_at": {
            "description": "Son bağlantı testinin zamanı; yapılandırma değişince null olur.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "last_test_result": {
            "description": "Son bağlantı testinin sonucu: `ok` ya da sabit hata kodu.",
            "pattern": "^[a-z0-9_]{1,64}$",
            "type": [
              "string",
              "null"
            ]
          },
          "mode": {
            "enum": [
              "platform_default",
              "platform_managed_domain",
              "customer_smtp",
              "customer_api",
              "customer_webhook"
            ],
            "type": "string"
          },
          "provider": {
            "enum": [
              "ses",
              "sendgrid",
              "postmark",
              "mailgun",
              "brevo",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "reply_to": {
            "type": [
              "string",
              "null"
            ]
          },
          "sender_domain_id": {
            "description": "`platform_managed_domain`'in gönderici alanı (`sdom_…`); diğer kiplerde null. Alanın güncel durumu `GET /v1/email-sender-domains/{sender_domain_id}` ile okunur.",
            "pattern": "^sdom_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "smtp_host": {
            "type": [
              "string",
              "null"
            ]
          },
          "smtp_port": {
            "type": [
              "integer",
              "null"
            ]
          },
          "smtp_username": {
            "type": [
              "string",
              "null"
            ]
          },
          "updated_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "version": {
            "description": "Yapılandırmanın sürümü (ETag ile aynı); 0 = satır yok.",
            "minimum": 0,
            "type": "integer"
          },
          "webhook_endpoint_id": {
            "description": "`customer_webhook`'un teslim ucu (`whe_…`); diğer kiplerde null. Ucun güncel durumu `GET /v1/webhook-endpoints/{id}` ile okunur.",
            "pattern": "^whe_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "mode",
          "sender_domain_id",
          "webhook_endpoint_id",
          "from_address",
          "reply_to",
          "provider",
          "smtp_host",
          "smtp_port",
          "smtp_username",
          "credentials_set",
          "last_test_at",
          "last_test_result",
          "version",
          "updated_at"
        ],
        "type": "object"
      },
      "EmailProviderInput": {
        "additionalProperties": false,
        "description": "Yazılan yapılandırma; kipin almadığı alan verilmez (null ile yok aynıdır).",
        "properties": {
          "credentials": {
            "description": "Yalnız yazılır; hiçbir yanıtta yankılanmaz, loglanmaz. `customer_smtp`'de SMTP parolası; `customer_api`'de anahtar:\n`ses` için `<bölge>:<erişim anahtarı kimliği>:<gizli erişim anahtarı>`, `sendgrid` ve `mailgun` için anahtar (AB\nucu için `eu:<anahtar>`), `postmark` (sunucu belirteci) ve `brevo` için anahtar. Verilmezse saklı sır yalnız aynı\nkip ve hedefte korunur.",
            "maxLength": 1024,
            "minLength": 1,
            "type": [
              "string",
              "null"
            ],
            "writeOnly": true
          },
          "from_address": {
            "description": "Yalın gönderen adresi (`ad@alan`); müşteri kiplerinde zorunlu, `platform_managed_domain`'de zorunlu ve tam olarak gönderici alanında (alt alanı değil), `platform_default`'ta verilmez.",
            "maxLength": 254,
            "type": [
              "string",
              "null"
            ]
          },
          "mode": {
            "enum": [
              "platform_default",
              "platform_managed_domain",
              "customer_smtp",
              "customer_api",
              "customer_webhook"
            ],
            "type": "string"
          },
          "provider": {
            "description": "`customer_api`'de zorunlu.",
            "enum": [
              "ses",
              "sendgrid",
              "postmark",
              "mailgun",
              "brevo",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "reply_to": {
            "description": "Yalın yanıt adresi; her kipte isteğe bağlı.",
            "maxLength": 254,
            "type": [
              "string",
              "null"
            ]
          },
          "sender_domain_id": {
            "description": "`platform_managed_domain`'de zorunlu: bu ortamın `verified` gönderici alanı (`sdom_…`, `/v1/email-sender-domains`); diğer kiplerde verilmez.",
            "pattern": "^sdom_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "smtp_host": {
            "description": "`customer_smtp`'de zorunlu; en az iki etiketli DNS adı (IP değişmezi değil).",
            "maxLength": 253,
            "type": [
              "string",
              "null"
            ]
          },
          "smtp_port": {
            "description": "`customer_smtp`'de zorunlu: 465 (örtük TLS) ya da 587 (zorunlu STARTTLS).",
            "enum": [
              465,
              587,
              null
            ],
            "type": [
              "integer",
              "null"
            ]
          },
          "smtp_username": {
            "description": "`customer_smtp`'de zorunlu SMTP AUTH kullanıcı adı (gizli değildir, yanıtlarda görünür).",
            "maxLength": 256,
            "type": [
              "string",
              "null"
            ]
          },
          "webhook_endpoint_id": {
            "description": "`customer_webhook`'ta zorunlu: bu ortamın etkin web kancası ucu (`whe_…`, `/v1/webhook-endpoints`); e-posta bu uca `email.send_requested` olayıyla teslim edilir. Diğer kiplerde verilmez.",
            "pattern": "^whe_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "mode"
        ],
        "type": "object"
      },
      "EmailProviderTestInput": {
        "additionalProperties": false,
        "description": "Boş nesne; test saklı yapılandırmayla yapılır.",
        "type": "object"
      },
      "EmailProviderTestResult": {
        "additionalProperties": false,
        "properties": {
          "result": {
            "description": "`ok` ya da sabit hata kodu (sunucu metni yok).",
            "pattern": "^[a-z0-9_]{1,64}$",
            "type": "string"
          },
          "tested_at": {
            "format": "date-time",
            "type": "string"
          },
          "version": {
            "description": "Test edilen yapılandırmanın sürümü (ETag değişmez).",
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "result",
          "tested_at",
          "version"
        ],
        "type": "object"
      },
      "EmailSenderDomain": {
        "additionalProperties": false,
        "description": "Ortamın doğrulanmış gönderici alanı.",
        "properties": {
          "active_selector": {
            "description": "İmzada kullanılan DKIM seçicisi.",
            "enum": [
              "akp1",
              "akp2"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "degraded_since": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "dkim_status": {
            "description": "İki DKIM CNAME'inin kötü olanının son denetim sonucu; hiç denetlenmediyse null.",
            "enum": [
              "ok",
              "missing",
              "wrong_target",
              "lookup_failed",
              null
            ],
            "type": [
              "string",
              "null"
            ],
            "x-idp-open-enum": true
          },
          "dmarc_alignment": {
            "description": "Son denetimin DMARC hizası (zorunlu değil); hiç denetlenmediyse null.",
            "enum": [
              "aligned",
              "not_aligned",
              "no_record",
              "invalid_record",
              "lookup_failed",
              null
            ],
            "type": [
              "string",
              "null"
            ],
            "x-idp-open-enum": true
          },
          "domain": {
            "description": "IDNA 2008 A-etiketi biçiminde, küçük harf, sonda nokta olmadan.",
            "maxLength": 253,
            "type": "string"
          },
          "failing_since": {
            "description": "`verified` alanın ilk başarısız denetimi; 72 saat sürerse alan `degraded` olur. Yoksa null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "Önekli dış kimlik (`sdom_…`).",
            "pattern": "^sdom_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "last_checked_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "records": {
            "description": "Müşterinin DNS'ine girilecek kayıtlar: iki DKIM CNAME'i ve dönüş yolu CNAME'i (zorunlu); son denetimde `_dmarc` kaydı yoksa DMARC önerisi (zorunlu değil).",
            "items": {
              "$ref": "#/components/schemas/EmailSenderDomainRecord"
            },
            "type": "array"
          },
          "return_path_status": {
            "description": "Dönüş yolu CNAME'inin son denetim sonucu; hiç denetlenmediyse null.",
            "enum": [
              "ok",
              "missing",
              "wrong_target",
              "lookup_failed",
              null
            ],
            "type": [
              "string",
              "null"
            ],
            "x-idp-open-enum": true
          },
          "status": {
            "description": "`pending_dns` DNS kayıtları bekleniyor; `verified` gönderime hazır; `degraded` kayıtlar 72 saattir bozuk, ortam platform gönderimine düştü; `disabled` platform tarafından devre dışı.",
            "enum": [
              "pending_dns",
              "verified",
              "degraded",
              "disabled"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "updated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "version": {
            "description": "Alanın sürümü (ETag ile aynı); her yazımda ve denetimde artar.",
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "domain",
          "status",
          "active_selector",
          "dkim_status",
          "return_path_status",
          "dmarc_alignment",
          "last_checked_at",
          "failing_since",
          "degraded_since",
          "records",
          "version",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "EmailSenderDomainCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/email-sender-domains` gövdesi.",
        "properties": {
          "domain": {
            "description": "Eklenecek alan ya da alt alan (Unicode olabilir; IDNA 2008 ile A-etiketine çevrilir).",
            "maxLength": 253,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "EmailSenderDomainList": {
        "additionalProperties": false,
        "description": "Ortamın gönderici alanlarının tam listesi (en çok 10; sayfalanmaz, imleç alanları her zaman null).",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/EmailSenderDomain"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "EmailSenderDomainRecord": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "Kaydın tam adı (ör. `akp1._domainkey.acme.com`).",
            "type": "string"
          },
          "required": {
            "description": "Doğrulama için zorunlu mu: DKIM ve dönüş yolu CNAME'leri `true`, DMARC önerisi `false`.",
            "type": "boolean"
          },
          "type": {
            "enum": [
              "CNAME",
              "TXT"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "value": {
            "description": "CNAME hedefi (ör. `akp1.sdom_….dkim.eu.keenauth.app`) ya da TXT metni.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "name",
          "value",
          "required"
        ],
        "type": "object"
      },
      "EmailTemplate": {
        "additionalProperties": false,
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "family": {
            "type": "string"
          },
          "from_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "html": {
            "type": "string"
          },
          "latest_version": {
            "description": "Yuvanın en yeni sürümü (ETag ile aynı).",
            "minimum": 1,
            "type": "integer"
          },
          "locale": {
            "type": "string"
          },
          "published_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "published_version": {
            "description": "Yuvanın yayındaki sürümü.",
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "source_version": {
            "description": "Geri almada kopyalanan sürüm.",
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "status": {
            "enum": [
              "draft",
              "published",
              "archived"
            ],
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "text_body": {
            "type": "string"
          },
          "version": {
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "family",
          "locale",
          "version",
          "status",
          "subject",
          "html",
          "text_body",
          "from_name",
          "source_version",
          "created_at",
          "published_at",
          "latest_version",
          "published_version"
        ],
        "type": "object"
      },
      "EmailTemplateFamily": {
        "additionalProperties": false,
        "properties": {
          "available": {
            "description": "false: ailenin bu sürümde sistem şablonu yoktur; taslak yazılamaz.",
            "type": "boolean"
          },
          "family": {
            "description": "Aile adı (ör. `verify_email`, `new_device_sign_in`).",
            "type": "string"
          },
          "locales": {
            "items": {
              "$ref": "#/components/schemas/EmailTemplateLocale"
            },
            "type": "array"
          },
          "requires": {
            "description": "İletinin hem HTML'de hem düz metinde göstermesi gereken platform değeri.",
            "enum": [
              "code",
              "link",
              "code_or_link",
              "none"
            ],
            "type": "string"
          },
          "security": {
            "description": "Güvenlik ailesi: sunucu zorunlu güvenlik bloğunu ekler, şablon onu kaldıramaz.",
            "type": "boolean"
          },
          "variables": {
            "description": "Şablonda kullanılabilen Liquid değişkenleri (noktalı adlar).",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "family",
          "security",
          "requires",
          "available",
          "variables",
          "locales"
        ],
        "type": "object"
      },
      "EmailTemplateFamilyList": {
        "additionalProperties": false,
        "description": "Özelleştirilebilir ailelerin tam listesi (sayfalanmaz; imleç alanları her zaman null).",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/EmailTemplateFamily"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "EmailTemplateInput": {
        "additionalProperties": false,
        "properties": {
          "from_name": {
            "description": "Gönderen görünen adı; boş ya da yoksa uygulama ya da ortam adı. Satır sonu içermez.",
            "maxLength": 64,
            "type": "string"
          },
          "html": {
            "description": "Liquid HTML parçası; en çok 256 KiB.",
            "minLength": 1,
            "type": "string"
          },
          "subject": {
            "description": "Liquid (düz metin); satır sonu içermez.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "text_body": {
            "description": "Liquid düz metin gövdesi; zorunlu, en çok 64 KiB.",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "subject",
          "html",
          "text_body"
        ],
        "type": "object"
      },
      "EmailTemplateLocale": {
        "additionalProperties": false,
        "properties": {
          "latest_version": {
            "minimum": 1,
            "type": "integer"
          },
          "locale": {
            "type": "string"
          },
          "published_version": {
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "locale",
          "latest_version",
          "published_version"
        ],
        "type": "object"
      },
      "EmailTemplatePreview": {
        "additionalProperties": false,
        "description": "Çerçevelenmiş örnek ileti (örnek verilerle).",
        "properties": {
          "html": {
            "description": "Tam HTML belgesi (platform düzeni, zorunlu blok ve platform işareti dahil).",
            "type": "string"
          },
          "locale": {
            "description": "Zorunlu parçaların çizildiği katalog dili.",
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "subject",
          "html",
          "text",
          "locale"
        ],
        "type": "object"
      },
      "EmailTemplatePreviewInput": {
        "additionalProperties": false,
        "description": "Ya `version` (kayıtlı sürüm) ya da içerik alanları (`EmailTemplateInput` ile aynı); ikisi birlikte verilemez.",
        "properties": {
          "from_name": {
            "maxLength": 64,
            "type": "string"
          },
          "html": {
            "type": "string"
          },
          "subject": {
            "maxLength": 200,
            "type": "string"
          },
          "text_body": {
            "type": "string"
          },
          "version": {
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "EmailTemplateTestSend": {
        "additionalProperties": false,
        "description": "Kuyruğa yazılan deneme iletisi; gönderimi gönderici döngüsü yapar.",
        "properties": {
          "accepted_at": {
            "format": "date-time",
            "type": "string"
          },
          "message_id": {
            "description": "İleti kimliği.",
            "format": "uuid",
            "type": "string"
          },
          "state": {
            "description": "`queued` ya da `suppressed`; aynı `Idempotency-Key` ile tekrarda ilk iletinin güncel durumu.",
            "enum": [
              "queued",
              "suppressed",
              "sent",
              "failed",
              "expired"
            ],
            "type": "string"
          },
          "version": {
            "description": "Gönderilen sürüm.",
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "message_id",
          "state",
          "version",
          "accepted_at"
        ],
        "type": "object"
      },
      "EmailTemplateTestSendInput": {
        "additionalProperties": false,
        "description": "Deneme gönderimi. `version` ve `published` birlikte verilemez; ikisi de yoksa yuvanın en yeni sürümü gönderilir.",
        "properties": {
          "published": {
            "description": "true ise yayındaki sürüm gönderilir; yuvada yayın yoksa `404`.",
            "type": "boolean"
          },
          "to": {
            "description": "Alıcı: hesabın `active` pano üyelerinden birinin doğrulanmış adresi (görünen ad olmadan; büyük-küçük harf ve baştaki/sondaki boşluk yok sayılır).",
            "format": "email",
            "maxLength": 254,
            "minLength": 3,
            "type": "string"
          },
          "version": {
            "description": "Gönderilecek kayıtlı sürüm.",
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "to"
        ],
        "type": "object"
      },
      "EmailTemplateVersion": {
        "additionalProperties": false,
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "published_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "source_version": {
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "status": {
            "enum": [
              "draft",
              "published",
              "archived"
            ],
            "type": "string"
          },
          "version": {
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "version",
          "status",
          "source_version",
          "created_at",
          "published_at"
        ],
        "type": "object"
      },
      "EmailTemplateVersionInput": {
        "additionalProperties": false,
        "properties": {
          "version": {
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "version"
        ],
        "type": "object"
      },
      "EmailTemplateVersionList": {
        "additionalProperties": false,
        "description": "Yuvanın sürümleri yeniden eskiye (sayfalanmaz; imleç alanları her zaman null).",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/EmailTemplateVersion"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "Environment": {
        "description": "Çağıranın ortamı. Bu sürümde yok: görünen ad, oluşturulma anı, varsayılan host (`<slug>.<bölge>.keenauth.app`) ve özel alan adları (`/v1/custom-domains`); eklenmeleri geriye uyumludur.",
        "properties": {
          "cell_id": {
            "description": "Hücre kimliği.",
            "pattern": "^(eu|us|ap)(0|[1-9][0-9]{0,2})$",
            "type": "string"
          },
          "id": {
            "description": "Ortam kimliği (TypeID).",
            "pattern": "^env_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "plan": {
            "description": "Hesabın plan katmanı. Anlık görüntü henüz hücreye ulaşmadıysa `null`; istemci plan varsaymaz.",
            "enum": [
              "free",
              "startup",
              "business",
              "enterprise",
              "internal",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "region": {
            "description": "Veri bölgesi; yönetim API'si host'u `api.<region>.keenauth.com`.",
            "enum": [
              "eu",
              "us",
              "ap"
            ],
            "type": "string"
          },
          "state": {
            "description": "Ortam durumu.",
            "enum": [
              "active",
              "suspended_dashboard",
              "suspended_nonprod",
              "export_only",
              "deleting"
            ],
            "type": "string"
          },
          "type": {
            "description": "Ortam türü; oluşturulduktan sonra değişmez.",
            "enum": [
              "development",
              "staging",
              "production"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "region",
          "cell_id",
          "state",
          "plan"
        ],
        "type": "object"
      },
      "EnvironmentSettings": {
        "description": "Ortamın dil, oturum, kayıt, güvenlik bildirimi, hesap kurtarma, MFA, Front-Channel Logout ve birinci faktör ayarları (ortam başına tekil kaynak; saldırı koruması ayrı kaynaktır). Sürüm gövdede değil `ETag` başlığındadır; ayar hiç yazılmadıysa tablo varsayılanları ve `ETag: \"0\"`.",
        "properties": {
          "account_recovery": {
            "description": "Hesap kurtarma.",
            "properties": {
              "mode": {
                "description": "Kurtarma kipi (varsayılan `self_service_waiting`).",
                "enum": [
                  "self_service_waiting",
                  "admin_only",
                  "disabled"
                ],
                "type": "string"
              },
              "support_url": {
                "description": "`disabled` kipte ekranın gösterdiği destek bağlantısı: boş ya da `https://` adresi (kullanıcı bilgisi ve parça yok).",
                "maxLength": 2048,
                "type": "string"
              },
              "waiting_hours": {
                "description": "`self_service_waiting` kipinde bekleme süresi, saat (varsayılan 72); diğer kiplerde de saklanır.",
                "maximum": 168,
                "minimum": 24,
                "type": "integer"
              }
            },
            "required": [
              "mode",
              "waiting_hours",
              "support_url"
            ],
            "type": "object"
          },
          "allowed_first_factors": {
            "description": "Ortamda izin verilen birinci faktörler; katalog sırasında döner. Varsayılan `password`, `passkey`, `social`, `enterprise`: `email_otp`, `magic_link` ve `sms_otp` açıkça eklenmelidir. Uygulama ve organizasyon politikası bu kümeyi yalnız daraltır (kesişim). Boş küme `422 required`, yinelenen öğe `422 duplicate`, bilinmeyen değer `422 unknown_value` (işaretçi öğeyi gösterir, örneğin `/allowed_first_factors/2`). Bir faktörü çıkarmak yeni girişlere hemen uygulanır.",
            "items": {
              "enum": [
                "password",
                "passkey",
                "email_otp",
                "magic_link",
                "sms_otp",
                "social",
                "enterprise"
              ],
              "type": "string"
            },
            "maxItems": 7,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "default_zoneinfo": {
            "description": "Varsayılan IANA saat dilimi.",
            "type": "string"
          },
          "frontchannel_logout_enabled": {
            "description": "Front-Channel Logout açık mı. Kapatmak kayıtlı URI'leri silmez.",
            "type": "boolean"
          },
          "locales": {
            "description": "Etkin diller.",
            "properties": {
              "default": {
                "description": "Varsayılan dil; `enabled` içinde olmalıdır.",
                "type": "string"
              },
              "enabled": {
                "description": "Etkin dil kodları (kayıtlı diller; en az bir, en çok 64, tekrarsız).",
                "items": {
                  "type": "string"
                },
                "maxItems": 64,
                "minItems": 1,
                "type": "array",
                "uniqueItems": true
              }
            },
            "required": [
              "enabled",
              "default"
            ],
            "type": "object"
          },
          "mfa": {
            "description": "Çok faktörlü kimlik doğrulama.",
            "properties": {
              "email_second_factor_acr": {
                "description": "E-posta ikinci faktörünün sayıldığı güvence düzeyi (varsayılan `1fa`); kapalıyken de saklanır.",
                "enum": [
                  "1fa",
                  "mfa"
                ],
                "type": "string"
              },
              "email_second_factor_enabled": {
                "description": "E-posta ikinci faktörü açık mı (varsayılan kapalı).",
                "type": "boolean"
              },
              "enrollment_grace_days": {
                "description": "MFA zorunluyken faktörü olmayan kullanıcının kayıt zorunluluğunun ilk gösterildiği andan itibaren kayıtsız girebileceği gün sayısı. Süre yalnız ortam ve organizasyon ekseninin gereğini erteler; uygulamanın `min_acr` değerini ve istekteki `acr_values` düzeyini ertelemez. Aralık dışı değer `422 validation_failed` ve `out_of_range` döner.",
                "maximum": 14,
                "minimum": 0,
                "type": "integer"
              },
              "min_acr": {
                "description": "Ortamdaki girişlerin ulaşması gereken en düşük güvence. Uygulama, organizasyon ve istek eşikleriyle en yükseği alınır.",
                "enum": [
                  "1fa",
                  "mfa",
                  "phr"
                ],
                "type": "string"
              },
              "recovery_code_count": {
                "description": "Üretilen kurtarma kodu sayısı (varsayılan 10).",
                "maximum": 16,
                "minimum": 8,
                "type": "integer"
              },
              "recovery_codes_enabled": {
                "description": "Kurtarma kodları açık mı (varsayılan açık).",
                "type": "boolean"
              },
              "required": {
                "description": "Ortamdaki her girişte ikinci faktör zorunlu mu. Uygulama, organizasyon ve istek eksenleriyle VEYA'lanır; mevcut SSO oturumu da bu eşiğe göre adım yükseltir.",
                "type": "boolean"
              },
              "totp_issuer_label": {
                "description": "TOTP otpauth `issuer` etiketi; boş = ortamın görünen adı. Denetim ve biçim karakteri, `:` ve baş/son boşluk içeremez.",
                "maxLength": 64,
                "type": "string"
              }
            },
            "required": [
              "email_second_factor_enabled",
              "email_second_factor_acr",
              "totp_issuer_label",
              "recovery_codes_enabled",
              "recovery_code_count",
              "required",
              "min_acr",
              "enrollment_grace_days"
            ],
            "type": "object"
          },
          "security_notifications": {
            "description": "Güvenlik bildirimleri.",
            "properties": {
              "enabled": {
                "description": "Ana anahtar (varsayılan açık).",
                "type": "boolean"
              },
              "events": {
                "description": "Bildirim gönderilecek olaylar (kapalı kümeden alt küme; kanonik sırada). Boş liste hiçbir olay demektir.",
                "items": {
                  "enum": [
                    "password_changed",
                    "password_reset",
                    "email_changed",
                    "phone_changed",
                    "authenticator_added",
                    "authenticator_removed",
                    "recovery_code_used",
                    "recovery_codes_regenerated",
                    "account_locked",
                    "breached_password_detected",
                    "new_device_sign_in",
                    "account_recovery_started"
                  ],
                  "type": "string"
                },
                "maxItems": 12,
                "type": "array",
                "uniqueItems": true
              }
            },
            "required": [
              "enabled",
              "events"
            ],
            "type": "object"
          },
          "session": {
            "description": "Oturum politikası.",
            "properties": {
              "absolute_timeout_s": {
                "description": "Mutlak oturum süresi, saniye (varsayılan 2592000 = 30 gün).",
                "maximum": 31536000,
                "minimum": 60,
                "type": "integer"
              },
              "anomaly_action": {
                "description": "Oturum anomalisinde: `enforce` oturumu keser (varsayılan), `log` yalnız kaydeder.",
                "enum": [
                  "enforce",
                  "log"
                ],
                "type": "string"
              },
              "concurrent_mode": {
                "description": "Sınır aşılınca: `evict_oldest` en eski oturumu kapatır (varsayılan), `deny_new` yeni girişi reddeder.",
                "enum": [
                  "evict_oldest",
                  "deny_new"
                ],
                "type": "string"
              },
              "idle_timeout_s": {
                "description": "Boşta kalma süresi, saniye (varsayılan 259200 = 3 gün); `absolute_timeout_s`ten büyük olamaz.",
                "maximum": 8640000,
                "minimum": 60,
                "type": "integer"
              },
              "max_concurrent": {
                "description": "Kullanıcı başına eşzamanlı oturum sınırı; 0 sistem tavanı (varsayılan).",
                "maximum": 500,
                "minimum": 0,
                "type": "integer"
              }
            },
            "required": [
              "idle_timeout_s",
              "absolute_timeout_s",
              "max_concurrent",
              "concurrent_mode",
              "anomaly_action"
            ],
            "type": "object"
          },
          "signup": {
            "description": "Kayıt politikası.",
            "properties": {
              "email_domain_mode": {
                "description": "E-posta alan adı kısıtı: `off` (varsayılan), `allowlist` yalnız listedekiler, `denylist` listedekiler hariç.",
                "enum": [
                  "off",
                  "allowlist",
                  "denylist"
                ],
                "type": "string"
              },
              "email_domains": {
                "description": "Alan adları (en çok 1000; küçük harf, IDNA A-label, tekrarsız, sıralı). Kısıt `off` iken de saklanır.",
                "items": {
                  "type": "string"
                },
                "maxItems": 1000,
                "type": "array"
              },
              "mode": {
                "description": "Kayıt kipi (varsayılan `open`).",
                "enum": [
                  "open",
                  "invite_only",
                  "closed"
                ],
                "type": "string"
              }
            },
            "required": [
              "mode",
              "email_domain_mode",
              "email_domains"
            ],
            "type": "object"
          },
          "updated_at": {
            "description": "Son yazma zamanı; ayar hiç yazılmadıysa null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "locales",
          "default_zoneinfo",
          "session",
          "signup",
          "security_notifications",
          "account_recovery",
          "mfa",
          "frontchannel_logout_enabled",
          "allowed_first_factors",
          "updated_at"
        ],
        "type": "object"
      },
      "EnvironmentSettingsPatch": {
        "additionalProperties": false,
        "description": "`PATCH /v1/environment-settings` birleştirme yaması (RFC 7396; gruplar iç içe birleşir). `signup.email_domains` ve `security_notifications.events` için `null` listeyi temizler; öbür alanlar ve gruplar `null` olamaz.",
        "properties": {
          "account_recovery": {
            "additionalProperties": false,
            "description": "Hesap kurtarma.",
            "properties": {
              "mode": {
                "description": "Kurtarma kipi (varsayılan `self_service_waiting`).",
                "enum": [
                  "self_service_waiting",
                  "admin_only",
                  "disabled"
                ],
                "type": "string"
              },
              "support_url": {
                "description": "`disabled` kipte ekranın gösterdiği destek bağlantısı: boş ya da `https://` adresi (kullanıcı bilgisi ve parça yok).",
                "maxLength": 2048,
                "type": "string"
              },
              "waiting_hours": {
                "description": "`self_service_waiting` kipinde bekleme süresi, saat (varsayılan 72); diğer kiplerde de saklanır.",
                "maximum": 168,
                "minimum": 24,
                "type": "integer"
              }
            },
            "type": "object"
          },
          "allowed_first_factors": {
            "description": "Ortamda izin verilen birinci faktörler; katalog sırasında döner. Varsayılan `password`, `passkey`, `social`, `enterprise`: `email_otp`, `magic_link` ve `sms_otp` açıkça eklenmelidir. Uygulama ve organizasyon politikası bu kümeyi yalnız daraltır (kesişim). Boş küme `422 required`, yinelenen öğe `422 duplicate`, bilinmeyen değer `422 unknown_value` (işaretçi öğeyi gösterir, örneğin `/allowed_first_factors/2`). Bir faktörü çıkarmak yeni girişlere hemen uygulanır.",
            "items": {
              "enum": [
                "password",
                "passkey",
                "email_otp",
                "magic_link",
                "sms_otp",
                "social",
                "enterprise"
              ],
              "type": "string"
            },
            "maxItems": 7,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "default_zoneinfo": {
            "description": "Varsayılan IANA saat dilimi.",
            "type": "string"
          },
          "frontchannel_logout_enabled": {
            "description": "Front-Channel Logout açık mı. Kapatmak kayıtlı URI'leri silmez.",
            "type": "boolean"
          },
          "locales": {
            "additionalProperties": false,
            "description": "Etkin diller.",
            "properties": {
              "default": {
                "description": "Varsayılan dil; `enabled` içinde olmalıdır.",
                "type": "string"
              },
              "enabled": {
                "description": "Etkin dil kodları (kayıtlı diller; en az bir, en çok 64, tekrarsız).",
                "items": {
                  "type": "string"
                },
                "maxItems": 64,
                "minItems": 1,
                "type": "array",
                "uniqueItems": true
              }
            },
            "type": "object"
          },
          "mfa": {
            "additionalProperties": false,
            "description": "Çok faktörlü kimlik doğrulama.",
            "properties": {
              "email_second_factor_acr": {
                "description": "E-posta ikinci faktörünün sayıldığı güvence düzeyi (varsayılan `1fa`); kapalıyken de saklanır.",
                "enum": [
                  "1fa",
                  "mfa"
                ],
                "type": "string"
              },
              "email_second_factor_enabled": {
                "description": "E-posta ikinci faktörü açık mı (varsayılan kapalı).",
                "type": "boolean"
              },
              "enrollment_grace_days": {
                "description": "MFA zorunluyken faktörü olmayan kullanıcının kayıt zorunluluğunun ilk gösterildiği andan itibaren kayıtsız girebileceği gün sayısı. Süre yalnız ortam ve organizasyon ekseninin gereğini erteler; uygulamanın `min_acr` değerini ve istekteki `acr_values` düzeyini ertelemez. Aralık dışı değer `422 validation_failed` ve `out_of_range` döner.",
                "maximum": 14,
                "minimum": 0,
                "type": "integer"
              },
              "min_acr": {
                "description": "Ortamdaki girişlerin ulaşması gereken en düşük güvence. Uygulama, organizasyon ve istek eşikleriyle en yükseği alınır.",
                "enum": [
                  "1fa",
                  "mfa",
                  "phr"
                ],
                "type": "string"
              },
              "recovery_code_count": {
                "description": "Üretilen kurtarma kodu sayısı (varsayılan 10).",
                "maximum": 16,
                "minimum": 8,
                "type": "integer"
              },
              "recovery_codes_enabled": {
                "description": "Kurtarma kodları açık mı (varsayılan açık).",
                "type": "boolean"
              },
              "required": {
                "description": "Ortamdaki her girişte ikinci faktör zorunlu mu. Uygulama, organizasyon ve istek eksenleriyle VEYA'lanır; mevcut SSO oturumu da bu eşiğe göre adım yükseltir.",
                "type": "boolean"
              },
              "totp_issuer_label": {
                "description": "TOTP otpauth `issuer` etiketi; boş = ortamın görünen adı. Denetim ve biçim karakteri, `:` ve baş/son boşluk içeremez.",
                "maxLength": 64,
                "type": "string"
              }
            },
            "type": "object"
          },
          "security_notifications": {
            "additionalProperties": false,
            "description": "Güvenlik bildirimleri.",
            "properties": {
              "enabled": {
                "description": "Ana anahtar (varsayılan açık).",
                "type": "boolean"
              },
              "events": {
                "description": "Bildirim gönderilecek olaylar (kapalı kümeden alt küme; kanonik sırada). Boş liste hiçbir olay demektir. `null` listeyi temizler.",
                "items": {
                  "enum": [
                    "password_changed",
                    "password_reset",
                    "email_changed",
                    "phone_changed",
                    "authenticator_added",
                    "authenticator_removed",
                    "recovery_code_used",
                    "recovery_codes_regenerated",
                    "account_locked",
                    "breached_password_detected",
                    "new_device_sign_in",
                    "account_recovery_started"
                  ],
                  "type": "string"
                },
                "maxItems": 12,
                "type": [
                  "array",
                  "null"
                ],
                "uniqueItems": true
              }
            },
            "type": "object"
          },
          "session": {
            "additionalProperties": false,
            "description": "Oturum politikası.",
            "properties": {
              "absolute_timeout_s": {
                "description": "Mutlak oturum süresi, saniye (varsayılan 2592000 = 30 gün).",
                "maximum": 31536000,
                "minimum": 60,
                "type": "integer"
              },
              "anomaly_action": {
                "description": "Oturum anomalisinde: `enforce` oturumu keser (varsayılan), `log` yalnız kaydeder.",
                "enum": [
                  "enforce",
                  "log"
                ],
                "type": "string"
              },
              "concurrent_mode": {
                "description": "Sınır aşılınca: `evict_oldest` en eski oturumu kapatır (varsayılan), `deny_new` yeni girişi reddeder.",
                "enum": [
                  "evict_oldest",
                  "deny_new"
                ],
                "type": "string"
              },
              "idle_timeout_s": {
                "description": "Boşta kalma süresi, saniye (varsayılan 259200 = 3 gün); `absolute_timeout_s`ten büyük olamaz.",
                "maximum": 8640000,
                "minimum": 60,
                "type": "integer"
              },
              "max_concurrent": {
                "description": "Kullanıcı başına eşzamanlı oturum sınırı; 0 sistem tavanı (varsayılan).",
                "maximum": 500,
                "minimum": 0,
                "type": "integer"
              }
            },
            "type": "object"
          },
          "signup": {
            "additionalProperties": false,
            "description": "Kayıt politikası.",
            "properties": {
              "email_domain_mode": {
                "description": "E-posta alan adı kısıtı: `off` (varsayılan), `allowlist` yalnız listedekiler, `denylist` listedekiler hariç.",
                "enum": [
                  "off",
                  "allowlist",
                  "denylist"
                ],
                "type": "string"
              },
              "email_domains": {
                "description": "Alan adları (en çok 1000; küçük harfe ve IDNA A-label biçimine normalleştirilir, tekrarsız, sıralı). Kısıt `off` iken de saklanır. `null` listeyi temizler.",
                "items": {
                  "type": "string"
                },
                "maxItems": 1000,
                "type": [
                  "array",
                  "null"
                ]
              },
              "mode": {
                "description": "Kayıt kipi (varsayılan `open`).",
                "enum": [
                  "open",
                  "invite_only",
                  "closed"
                ],
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "EventList": {
        "additionalProperties": false,
        "description": "Olay API'si yanıtı: `next_cursor` + `has_more`. Olay akışı yalnız ileri gider; liste uçlarının `list_metadata` biçimi kullanılmaz, çünkü son sayfada da devam konumu gerekir.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/CustomerEvent"
            },
            "maxItems": 100,
            "type": "array"
          },
          "has_more": {
            "description": "Bu konumdan sonra süzgece uyan en az bir olay daha var; doğruysa beklemeden yeniden iste.",
            "type": "boolean"
          },
          "next_cursor": {
            "description": "Sonraki isteğin `after` değeri; her zaman doludur. Yalnız üretildiği ortamda geçerlidir.",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "data",
          "next_cursor",
          "has_more"
        ],
        "type": "object"
      },
      "EventType": {
        "additionalProperties": false,
        "description": "Müşteri olay kataloğunda bir tür.",
        "properties": {
          "high_volume": {
            "description": "Doğruysa tür \"tümü\" aboneliğine girmez, uçta adıyla seçilmelidir (ör. `authentication.*`).",
            "type": "boolean"
          },
          "schema_versions": {
            "description": "Yayımlanmış şema sürümleri, eskiden yeniye. Uç `event_schema_versions` vermezse ilk sürüm kullanılır.",
            "items": {
              "$ref": "#/components/schemas/EventTypeSchemaVersion"
            },
            "minItems": 1,
            "type": "array"
          },
          "type": {
            "description": "Olay türü, `<kaynak>.<geçmiş_zaman>` (ör. `user.created`).",
            "examples": [
              "user.created"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "schema_versions",
          "high_volume"
        ],
        "type": "object"
      },
      "EventTypeList": {
        "additionalProperties": false,
        "description": "Olay kataloğunun imleçli listesi; toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/EventType"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "EventTypeSchemaVersion": {
        "additionalProperties": false,
        "properties": {
          "schema_id": {
            "description": "Bu sürümün JSON Schema 2020-12 `$id` değeri.",
            "examples": [
              "https://docs.keenauth.com/events/user.created.v1.json"
            ],
            "format": "uri",
            "type": "string"
          },
          "schema_version": {
            "format": "int32",
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "schema_version",
          "schema_id"
        ],
        "type": "object"
      },
      "IdentitySettings": {
        "description": "Ortamın kullanıcı adı ve doğrulama ayarları (ortam başına tekil kaynak). Sürüm gövdede değil `ETag` başlığındadır; ayar hiç yazılmadıysa tablo varsayılanları ve `ETag: \"0\"`.",
        "properties": {
          "reserved_usernames": {
            "description": "Ayrılmış kullanıcı adları (normalleştirilmiş, tekrarsız, sıralı).",
            "items": {
              "type": "string"
            },
            "maxItems": 1000,
            "type": "array"
          },
          "unverified_account_ttl_days": {
            "description": "`before_sign_in` ortamında doğrulanmamış ve hiç token almamış kaydın silinmeden önceki gün sayısı (varsayılan 7).",
            "maximum": 30,
            "minimum": 1,
            "type": "integer"
          },
          "updated_at": {
            "description": "Son yazma zamanı; ayar hiç yazılmadıysa null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "username_identifier": {
            "description": "`off`: kullanıcı adı yazılamaz ve girişte çözülmez (varsayılan) · `optional`: isteğe bağlı · `required`: yönetim API'siyle kullanıcı oluşturmada zorunlu.",
            "enum": [
              "required",
              "optional",
              "off"
            ],
            "type": "string"
          },
          "username_max_length": {
            "description": "Kullanıcı adı üst uzunluğu (varsayılan 64); alt sınırdan küçük olamaz.",
            "maximum": 64,
            "minimum": 3,
            "type": "integer"
          },
          "username_min_length": {
            "description": "Kullanıcı adı alt uzunluğu (varsayılan 3).",
            "maximum": 64,
            "minimum": 3,
            "type": "integer"
          },
          "verification_policy": {
            "description": "`before_sign_in` (varsayılan): kayıtla oluşturulan kullanıcı zorunlu tanımlayıcısını doğrulamadan token alamaz; doğrulamayan ve hiç token almamış kayıt `unverified_account_ttl_days` sonra sert silinir · `after_sign_in`: doğrulamadan token alır, temizlik çalışmaz.",
            "enum": [
              "before_sign_in",
              "after_sign_in"
            ],
            "type": "string"
          }
        },
        "required": [
          "username_identifier",
          "username_min_length",
          "username_max_length",
          "reserved_usernames",
          "verification_policy",
          "unverified_account_ttl_days",
          "updated_at"
        ],
        "type": "object"
      },
      "IdentitySettingsPatch": {
        "additionalProperties": false,
        "description": "`PATCH /v1/identity-settings` birleştirme yaması (RFC 7396). `reserved_usernames` için `null` listeyi temizler; öbür alanlar `null` olamaz.",
        "properties": {
          "reserved_usernames": {
            "description": "Listenin tamamının yerini alır (RFC 7396 dizileri birleştirmez); `null` temizler.",
            "items": {
              "type": "string"
            },
            "maxItems": 1000,
            "type": [
              "array",
              "null"
            ]
          },
          "unverified_account_ttl_days": {
            "maximum": 30,
            "minimum": 1,
            "type": "integer"
          },
          "username_identifier": {
            "enum": [
              "required",
              "optional",
              "off"
            ],
            "type": "string"
          },
          "username_max_length": {
            "maximum": 64,
            "minimum": 3,
            "type": "integer"
          },
          "username_min_length": {
            "maximum": 64,
            "minimum": 3,
            "type": "integer"
          },
          "verification_policy": {
            "description": "`after_sign_in` doğrulanmamış hesap temizliğini durdurur.",
            "enum": [
              "before_sign_in",
              "after_sign_in"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "InactiveMember": {
        "additionalProperties": false,
        "description": "Hareketsiz bir üyelik. Yalnız kimlik ve zaman taşır.",
        "properties": {
          "activated_at": {
            "description": "Üyeliğin etkinleştiği an (yoksa oluşturulduğu an).",
            "format": "date-time",
            "type": "string"
          },
          "last_authenticated_at": {
            "description": "Bu org'un bağlamındaki son başarılı kimlik doğrulama; `data_since`'ten beri yoksa `null`.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "membership_id": {
            "pattern": "^mem_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "user_id": {
            "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          }
        },
        "required": [
          "membership_id",
          "user_id",
          "activated_at",
          "last_authenticated_at"
        ],
        "type": "object"
      },
      "InactiveMembersReport": {
        "additionalProperties": false,
        "description": "Hareketsiz üye raporunun bir sayfası. `next_cursor` son sayfada `null`dır.",
        "properties": {
          "complete": {
            "description": "`data_since` `inactive_since`'ten önce ya da ona eşitse `true`: liste bütün eşik penceresini kapsar.",
            "type": "boolean"
          },
          "data": {
            "items": {
              "$ref": "#/components/schemas/InactiveMember"
            },
            "maxItems": 100,
            "type": "array"
          },
          "data_since": {
            "description": "Ortam için kaydedilen ilk başarılı kimlik doğrulamanın anı; bundan önceki girişler bilinmez. Kayıt yoksa `null`.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "days": {
            "maximum": 365,
            "minimum": 7,
            "type": "integer"
          },
          "inactive_since": {
            "description": "Eşik anı (istek anı − `days`); bu andan beri girişi olmayan üyeler listelenir.",
            "format": "date-time",
            "type": "string"
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "organization_id": {
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          }
        },
        "required": [
          "organization_id",
          "days",
          "inactive_since",
          "data_since",
          "complete",
          "data",
          "next_cursor"
        ],
        "type": "object"
      },
      "Invitation": {
        "additionalProperties": false,
        "description": "Org ya da ortam daveti. Kabul bağlantısı bu nesnede yoktur.",
        "properties": {
          "accepted_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "accepted_user_id": {
            "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "application_id": {
            "description": "Kabulden sonra yönlendirilecek uygulama.",
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "delivery": {
            "enum": [
              "email",
              "link_only"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "delivery_status": {
            "enum": [
              "queued",
              "sent",
              "bounced",
              "not_sent"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "email": {
            "description": "Davet e-postası; iptal edilen ya da süresi dolan davette silinir (null).",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "expires_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik (`inv_…`).",
            "pattern": "^inv_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "last_sent_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "organization_id": {
            "description": "Davetin org'u; ortam davetinde null.",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "revoked_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "role_ids": {
            "items": {
              "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "type": "array"
          },
          "send_count": {
            "format": "int32",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "status": {
            "enum": [
              "pending",
              "accepted",
              "revoked",
              "expired"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "updated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "version": {
            "format": "int64",
            "minimum": 1,
            "readOnly": true,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "organization_id",
          "email",
          "role_ids",
          "application_id",
          "delivery",
          "delivery_status",
          "status",
          "send_count",
          "last_sent_at",
          "expires_at",
          "accepted_user_id",
          "accepted_at",
          "revoked_at",
          "created_at",
          "updated_at",
          "version"
        ],
        "type": "object"
      },
      "InvitationBatchCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/invitations:batch` gövdesi.",
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/InvitationCreateRequest"
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "items"
        ],
        "type": "object"
      },
      "InvitationBatchItemError": {
        "additionalProperties": false,
        "description": "Toplu davette bir öğenin hatası; `code` ve `status` tekil `POST /v1/invitations` problemindeki değerlerdir.",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/ProblemCode"
          },
          "errors": {
            "description": "Alan işaretçileri `/items/<i>/…` biçimindedir.",
            "items": {
              "$ref": "#/components/schemas/ProblemFieldError"
            },
            "type": "array"
          },
          "status": {
            "format": "int32",
            "maximum": 599,
            "minimum": 400,
            "type": "integer"
          }
        },
        "required": [
          "code",
          "status",
          "errors"
        ],
        "type": "object"
      },
      "InvitationBatchItemResult": {
        "additionalProperties": false,
        "description": "Bir öğenin sonucu: başarıda `invitation`, hatada `error`.",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/InvitationBatchItemError"
          },
          "invitation": {
            "$ref": "#/components/schemas/InvitationCreated"
          },
          "status": {
            "description": "`201` yeni davet, `200` bekleyen davet yeniden gönderildi; diğerleri hata durumudur.",
            "format": "int32",
            "maximum": 599,
            "minimum": 200,
            "type": "integer"
          }
        },
        "required": [
          "status"
        ],
        "type": "object"
      },
      "InvitationBatchResult": {
        "additionalProperties": false,
        "description": "`POST /v1/invitations:batch` yanıtı; `items` istek sırasındadır.",
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/InvitationBatchItemResult"
            },
            "type": "array"
          },
          "secret_redacted": {
            "description": "`Idempotency-Key` ile tekrar oynatılan yanıtta `true`; öğelerde bağlantı yoktur.",
            "readOnly": true,
            "type": "boolean"
          }
        },
        "required": [
          "items"
        ],
        "type": "object"
      },
      "InvitationCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/invitations` gövdesi (tekil davet).",
        "properties": {
          "application_id": {
            "description": "Davetlinin yönleneceği uygulama; bu ortamda yoksa `404 not_found`.",
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "delivery": {
            "description": "`email` davet e-postasıyla gönderir (bağlantı yanıtta yok); davet e-postası bağlı değilse `501 not_implemented`. `link_only` bağlantıyı yalnız bu yanıtta döndürür.",
            "enum": [
              "email",
              "link_only"
            ],
            "type": "string"
          },
          "email": {
            "format": "email",
            "maxLength": 320,
            "type": "string"
          },
          "organization_id": {
            "description": "Davetin org'u; verilmezse ortam davetidir.",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "role_ids": {
            "description": "Boşsa kabulde org'un varsayılan üye rolü atanır; en çok 10 rol (aşan `409 role_limit_reached`).",
            "items": {
              "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 10,
            "type": "array"
          },
          "ttl_days": {
            "description": "Davetin geçerlilik süresi; verilmezse ortamın `invitation_ttl_days` değeri (varsayılan 7).",
            "format": "int32",
            "maximum": 30,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "email",
          "delivery"
        ],
        "type": "object"
      },
      "InvitationCreated": {
        "additionalProperties": false,
        "description": "Oluşturulan ya da yeniden gönderilen davet (`Invitation` alanları); `link_only` davette tek seferlik `accept_url` taşır. Idempotency-Key ile tekrar oynatılan yanıtta `accept_url` yoktur ve `secret_redacted: true` döner.",
        "properties": {
          "accept_url": {
            "description": "Tek seferlik kabul bağlantısı (`https://<ortam-host>/u/login?invitation=…`); yalnız bu yanıtta, `link_only` davette.",
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "accepted_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "accepted_user_id": {
            "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "application_id": {
            "description": "Kabulden sonra yönlendirilecek uygulama.",
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "delivery": {
            "enum": [
              "email",
              "link_only"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "delivery_status": {
            "enum": [
              "queued",
              "sent",
              "bounced",
              "not_sent"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "email": {
            "description": "Davet e-postası; iptal edilen ya da süresi dolan davette silinir (null).",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "expires_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik (`inv_…`).",
            "pattern": "^inv_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "last_sent_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "organization_id": {
            "description": "Davetin org'u; ortam davetinde null.",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "revoked_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "role_ids": {
            "items": {
              "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "type": "array"
          },
          "secret_redacted": {
            "description": "`Idempotency-Key` ile tekrar oynatılan yanıtta `true`; bağlantı yoktur.",
            "readOnly": true,
            "type": "boolean"
          },
          "send_count": {
            "format": "int32",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "status": {
            "enum": [
              "pending",
              "accepted",
              "revoked",
              "expired"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "updated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "version": {
            "format": "int64",
            "minimum": 1,
            "readOnly": true,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "organization_id",
          "email",
          "role_ids",
          "application_id",
          "delivery",
          "delivery_status",
          "status",
          "send_count",
          "last_sent_at",
          "expires_at",
          "accepted_user_id",
          "accepted_at",
          "revoked_at",
          "created_at",
          "updated_at",
          "version"
        ],
        "type": "object"
      },
      "InvitationList": {
        "additionalProperties": false,
        "description": "Davetlerin imleçli listesi (eskiden yeniye); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Invitation"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "LegalDocument": {
        "additionalProperties": false,
        "description": "Müşterinin son kullanıcılarına sunduğu hukuki belgenin yayımlanmış sürümü. `url`, `version`, `locale` ve `content_sha256` yayından sonra değişmez.",
        "properties": {
          "application_id": {
            "description": "Belge yalnız bu uygulamaya uygulanır; null ise ortamın tüm uygulamalarına.",
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "content_sha256": {
            "description": "Yayında çekilen gövdenin SHA-256 özeti (küçük harf onaltılık).",
            "pattern": "^[0-9a-f]{64}$",
            "readOnly": true,
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "effective_at": {
            "description": "Yürürlük anı.",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik (`ldoc_…`).",
            "pattern": "^ldoc_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "kind": {
            "enum": [
              "terms",
              "privacy_notice",
              "custom"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "locale": {
            "description": "BCP 47 dil etiketi; ortamın dil kaydında olmalıdır.",
            "maxLength": 16,
            "type": "string"
          },
          "requires_reacceptance": {
            "description": "true ise yürürlüğe girince kullanıcılar ilk etkileşimli girişte yeniden kabul ekranını görür.",
            "type": "boolean"
          },
          "updated_at": {
            "description": "Yalnız `requires_reacceptance` ya da `effective_at` değişince ilerler.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "url": {
            "description": "Müşterinin barındırdığı HTTPS sayfası.",
            "format": "uri",
            "maxLength": 2048,
            "type": "string"
          },
          "version": {
            "description": "Müşterinin sürüm etiketi (1–64 karakter).",
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "id",
          "application_id",
          "kind",
          "version",
          "locale",
          "url",
          "content_sha256",
          "effective_at",
          "requires_reacceptance",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "LegalDocumentCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/legal-documents` gövdesi.",
        "properties": {
          "application_id": {
            "description": "Verilmezse ya da null ise belge ortam genelidir.",
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "effective_at": {
            "description": "Verilmezse yayın anı; geçmişte olamaz.",
            "format": "date-time",
            "type": "string"
          },
          "kind": {
            "enum": [
              "terms",
              "privacy_notice",
              "custom"
            ],
            "type": "string"
          },
          "locale": {
            "maxLength": 16,
            "type": "string"
          },
          "requires_reacceptance": {
            "default": false,
            "type": "boolean"
          },
          "url": {
            "format": "uri",
            "maxLength": 2048,
            "type": "string"
          },
          "version": {
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "kind",
          "version",
          "locale",
          "url"
        ],
        "type": "object"
      },
      "LegalDocumentList": {
        "additionalProperties": false,
        "description": "Hukuki belgelerin imleçli listesi (yeniden eskiye); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/LegalDocument"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "LegalDocumentPatch": {
        "additionalProperties": false,
        "description": "`PATCH /v1/legal-documents/{legal_document_id}` birleştirme yaması (RFC 7396); alanlar null olamaz.",
        "properties": {
          "effective_at": {
            "description": "Yalnız henüz yürürlüğe girmemiş belgede; geçmişte olamaz.",
            "format": "date-time",
            "type": "string"
          },
          "requires_reacceptance": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ListMetadata": {
        "properties": {
          "after": {
            "type": [
              "string",
              "null"
            ]
          },
          "before": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "before",
          "after"
        ],
        "type": "object"
      },
      "Log": {
        "additionalProperties": false,
        "description": "Ortam logu kaydı. Boş değerler `null` döner. `ip`, `ip_asn`, `user_agent` ve `user_agent_family` yalnız `audit-events:read_ip`, `identifier_hint` yalnız `users:read_pii` izniyle bulunur; izin yoksa alan yazılmaz.",
        "properties": {
          "act_chain": {
            "description": "Vekâlet zinciri (RFC 8693 `act`).",
            "type": [
              "object",
              "null"
            ]
          },
          "application_id": {
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "auth_context": {
            "description": "Kimlik doğrulama bağlamı (`acr`, `amr`).",
            "type": [
              "object",
              "null"
            ]
          },
          "connection_id": {
            "pattern": "^conn_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "correlation_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "details": {
            "description": "Türe özgü ayrıntılar (≤ 4 KiB; sır ve assertion içermez).",
            "type": [
              "object",
              "null"
            ]
          },
          "directory_id": {
            "pattern": "^dir_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "Önekli dış kimlik (UUIDv7 tabanlı).",
            "pattern": "^evt_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "identifier_hint": {
            "description": "Girilen tanımlayıcının maskeli biçimi (ör. `j***@acme.com`); tam tanımlayıcı tutulmaz. Yalnız `users:read_pii` izniyle bulunur.",
            "type": [
              "string",
              "null"
            ]
          },
          "ip": {
            "description": "İstemci IP adresi. Yalnız `audit-events:read_ip` izniyle bulunur.",
            "type": [
              "string",
              "null"
            ]
          },
          "ip_asn": {
            "description": "IP'nin özerk sistem numarası; bilinmiyorsa `null`. Yalnız `audit-events:read_ip` izniyle bulunur.",
            "format": "int64",
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "ip_country": {
            "description": "IP'nin ülkesi (ISO 3166-1 alpha-2).",
            "pattern": "^[A-Z]{2}$",
            "type": [
              "string",
              "null"
            ]
          },
          "occurred_at": {
            "format": "date-time",
            "type": "string"
          },
          "org_id": {
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "outcome": {
            "enum": [
              "success",
              "failure",
              "denied",
              "error"
            ],
            "type": "string"
          },
          "reason_code": {
            "description": "Başarısızlık ya da ret gerekçesi (sabit kod).",
            "type": [
              "string",
              "null"
            ]
          },
          "request_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "risk": {
            "description": "Risk motoru sinyalleri ve kararı.",
            "type": [
              "object",
              "null"
            ]
          },
          "session_id": {
            "pattern": "^ses_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "trace_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "description": "Log türü (müşteri olay kataloğuyla aynı adlar, ör. `authentication.failed`).",
            "type": "string"
          },
          "user_agent": {
            "description": "İstemcinin User-Agent değeri. Yalnız `audit-events:read_ip` izniyle bulunur.",
            "type": [
              "string",
              "null"
            ]
          },
          "user_agent_family": {
            "description": "User-Agent ailesi (tarayıcı ya da istemci). Yalnız `audit-events:read_ip` izniyle bulunur.",
            "type": [
              "string",
              "null"
            ]
          },
          "user_id": {
            "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "occurred_at",
          "type",
          "outcome",
          "reason_code",
          "user_id",
          "org_id",
          "application_id",
          "connection_id",
          "directory_id",
          "session_id",
          "ip_country",
          "risk",
          "auth_context",
          "act_chain",
          "request_id",
          "correlation_id",
          "trace_id",
          "details"
        ],
        "type": "object"
      },
      "LogList": {
        "additionalProperties": false,
        "description": "İmleçli ortam logu listesi; yeniden eskiye sıralı, toplam sayı döndürülmez. `list_metadata.after` daha eski, `list_metadata.before` daha yeni kayıtların imlecidir.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Log"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "ManagementClient": {
        "description": "Yönetim M2M istemci kaydı: bir `management` uygulamasının yönetim API'sindeki izin tavanı ve IP izin listesi. İmza anahtarları bu temsilde yoktur.",
        "properties": {
          "allowed_cidrs": {
            "description": "İstemcinin kabul edildiği CIDR blokları; boşsa kısıt yoktur.",
            "items": {
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          },
          "application_id": {
            "description": "Kaydın bağlı olduğu `management` uygulaması; kaydın kimliğidir.",
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "permissions": {
            "description": "`<kaynak>:<eylem>` izinleri (bilinen izinler).",
            "items": {
              "pattern": "^[a-z][a-z0-9-]*:[a-z][a-z0-9_]*$",
              "type": "string"
            },
            "maxItems": 200,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "application_id",
          "permissions",
          "allowed_cidrs"
        ],
        "type": "object"
      },
      "ManagementClientCreateRequest": {
        "additionalProperties": false,
        "description": "Yönetim istemcisi kaydı oluşturma. `jwks_uri` ve `public_keys` bu kaynakta yoktur.",
        "properties": {
          "allowed_cidrs": {
            "description": "İsteğe bağlı CIDR izin listesi (en çok 20); verilmezse çağıranın listesi.",
            "items": {
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          },
          "application_id": {
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "permissions": {
            "description": "`<kaynak>:<eylem>` izinleri; çağıranın kendi izinlerini aşamaz.",
            "items": {
              "pattern": "^[a-z][a-z0-9-]*:[a-z][a-z0-9_]*$",
              "type": "string"
            },
            "maxItems": 200,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "application_id",
          "permissions"
        ],
        "type": "object"
      },
      "ManagementClientList": {
        "description": "İmleçli yönetim istemcisi listesi; toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ManagementClient"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "ManagementClientUpdate": {
        "additionalProperties": false,
        "description": "Birleştirme yaması (RFC 7396). `permissions` null olamaz; `allowed_cidrs` null ya da `[]` çağıranın listesini alır.",
        "properties": {
          "allowed_cidrs": {
            "items": {
              "type": "string"
            },
            "maxItems": 20,
            "type": [
              "array",
              "null"
            ]
          },
          "permissions": {
            "items": {
              "pattern": "^[a-z][a-z0-9-]*:[a-z][a-z0-9_]*$",
              "type": "string"
            },
            "maxItems": 200,
            "minItems": 1,
            "type": "array"
          }
        },
        "type": "object"
      },
      "MembershipDiagnostics": {
        "additionalProperties": false,
        "description": "Üye teşhis görünümü. Kişinin cihaz bilgisi, etiketi, IP'si ve e-postası yoktur.",
        "properties": {
          "applications": {
            "additionalProperties": false,
            "description": "Uygulama erişimi: `org_access_mode` `all_organizations` olan kullanıcıya bakan uygulamalar her üyeye açıktır ve yalnız `open_count` olarak sayılır; erişimi kısıtlı uygulamalar ad sırasıyla en çok 100, üyenin bu org'daki kararıyla (giriş anındaki denetimle aynı kural).",
            "properties": {
              "data": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "access_mode": {
                      "enum": [
                        "enabled_organizations",
                        "assigned_only"
                      ],
                      "type": "string"
                    },
                    "allowed": {
                      "type": "boolean"
                    },
                    "application_id": {
                      "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "reason": {
                      "description": "Reddedilince neden; izinliyse `null`.",
                      "enum": [
                        "application_not_enabled",
                        "application_not_assigned",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "application_id",
                    "name",
                    "access_mode",
                    "allowed",
                    "reason"
                  ],
                  "type": "object"
                },
                "maxItems": 100,
                "type": "array"
              },
              "open_count": {
                "minimum": 0,
                "type": "integer"
              },
              "truncated": {
                "type": "boolean"
              }
            },
            "required": [
              "open_count",
              "data",
              "truncated"
            ],
            "type": "object"
          },
          "authenticators": {
            "additionalProperties": false,
            "description": "Yalnız etkin doğrulayıcıların sınıfları ve MFA kaydı (`role` `second_factor` ya da `both`).",
            "properties": {
              "classes": {
                "items": {
                  "enum": [
                    "webauthn",
                    "totp",
                    "sms",
                    "email",
                    "push"
                  ],
                  "type": "string"
                },
                "type": "array"
              },
              "mfa_enrolled": {
                "type": "boolean"
              }
            },
            "required": [
              "mfa_enrolled",
              "classes"
            ],
            "type": "object"
          },
          "groups": {
            "additionalProperties": false,
            "description": "Üyenin org'un dizinlerindeki grupları; grup kimliği sırasıyla en çok 100. Grup adı dönmez: `GET /v1/directories/{directory_id}/groups/{directory_group_id}` ile okunur.",
            "properties": {
              "data": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "directory_id": {
                      "pattern": "^dir_[0-7][0-9a-hjkmnp-tv-z]{25}$",
                      "type": "string"
                    },
                    "id": {
                      "pattern": "^dsg_[0-7][0-9a-hjkmnp-tv-z]{25}$",
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "directory_id"
                  ],
                  "type": "object"
                },
                "maxItems": 100,
                "type": "array"
              },
              "truncated": {
                "type": "boolean"
              }
            },
            "required": [
              "data",
              "truncated"
            ],
            "type": "object"
          },
          "invitation": {
            "additionalProperties": false,
            "description": "Yalnız `invited` üyelikte, kullanıcının birincil e-postasına bekleyen davetin teslim özeti (e-posta ve roller yok); yoksa `null`.",
            "properties": {
              "delivery": {
                "enum": [
                  "email",
                  "link_only"
                ],
                "type": "string"
              },
              "delivery_status": {
                "enum": [
                  "queued",
                  "sent",
                  "bounced",
                  "not_sent"
                ],
                "type": "string",
                "x-idp-open-enum": true
              },
              "expires_at": {
                "format": "date-time",
                "type": "string"
              },
              "id": {
                "pattern": "^inv_[0-7][0-9a-hjkmnp-tv-z]{25}$",
                "type": "string"
              },
              "last_sent_at": {
                "format": "date-time",
                "type": [
                  "string",
                  "null"
                ]
              },
              "send_count": {
                "minimum": 0,
                "type": "integer"
              }
            },
            "required": [
              "id",
              "delivery",
              "delivery_status",
              "send_count",
              "last_sent_at",
              "expires_at"
            ],
            "type": [
              "object",
              "null"
            ]
          },
          "membership": {
            "$ref": "#/components/schemas/OrganizationMembership"
          },
          "policy": {
            "$ref": "#/components/schemas/MembershipDiagnosticsPolicy"
          },
          "sign_in": {
            "additionalProperties": false,
            "description": "Org bağlamındaki giriş durumu: kilit hesabın her bağlamdaki girişini durdurur; son giriş yalnız o org'un oturumlarındandır.",
            "properties": {
              "last_sign_in_amr": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "last_sign_in_at": {
                "format": "date-time",
                "type": [
                  "string",
                  "null"
                ]
              },
              "locked": {
                "type": "boolean"
              },
              "locked_until": {
                "format": "date-time",
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "locked",
              "locked_until",
              "last_sign_in_at",
              "last_sign_in_amr"
            ],
            "type": "object"
          }
        },
        "required": [
          "membership",
          "policy",
          "invitation",
          "authenticators",
          "sign_in",
          "groups",
          "applications"
        ],
        "type": "object"
      },
      "MembershipDiagnosticsPolicy": {
        "additionalProperties": false,
        "description": "Org'un yazılmış politikalarının özeti; `null` = org o eksende ortam değerini devralır.",
        "properties": {
          "authentication_methods": {
            "additionalProperties": false,
            "properties": {
              "allow_passkey": {
                "type": "boolean"
              },
              "allow_password": {
                "type": "boolean"
              },
              "connection_count": {
                "minimum": 0,
                "type": "integer"
              }
            },
            "required": [
              "allow_passkey",
              "allow_password",
              "connection_count"
            ],
            "type": [
              "object",
              "null"
            ]
          },
          "ip_allowlist": {
            "additionalProperties": false,
            "description": "IP listesi var; CIDR'lar dönmez.",
            "properties": {
              "applies_to": {
                "enum": [
                  "admins",
                  "all"
                ],
                "type": "string"
              }
            },
            "required": [
              "applies_to"
            ],
            "type": [
              "object",
              "null"
            ]
          },
          "mfa": {
            "additionalProperties": false,
            "properties": {
              "allowed_factors": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "required_for": {
                "enum": [
                  "none",
                  "admins",
                  "all"
                ],
                "type": "string"
              }
            },
            "required": [
              "required_for",
              "allowed_factors"
            ],
            "type": [
              "object",
              "null"
            ]
          },
          "phishing_resistant": {
            "additionalProperties": false,
            "properties": {
              "required_for": {
                "enum": [
                  "none",
                  "admins",
                  "all"
                ],
                "type": "string"
              }
            },
            "required": [
              "required_for"
            ],
            "type": [
              "object",
              "null"
            ]
          },
          "sso_enforcement": {
            "additionalProperties": false,
            "properties": {
              "bypass": {
                "description": "Üye break-glass listesinde (`bypass_user_ids`).",
                "type": "boolean"
              },
              "mode": {
                "enum": [
                  "off",
                  "org_context",
                  "verified_domains"
                ],
                "type": "string"
              }
            },
            "required": [
              "mode",
              "bypass"
            ],
            "type": [
              "object",
              "null"
            ]
          }
        },
        "required": [
          "authentication_methods",
          "mfa",
          "phishing_resistant",
          "sso_enforcement",
          "ip_allowlist"
        ],
        "type": "object"
      },
      "OrgCustomRolePermissions": {
        "additionalProperties": false,
        "description": "Ortamın org özel rollerine açtığı izin listesi; `GET` yanıtı ve `PUT` gövdesi (tam küme).",
        "properties": {
          "permission_ids": {
            "items": {
              "pattern": "^perm_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 1000,
            "type": "array"
          }
        },
        "required": [
          "permission_ids"
        ],
        "type": "object"
      },
      "Organization": {
        "additionalProperties": false,
        "description": "Ortamdaki B2B org'u. `metadata` yalnız yönetim API'sinde döner.",
        "properties": {
          "brand_color": {
            "description": "Marka rengi `#RRGGBB` (büyük harf). null = yok.",
            "pattern": "^#[0-9A-F]{6}$",
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "created_via": {
            "description": "Org'un oluşturulduğu yüzey.",
            "enum": [
              "admin_api",
              "dashboard"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "default_zoneinfo": {
            "description": "Org'un varsayılan IANA saat dilimi; org bağlamındaki kayıt, davet, JIT SSO ve SCIM'de tarayıcı ya da IdP değeri yoksa kullanılır. null = yok (ortam varsayılanı).",
            "maxLength": 64,
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "deletion_due_at": {
            "description": "Self-servis silmenin gerçekleşeceği an; bu anı geçen org 15 dakika içinde kalıcı silinir.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "deletion_requested_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "disabled_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "external_id": {
            "description": "Müşterinin kendi sistemindeki kimlik; ortamda tekil. null = yok.",
            "maxLength": 255,
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "Önekli dış kimlik (`org_…`).",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "max_memberships": {
            "description": "Üyelik tavanı; null = sınırsız.",
            "format": "int32",
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Müşteri meta verisi (JSON nesnesi; en çok 16 KiB, 5 düzey, 100 üst düzey anahtar).",
            "type": "object"
          },
          "name": {
            "description": "Görünen ad (1–256 karakter, denetim karakteri yok).",
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "slug": {
            "description": "Ortamda tekil URL adı.",
            "maxLength": 64,
            "minLength": 3,
            "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
            "type": "string"
          },
          "status": {
            "description": "`disabled` yönetici tarafından devre dışı; `pending_deletion` self-servis silme vadesini bekliyor.",
            "enum": [
              "active",
              "disabled",
              "pending_deletion"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "updated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "version": {
            "description": "Kayıt sürümü; `ETag` değeridir.",
            "format": "int64",
            "minimum": 1,
            "readOnly": true,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "external_id",
          "status",
          "metadata",
          "brand_color",
          "max_memberships",
          "default_zoneinfo",
          "created_via",
          "disabled_at",
          "deletion_requested_at",
          "deletion_due_at",
          "created_at",
          "updated_at",
          "version"
        ],
        "type": "object"
      },
      "OrganizationApplication": {
        "additionalProperties": false,
        "description": "Uygulamanın bir org'daki erişim satırı. Hiç yazılmamış satır `disabled` ve sürüm 0'dır.",
        "properties": {
          "application_id": {
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "enabled_at": {
            "description": "Son etkinleştirme anı; hiç etkinleştirilmediyse null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "organization_id": {
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "status": {
            "enum": [
              "enabled",
              "disabled"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "updated_at": {
            "description": "Son yazma anı; satır hiç yazılmadıysa null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "version": {
            "description": "Satır sürümü; `ETag` değeridir. Hiç yazılmamış satırda 0.",
            "format": "int64",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          }
        },
        "required": [
          "organization_id",
          "application_id",
          "status",
          "enabled_at",
          "updated_at",
          "version"
        ],
        "type": "object"
      },
      "OrganizationApplicationPutRequest": {
        "additionalProperties": false,
        "description": "`PUT /v1/organizations/{org_id}/applications/{application_id}` gövdesi.",
        "properties": {
          "status": {
            "enum": [
              "enabled",
              "disabled"
            ],
            "type": "string"
          }
        },
        "required": [
          "status"
        ],
        "type": "object"
      },
      "OrganizationCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/organizations` gövdesi.",
        "properties": {
          "brand_color": {
            "description": "`#RRGGBB`; büyük harfe çevrilir.",
            "pattern": "^#[0-9A-Fa-f]{6}$",
            "type": [
              "string",
              "null"
            ]
          },
          "default_zoneinfo": {
            "description": "IANA saat dilimi adı (ör. `Europe/Istanbul`); geçersiz ad 422 `invalid_value`. Verilmezse ya da null ise yok.",
            "maxLength": 64,
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "external_id": {
            "maxLength": 255,
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "max_memberships": {
            "description": "Verilmezse ya da null ise sınırsız.",
            "format": "int32",
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Verilmezse `{}`.",
            "type": [
              "object",
              "null"
            ]
          },
          "name": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "slug": {
            "description": "Verilmezse addan türetilir.",
            "maxLength": 64,
            "minLength": 3,
            "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "OrganizationDefaults": {
        "additionalProperties": false,
        "description": "Ortamın org varsayılanları. `version` `ETag` değeridir.",
        "properties": {
          "default_member_role_id": {
            "description": "Yeni org üyesinin varsayılan rolü (ortam rolü).",
            "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "invitation_ttl_days": {
            "maximum": 30,
            "minimum": 1,
            "type": "integer"
          },
          "max_memberships_per_user": {
            "maximum": 1000,
            "minimum": 1,
            "type": "integer"
          },
          "on_org_delete_members": {
            "enum": [
              "detach",
              "delete_exclusive_provisioned"
            ],
            "type": "string"
          },
          "org_admin_role_id": {
            "description": "Org yöneticisi rolü (ortam rolü; org yönetiminin sistem izinlerini taşır).",
            "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "org_custom_roles_enabled": {
            "type": "boolean"
          },
          "org_self_delete_enabled": {
            "type": "boolean"
          },
          "org_self_service_deletion_grace_days": {
            "maximum": 30,
            "minimum": 0,
            "type": "integer"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          },
          "version": {
            "format": "int64",
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "org_admin_role_id",
          "default_member_role_id",
          "max_memberships_per_user",
          "invitation_ttl_days",
          "org_self_service_deletion_grace_days",
          "on_org_delete_members",
          "org_custom_roles_enabled",
          "org_self_delete_enabled",
          "updated_at",
          "version"
        ],
        "type": "object"
      },
      "OrganizationDefaultsPatch": {
        "additionalProperties": false,
        "description": "`PATCH /v1/organization-defaults` birleştirme yaması (RFC 7396); verilmeyen alan değişmez, `null` geçersizdir.",
        "properties": {
          "default_member_role_id": {
            "description": "Yeni org üyesinin varsayılan rolü (ortam rolü).",
            "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "invitation_ttl_days": {
            "maximum": 30,
            "minimum": 1,
            "type": "integer"
          },
          "max_memberships_per_user": {
            "maximum": 1000,
            "minimum": 1,
            "type": "integer"
          },
          "on_org_delete_members": {
            "enum": [
              "detach",
              "delete_exclusive_provisioned"
            ],
            "type": "string"
          },
          "org_admin_role_id": {
            "description": "Org yöneticisi rolü (ortam rolü; org yönetiminin sistem izinlerini taşır).",
            "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "org_custom_roles_enabled": {
            "type": "boolean"
          },
          "org_self_delete_enabled": {
            "type": "boolean"
          },
          "org_self_service_deletion_grace_days": {
            "maximum": 30,
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "OrganizationDomain": {
        "additionalProperties": false,
        "description": "Org'un alan adı kaydı. TXT kaydı DNS'te açık değerdir, sır değildir.",
        "properties": {
          "capture_mode": {
            "description": "Alandaki kullanıcıların org'a katılımı; yalnız verified kayıtta `off` dışı.",
            "enum": [
              "off",
              "suggest",
              "auto_join"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "domain": {
            "description": "Küçük harf A-label.",
            "maxLength": 253,
            "minLength": 3,
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik (`odm_…`).",
            "pattern": "^odm_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "last_checked_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "last_failure_code": {
            "description": "Son başarısız denetimin nedeni: `nxdomain`, `no_txt`, `mismatch`, `dnssec_bogus`, `timeout`, `already_verified`; null = yok.",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "next_check_at": {
            "description": "Zamanlanmış denetimin sıradaki anı; null = denetim yok.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "organization_id": {
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "sso_routing_enabled": {
            "description": "Alandaki e-postayı org'un SSO bağlantısına yönlendirir; yalnız verified kayıtta açılır.",
            "type": "boolean"
          },
          "status": {
            "description": "`pending` TXT bekliyor (72 saat); `unverified` doğrulanmıştı, TXT kayboldu (30 gün sonra `revoked`); `expired` süresinde doğrulanmadı.",
            "enum": [
              "pending",
              "verified",
              "unverified",
              "expired",
              "revoked"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "txt_record_name": {
            "description": "`_akp-verify.<alan>`; manual'da null.",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "txt_record_value": {
            "description": "`idp-verify=<token>`; manual'da null.",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "unverified_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "updated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "verification_method": {
            "enum": [
              "dns_txt",
              "manual"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "verification_started_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "verified_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "version": {
            "description": "Kayıt sürümü; `ETag` değeridir.",
            "format": "int64",
            "minimum": 1,
            "readOnly": true,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "organization_id",
          "domain",
          "status",
          "verification_method",
          "txt_record_name",
          "txt_record_value",
          "verification_started_at",
          "verified_at",
          "last_checked_at",
          "unverified_at",
          "next_check_at",
          "last_failure_code",
          "capture_mode",
          "sso_routing_enabled",
          "created_at",
          "updated_at",
          "version"
        ],
        "type": "object"
      },
      "OrganizationDomainCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/organization-domains` gövdesi.",
        "properties": {
          "domain": {
            "description": "Unicode ya da A-label; küçük harf A-label'a çevrilir.",
            "maxLength": 253,
            "minLength": 1,
            "type": "string"
          },
          "organization_id": {
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "verification_method": {
            "description": "Verilmezse `dns_txt`. `manual` sahiplik beyanıdır (yönetim API'si ve pano).",
            "enum": [
              "dns_txt",
              "manual"
            ],
            "type": "string"
          }
        },
        "required": [
          "organization_id",
          "domain"
        ],
        "type": "object"
      },
      "OrganizationDomainList": {
        "additionalProperties": false,
        "description": "Alan kayıtlarının imleçli listesi (eskiden yeniye); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/OrganizationDomain"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "OrganizationDomainUpdateRequest": {
        "additionalProperties": false,
        "description": "`PATCH /v1/organization-domains/{domain_id}` birleştirme yaması (RFC 7396). Verilmeyen alan değişmez.",
        "properties": {
          "capture_mode": {
            "enum": [
              "off",
              "suggest",
              "auto_join"
            ],
            "type": "string"
          },
          "sso_routing_enabled": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "OrganizationList": {
        "additionalProperties": false,
        "description": "Org'ların imleçli listesi (yeniden eskiye); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Organization"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "OrganizationMembership": {
        "additionalProperties": false,
        "description": "Kullanıcının bir org'daki üyeliği.",
        "properties": {
          "activated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "expires_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "Önekli dış kimlik (`mem_…`).",
            "pattern": "^mem_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "organization_id": {
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "reason": {
            "description": "Askıya alma ya da kaldırma nedeni (`removed_by_admin`, `left`, `expired`, …); etkin üyelikte null.",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "removed_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "roles": {
            "items": {
              "$ref": "#/components/schemas/OrganizationMembershipRole"
            },
            "type": "array"
          },
          "source": {
            "enum": [
              "invite",
              "scim",
              "jit",
              "domain_capture",
              "admin_api"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "status": {
            "enum": [
              "invited",
              "active",
              "suspended",
              "removed"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "suspended_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "updated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "user_id": {
            "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "version": {
            "description": "Üyelik sürümü; `ETag` ve `role_version` değeridir.",
            "format": "int64",
            "minimum": 1,
            "readOnly": true,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "organization_id",
          "user_id",
          "status",
          "source",
          "reason",
          "roles",
          "expires_at",
          "created_at",
          "activated_at",
          "suspended_at",
          "removed_at",
          "updated_at",
          "version"
        ],
        "type": "object"
      },
      "OrganizationMembershipCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/organizations/{org_id}/memberships` gövdesi.",
        "properties": {
          "expires_at": {
            "description": "Üyeliğin sona ereceği an (gelecekte).",
            "format": "date-time",
            "type": "string"
          },
          "role_ids": {
            "description": "Boşsa org'un varsayılan üye rolü atanır.",
            "items": {
              "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 50,
            "type": "array"
          },
          "user_id": {
            "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          }
        },
        "required": [
          "user_id"
        ],
        "type": "object"
      },
      "OrganizationMembershipList": {
        "additionalProperties": false,
        "description": "Üyeliklerin imleçli listesi (son güncelleme sırası); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/OrganizationMembership"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "OrganizationMembershipPatch": {
        "additionalProperties": false,
        "description": "`PATCH /v1/organizations/{org_id}/memberships/{membership_id}` gövdesi (RFC 7396); `role_ids` ve `expires_at` aynı istekte değişemez.",
        "properties": {
          "expires_at": {
            "description": "Üyeliğin sona ereceği an (gelecekte, oluşturmadan en çok 365 gün sonra); null bitişi kaldırır.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "role_ids": {
            "description": "Elle atanmış rollerin tam kümesi; null etkisizdir.",
            "items": {
              "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 50,
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "OrganizationMembershipRole": {
        "additionalProperties": false,
        "description": "Üyeliğin bir rolü ve kaynağı.",
        "properties": {
          "assigned_at": {
            "format": "date-time",
            "type": "string"
          },
          "role_id": {
            "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "source": {
            "description": "Rolün geliş yolu; eşleme ve dizin kaynaklı roller `PUT …/roles` ile değişmez.",
            "enum": [
              "default",
              "invitation",
              "admin_api",
              "self_service",
              "jit",
              "idp_mapping",
              "directory_mapping"
            ],
            "type": "string",
            "x-idp-open-enum": true
          }
        },
        "required": [
          "role_id",
          "source",
          "assigned_at"
        ],
        "type": "object"
      },
      "OrganizationMembershipRolesPutRequest": {
        "additionalProperties": false,
        "description": "`PUT /v1/organizations/{org_id}/memberships/{membership_id}/roles` gövdesi (tam küme).",
        "properties": {
          "revoke_sessions": {
            "default": true,
            "description": "Ayrıcalıklı (`is_privileged`) rol kaldırıldığında kullanıcının bu org bağlamındaki refresh ailelerinin iptali seçimi; `false` iptali kapatır. Bu sürümde seçim yalnız `organization_membership.updated` audit'inin `revoke_sessions` meta verisine yazılır ve oturum iptal edilmez; iptal authn tarafında planlıdır.",
            "type": "boolean"
          },
          "role_ids": {
            "items": {
              "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 50,
            "type": "array"
          },
          "role_version": {
            "description": "Verilirse üyeliğin güncel `version`'ı olmalıdır; uyuşmazlıkta `409 conflict`.",
            "format": "int64",
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "role_ids"
        ],
        "type": "object"
      },
      "OrganizationPolicy": {
        "additionalProperties": false,
        "description": "Org'un bir türdeki kimlik politikası. Politika ortamın ayarından yalnız sıkı olabilir.",
        "properties": {
          "organization_id": {
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "policy_kind": {
            "enum": [
              "authentication_methods",
              "mfa",
              "phishing_resistant",
              "sso_enforcement",
              "session",
              "ip_allowlist"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "schema_version": {
            "description": "Ayar şemasının sürümü.",
            "format": "int32",
            "minimum": 1,
            "readOnly": true,
            "type": "integer"
          },
          "settings": {
            "additionalProperties": true,
            "description": "Türün kanonik ayar nesnesi (alanlar `putOrganizationPolicy` açıklamasında); kimlikler `conn_…` / `usr_…`.",
            "type": "object"
          },
          "updated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "version": {
            "description": "Kayıt sürümü; `ETag` değeridir.",
            "format": "int64",
            "minimum": 1,
            "readOnly": true,
            "type": "integer"
          }
        },
        "required": [
          "organization_id",
          "policy_kind",
          "schema_version",
          "settings",
          "updated_at",
          "version"
        ],
        "type": "object"
      },
      "OrganizationPolicyList": {
        "additionalProperties": false,
        "description": "Org'un yazılmış politikaları (tür sırasıyla, en çok altı); sayfalanmaz, imleçler null.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/OrganizationPolicy"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "OrganizationPolicyPreview": {
        "additionalProperties": false,
        "description": "Kaydedilmemiş politikanın kapsamı: ayarın giriş anında uygulanacağı kullanıcılar.",
        "properties": {
          "affected_count": {
            "description": "`basis`'in saydığı kullanıcı sayısı.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "basis": {
            "description": "Sayımın ne saydığı; `users_in_scope` ayarın uygulanacağı kullanıcılardır, ayarı karşılamayanlar değil; `users_without_webauthn` (yalnız `phishing_resistant`) kapsamdakilerden kabul edilen etkin WebAuthn kimlik bilgisi olmayanlardır.",
            "enum": [
              "users_in_scope",
              "users_without_webauthn"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "not_evaluated": {
            "description": "Sayının süzmediği koşullar (ör. `mfa_enrollment`: kullanıcının izinli faktörü kayıtlı mı).",
            "items": {
              "enum": [
                "admin_scope",
                "credentials",
                "mfa_enrollment",
                "passkey_enrollment",
                "federated_sign_in",
                "client_ip",
                "credential_policy"
              ],
              "type": "string",
              "x-idp-open-enum": true
            },
            "type": "array"
          },
          "organization_id": {
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "policy_kind": {
            "enum": [
              "authentication_methods",
              "mfa",
              "phishing_resistant",
              "sso_enforcement",
              "session",
              "ip_allowlist"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "sample": {
            "description": "`basis`'in saydığı kullanıcılardan kimliğe göre sıralı ilk en çok 20'si; yalnız kimlik (kişisel veri yok).",
            "items": {
              "additionalProperties": false,
              "properties": {
                "user_id": {
                  "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
                  "type": "string"
                }
              },
              "required": [
                "user_id"
              ],
              "type": "object"
            },
            "maxItems": 20,
            "type": "array"
          }
        },
        "required": [
          "organization_id",
          "policy_kind",
          "basis",
          "affected_count",
          "sample",
          "not_evaluated"
        ],
        "type": "object"
      },
      "OrganizationPolicyPreviewRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/organizations/{org_id}/policies/{policy_kind}:preview` gövdesi: türün aday ayar nesnesi (`PUT` gövdesiyle aynı).",
        "properties": {
          "settings": {
            "additionalProperties": true,
            "description": "Türün aday ayar nesnesi (en çok 64 KiB); bilinmeyen alan `422`.",
            "type": "object"
          }
        },
        "required": [
          "settings"
        ],
        "type": "object"
      },
      "OrganizationPolicyPutRequest": {
        "additionalProperties": false,
        "description": "`PUT /v1/organizations/{org_id}/policies/{policy_kind}` gövdesi: türün tam ayar nesnesi.",
        "properties": {
          "settings": {
            "additionalProperties": true,
            "description": "Türün ayar nesnesi (en çok 64 KiB); bilinmeyen alan `422`.",
            "type": "object"
          }
        },
        "required": [
          "settings"
        ],
        "type": "object"
      },
      "OrganizationUpdateRequest": {
        "additionalProperties": false,
        "description": "`PATCH /v1/organizations/{org_id}` birleştirme yaması (RFC 7396). Verilmeyen alan değişmez.",
        "properties": {
          "brand_color": {
            "description": "null temizler.",
            "pattern": "^#[0-9A-Fa-f]{6}$",
            "type": [
              "string",
              "null"
            ]
          },
          "default_zoneinfo": {
            "description": "IANA saat dilimi adı; null temizler.",
            "maxLength": 64,
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "external_id": {
            "description": "null temizler.",
            "maxLength": 255,
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "max_memberships": {
            "description": "null sınırsız yapar.",
            "format": "int32",
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Mevcut nesneyle iç içe birleşir; üyeyi null silmek için kullanılır; null `{}` yapar.",
            "type": [
              "object",
              "null"
            ]
          },
          "name": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "slug": {
            "maxLength": 64,
            "minLength": 3,
            "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "type": "object"
      },
      "PasswordResetJob": {
        "additionalProperties": false,
        "description": "Toplu zorunlu parola sıfırlama işi ve sayaçları; kişisel veri yok.",
        "properties": {
          "completed_at": {
            "description": "Yalnız biten işte.",
            "format": "date-time",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "deadline_at": {
            "description": "Yalnız `lazy_then_bulk_reset`.",
            "format": "date-time",
            "type": "string"
          },
          "emailed": {
            "description": "Bunlardan sıfırlama e-postası kuyruğa alınanlar (doğrulanmış birincil adresi olmayana gitmez).",
            "format": "int64",
            "type": "integer"
          },
          "filter": {
            "enum": [
              "user_ids",
              "hash_algo"
            ],
            "type": "string"
          },
          "hash_algos": {
            "description": "Yalnız `filter` = `hash_algo` iken.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "id": {
            "pattern": "^job_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "marked": {
            "description": "Sıfırlama için işaretlenen parolalar.",
            "format": "int64",
            "type": "integer"
          },
          "marked_at": {
            "description": "İşaretleme bittiğinde.",
            "format": "date-time",
            "type": "string"
          },
          "mode": {
            "enum": [
              "on_login",
              "lazy_then_bulk_reset"
            ],
            "type": "string"
          },
          "not_found": {
            "description": "`user_ids` süzgecinde parolası olmayan ya da bu ortamda bulunmayan kullanıcılar.",
            "format": "int64",
            "type": "integer"
          },
          "passwords_deleted": {
            "description": "Son tarihte parola özeti silinen kullanıcılar.",
            "format": "int64",
            "type": "integer"
          },
          "status": {
            "enum": [
              "marking",
              "waiting",
              "resetting",
              "completed"
            ],
            "type": "string"
          },
          "total": {
            "description": "`user_ids` süzgecinde tekil kullanıcı sayısı; `hash_algo` süzgecinde 0.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "mode",
          "filter",
          "status",
          "total",
          "marked",
          "not_found",
          "passwords_deleted",
          "emailed",
          "created_at"
        ],
        "type": "object"
      },
      "PasswordResetJobCreateRequest": {
        "additionalProperties": false,
        "description": "Toplu zorunlu parola sıfırlama isteği: `user_ids` ya da `hash_algos`'tan tam biri.",
        "properties": {
          "deadline_days": {
            "description": "Yalnız `lazy_then_bulk_reset`; verilmezse 30.",
            "format": "int32",
            "maximum": 365,
            "minimum": 1,
            "type": "integer"
          },
          "hash_algos": {
            "description": "Parolası bu algoritmalarla saklanan ve işten önce değişmiş kullanıcılar.",
            "items": {
              "enum": [
                "argon2id",
                "argon2i",
                "bcrypt",
                "scrypt",
                "firebase_scrypt",
                "pbkdf2_sha1",
                "pbkdf2_sha256",
                "pbkdf2_sha512",
                "django_pbkdf2_sha256",
                "django_bcrypt_sha256",
                "phpass",
                "ldap_ssha",
                "ldap_ssha256",
                "sha512_crypt",
                "hmac_sha256",
                "salted_sha256",
                "salted_sha512",
                "md5"
              ],
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          },
          "mode": {
            "description": "`on_login`: sonraki başarılı girişte zorunlu sıfırlama. `lazy_then_bulk_reset`: son tarihe kadar girişte zorunlu sıfırlama, son tarihte parola özeti silinir ve sıfırlama e-postası gönderilir.",
            "enum": [
              "on_login",
              "lazy_then_bulk_reset"
            ],
            "type": "string"
          },
          "user_ids": {
            "description": "Kullanıcılar (usr_…), en çok 100.000; tekrarlar bir kez sayılır.",
            "items": {
              "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 100000,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "mode"
        ],
        "type": "object"
      },
      "Permission": {
        "additionalProperties": false,
        "description": "API izni (OAuth scope'u) ve onay ekranında gösterilen metinleri. Onay ekranı gösterim sırası: sayfa dilindeki `consent_text_i18n` metni (tam etiket, yoksa birincil alt etiket) → `display_name` → `value`; `description` ayrıntı satırıdır. Metinler düz metindir; gösteren sayfa HTML kaçışı yapar.",
        "properties": {
          "api_id": {
            "pattern": "^api_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "consent_text_i18n": {
            "additionalProperties": {
              "maxLength": 1024,
              "minLength": 1,
              "type": "string"
            },
            "description": "Dil etiketi (BCP 47 biçimi) → onay ekranı metni; tanımsızsa boş nesne.",
            "maxProperties": 30,
            "type": "object"
          },
          "description": {
            "description": "Onay ekranında ayrıntı satırı; tanımsızsa null.",
            "maxLength": 1024,
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "display_name": {
            "description": "Onay ekranında scope adının yerine gösterilen kısa ad; tanımsızsa null.",
            "maxLength": 128,
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "Önekli dış kimlik; değişmez ve yeniden kullanılmaz.",
            "pattern": "^perm_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "sensitivity": {
            "description": "`sensitive` izin onay ekranında ayrıca vurgulanır.",
            "enum": [
              "normal",
              "sensitive"
            ],
            "type": "string"
          },
          "value": {
            "description": "Scope adı (`kaynak:eylem`); oluşturulduktan sonra değişmez.",
            "pattern": "^[a-z0-9_.-]{1,64}:[a-z0-9_.*-]{1,64}$",
            "type": "string"
          }
        },
        "required": [
          "id",
          "api_id",
          "value",
          "display_name",
          "description",
          "consent_text_i18n",
          "sensitivity"
        ],
        "type": "object"
      },
      "PermissionCreateRequest": {
        "additionalProperties": false,
        "description": "İzin oluşturma isteği. Metin alanları düz metindir (kontrol karakteri, satır/paragraf ayırıcı ve yön geçersiz kılma karakteri yok); baştaki ve sondaki boşluk kırpılır. `sensitivity` verilmezse `normal`.",
        "properties": {
          "api_id": {
            "pattern": "^api_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "consent_text_i18n": {
            "additionalProperties": {
              "maxLength": 1024,
              "minLength": 1,
              "type": "string"
            },
            "description": "Dil etiketi → metin (her metin 1–1024 karakter); toplam en çok 16 KiB.",
            "maxProperties": 30,
            "type": [
              "object",
              "null"
            ]
          },
          "description": {
            "maxLength": 1024,
            "type": [
              "string",
              "null"
            ]
          },
          "display_name": {
            "maxLength": 128,
            "type": [
              "string",
              "null"
            ]
          },
          "sensitivity": {
            "enum": [
              "normal",
              "sensitive"
            ],
            "type": "string"
          },
          "value": {
            "pattern": "^[a-z0-9_.-]{1,64}:[a-z0-9_.*-]{1,64}$",
            "type": "string"
          }
        },
        "required": [
          "api_id",
          "value"
        ],
        "type": "object"
      },
      "PermissionList": {
        "additionalProperties": false,
        "description": "Bir API'nin izinlerinin imleçli listesi; toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Permission"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "PermissionUpdate": {
        "additionalProperties": false,
        "description": "RFC 7396 birleştirme yaması: verilen alan değişir, verilmeyen korunur. `display_name`, `description` ve `consent_text_i18n` `null` ile temizlenir; `consent_text_i18n` bütün harita olarak değişir. `api_id` değiştirilemez (`400 unknown_field`).",
        "properties": {
          "consent_text_i18n": {
            "additionalProperties": {
              "maxLength": 1024,
              "minLength": 1,
              "type": "string"
            },
            "maxProperties": 30,
            "type": [
              "object",
              "null"
            ]
          },
          "description": {
            "maxLength": 1024,
            "type": [
              "string",
              "null"
            ]
          },
          "display_name": {
            "maxLength": 128,
            "type": [
              "string",
              "null"
            ]
          },
          "sensitivity": {
            "enum": [
              "normal",
              "sensitive"
            ],
            "type": "string"
          },
          "value": {
            "description": "Yalnız mevcut değerle aynıysa kabul edilir.",
            "pattern": "^[a-z0-9_.-]{1,64}:[a-z0-9_.*-]{1,64}$",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Problem": {
        "description": "RFC 9457 problem+json. Uzantılar: `correct_host` (wrong_region), `required_permissions` (insufficient_permissions), `deleted_at`, `deletion_id`, `backups_purged_by`, `merged_into` (user_deleted), `feature` ve `required_plan` (plan_feature_unavailable), `issues`, `violations`, `render_violations` ve `render_violations_truncated` (branding_validation_failed), `resource` (not_found, yalnız eksik kaynağı adlandıran işlemlerde), `plan_status` (config_plan_not_applicable), `unconfirmed_deletions` (deletion_not_confirmed).",
        "properties": {
          "backups_purged_by": {
            "description": "With user_deleted: the date by which the data is purged from backups (RFC 3339, UTC).",
            "format": "date-time",
            "type": "string"
          },
          "code": {
            "$ref": "#/components/schemas/ProblemCode"
          },
          "correct_host": {
            "description": "wrong_region'da doğru bölge host'u (ör. api.us.keenauth.com).",
            "type": "string"
          },
          "deleted_at": {
            "description": "With user_deleted: when the user was deleted (RFC 3339, UTC).",
            "format": "date-time",
            "type": "string"
          },
          "deletion_id": {
            "description": "With user_deleted: the deletion record identifier; absent for older tombstones that have no record.",
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "errors": {
            "items": {
              "$ref": "#/components/schemas/ProblemFieldError"
            },
            "type": "array"
          },
          "feature": {
            "description": "With plan_feature_unavailable: the gated feature (for example passkey_attestation).",
            "type": "string"
          },
          "instance": {
            "description": "urn:idp:request:<request_id>",
            "type": "string"
          },
          "issues": {
            "description": "With branding_validation_failed: every problem that blocked the publish (scope, token, contrast pair, ratio, threshold and the suggested shade).",
            "items": {
              "$ref": "#/components/schemas/BrandingPublishIssue"
            },
            "maxItems": 100,
            "type": "array"
          },
          "merged_into": {
            "description": "With user_deleted: the external identifier of the user this one was merged into; only present for merged users.",
            "type": "string"
          },
          "plan_status": {
            "description": "With config_plan_not_applicable: the plan's current status, or applying while another request is applying the same plan.",
            "enum": [
              "applied",
              "conflicted",
              "expired",
              "applying"
            ],
            "type": "string"
          },
          "render_violations": {
            "description": "With branding_validation_failed on POST /v1/branding:publish: the findings of the publish-time render check of the draft's custom CSS (screen, locale, viewport width, rule, target; never a CSS value). At most 100; render_violations_truncated tells whether there were more.",
            "items": {
              "$ref": "#/components/schemas/BrandingRenderViolation"
            },
            "maxItems": 100,
            "type": "array"
          },
          "render_violations_truncated": {
            "description": "Present with render_violations: true when the render check found more than the 100 findings listed.",
            "type": "boolean"
          },
          "request_id": {
            "type": "string"
          },
          "required_permissions": {
            "description": "insufficient_permissions'ta eksik izinler.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "required_plan": {
            "description": "With plan_feature_unavailable: the lowest plan that includes the feature (startup, business, enterprise).",
            "type": "string"
          },
          "resource": {
            "description": "With not_found, only on operations that name the missing resource (POST /v1/users/{user_id}/consent-records): which referenced resource does not exist in the environment.",
            "enum": [
              "user",
              "application"
            ],
            "type": "string"
          },
          "status": {
            "maximum": 599,
            "minimum": 400,
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "trace_id": {
            "type": "string"
          },
          "type": {
            "description": "https://docs.keenauth.com/errors/<code>",
            "format": "uri",
            "type": "string"
          },
          "unconfirmed_deletions": {
            "description": "With deletion_not_confirmed: every protected deletion (`<kind>/<key>`) missing from confirm_deletions.",
            "items": {
              "type": "string"
            },
            "maxItems": 5000,
            "type": "array"
          },
          "violations": {
            "description": "With branding_validation_failed: every custom CSS violation found by the sanitizer (line, column, rule code, construct name; never a CSS value). After 100 violations the sanitizer stops and the last item has rule too_many_issues. A canonical output over 51200 bytes is one item with rule too_large.",
            "items": {
              "$ref": "#/components/schemas/BrandingCssViolation"
            },
            "maxItems": 101,
            "type": "array"
          }
        },
        "required": [
          "type",
          "title",
          "status",
          "code",
          "request_id"
        ],
        "type": "object"
      },
      "ProblemCode": {
        "description": "Kararlı makine kodu; tam liste api/openapi/problems.yaml.",
        "enum": [
          "malformed_request",
          "unknown_field",
          "validation_failed",
          "unauthenticated",
          "publishable_key_not_allowed",
          "static_key_disallowed",
          "step_up_required",
          "insufficient_permissions",
          "ip_not_allowed",
          "plan_feature_unavailable",
          "quota_exceeded",
          "account_restricted",
          "not_found",
          "method_not_allowed",
          "conflict",
          "idempotency_in_progress",
          "endpoint_sunset",
          "user_deleted",
          "precondition_failed",
          "payload_too_large",
          "unsupported_media_type",
          "wrong_region",
          "idempotency_key_reuse",
          "precondition_required",
          "invalid_cursor",
          "rate_limited",
          "internal_error",
          "service_unavailable",
          "connection_in_use",
          "policy_conflict",
          "transaction_state_conflict",
          "invalid_credentials",
          "transaction_expired",
          "session_limit_reached",
          "no_allowed_method",
          "headless_not_allowed",
          "challenge_required",
          "temporarily_unavailable",
          "password_policy_profile_violation",
          "breached_password",
          "password_policy_violation",
          "connection_requires_own_credentials",
          "last_factor",
          "signup_not_allowed",
          "email_domain_not_allowed",
          "rp_id_change_requires_migration",
          "domain_in_use_by_rp_id",
          "related_origin_not_verified",
          "related_origins_label_limit",
          "credential_limit_reached",
          "credential_already_registered",
          "device_bound_passkey_required",
          "attestation_untrusted",
          "webauthn_challenge_invalid",
          "webauthn_user_mismatch",
          "webauthn_credential_unknown",
          "webauthn_clone_suspected",
          "webauthn_origin_mismatch",
          "user_verification_required",
          "unsupported_algorithm",
          "aaguid_not_allowed",
          "org_policy_authenticator_not_allowed",
          "rp_id_not_registrable",
          "rp_id_migration_in_progress",
          "no_active_rp_id_migration",
          "last_login_method",
          "sso_enforced_by_organization",
          "primary_requires_verified",
          "email_invalid",
          "email_limit_reached",
          "primary_identifier_required",
          "last_verified_channel",
          "verification_rate_limited",
          "verification_invalid",
          "username_unavailable",
          "role_key_conflict",
          "role_in_use",
          "permission_not_allowed",
          "permission_reserved",
          "sso_enforcement_lockout",
          "connection_test_required",
          "version_conflict",
          "range_outside_retention",
          "invalid_audit_event",
          "next_key_too_young",
          "invalid_forwarded_ip",
          "template_forbidden_construct",
          "invalid_display_string",
          "origin_not_allowed",
          "secret_key_in_browser",
          "invalid_filter",
          "duplicate_key",
          "environment_suspended",
          "policy_conflict_empty",
          "policy_out_of_bounds",
          "policy_self_lockout",
          "invalid_credential_type",
          "staff_identity_not_allowed",
          "staff_transfer_not_assessed",
          "impersonation_not_allowed",
          "impersonation_restricted",
          "report_range_exceeds_plan",
          "deadline_exceeded",
          "confirmation_mismatch",
          "export_rate_limited",
          "extension_not_permitted",
          "downgrade_blocked_by_usage",
          "project_not_empty",
          "environment_user_limit_reached",
          "last_owner",
          "region_capacity_pending",
          "maintenance",
          "invalid_api_key",
          "publishable_key_mismatch",
          "branding_validation_failed",
          "custom_domain_in_use",
          "jwe_key_required",
          "transfer_acknowledgement_required",
          "test_feature_not_in_production",
          "permission_escalation",
          "api_key_limit_reached",
          "config_plan_expired",
          "config_conflict",
          "deletion_not_confirmed",
          "config_plan_not_applicable",
          "test_idp_not_allowed_in_production",
          "config_document_too_large",
          "below_security_floor",
          "allowlist_range_too_broad",
          "email_subaddress_not_allowed",
          "sms_country_not_allowed",
          "network_blocked",
          "may_act_limit",
          "search_too_broad",
          "legal_document_unreachable",
          "not_implemented",
          "custom_domain_taken",
          "issuer_change_requires_schedule",
          "custom_domain_state_conflict",
          "dashboard_tokens_suspended",
          "invalid_token",
          "invalid_dpop_proof",
          "use_dpop_nonce",
          "dashboard_identity_missing",
          "dashboard_identity_mismatch",
          "token_revoked",
          "insufficient_user_authentication",
          "console_organization_forbidden",
          "console_organization_inactive",
          "console_membership_rejected",
          "slug_taken",
          "slug_reserved",
          "slug_change_rate_limited",
          "external_id_taken",
          "organization_disabled",
          "organization_pending_deletion",
          "domain_not_claimable",
          "domain_limit_reached",
          "domain_already_verified",
          "domain_not_verified",
          "policy_weaker_than_parent",
          "at_least_one_method",
          "ip_allowlist_would_lock_out",
          "application_not_enabled",
          "last_org_admin",
          "membership_limit_reached",
          "organization_membership_limit_reached",
          "membership_already_exists",
          "role_not_assignable",
          "role_limit_reached",
          "invitation_already_pending",
          "invitation_invalid",
          "invite_rate_limited",
          "anonymous_user_not_allowed",
          "user_not_active",
          "privileged_role_mapping_forbidden",
          "role_mapping_limit_reached",
          "org_custom_roles_disabled",
          "test_recipient_not_allowed",
          "test_recipient_source_unavailable",
          "email_template_not_deliverable",
          "authorization_failed",
          "connection_keys_not_dedicated"
        ],
        "type": "string",
        "x-idp-open-enum": true
      },
      "ProblemFieldError": {
        "properties": {
          "code": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "pointer": {
            "description": "RFC 6901 JSON Pointer",
            "type": "string"
          }
        },
        "required": [
          "pointer",
          "code"
        ],
        "type": "object"
      },
      "ResetUserAuthenticatorsRequest": {
        "additionalProperties": false,
        "properties": {
          "include_passkeys": {
            "default": true,
            "description": "Yoksa `true`: passkey'ler de iptal edilir. `false` ise passkey'ler (`both` rollü olanlar dahil) korunur.",
            "type": "boolean"
          },
          "locale": {
            "description": "Güvenlik bildirimi dili, BCP 47; boşsa kullanıcının ya da ortamın dili.",
            "maxLength": 35,
            "pattern": "^[A-Za-z]{2,8}(-[A-Za-z0-9]{1,8})*$",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResetUserAuthenticatorsResponse": {
        "additionalProperties": false,
        "properties": {
          "notified": {
            "description": "Kullanıcıya güvenlik bildirimi kuyruğa alındı.",
            "type": "boolean"
          },
          "recovery_codes_deleted": {
            "description": "Kurtarma kodu kümesi vardı ve silindi.",
            "type": "boolean"
          },
          "revoked_authenticators": {
            "description": "İptal edilen doğrulayıcı sayısı.",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "revoked_authenticators",
          "recovery_codes_deleted",
          "notified"
        ],
        "type": "object"
      },
      "RevokeApplicationTokensResponse": {
        "additionalProperties": false,
        "properties": {
          "revoked_token_families": {
            "description": "Bu çağrıda iptal edilen refresh token ailesi sayısı.",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "revoked_token_families"
        ],
        "type": "object"
      },
      "RevokeOrganizationSessionsRequest": {
        "additionalProperties": false,
        "properties": {
          "reason": {
            "description": "Yöneticinin iptal notu (1–256 karakter, kontrol karakteri yok). Yalnız yönetim audit kaydına yazılır.",
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "reason"
        ],
        "type": "object"
      },
      "RevokeOrganizationSessionsResponse": {
        "additionalProperties": false,
        "properties": {
          "revoked_sessions": {
            "description": "Bu çağrıda iptal edilen oturum sayısı.",
            "minimum": 0,
            "type": "integer"
          },
          "revoked_token_families": {
            "description": "Bu çağrıda iptal edilen refresh token ailesi sayısı.",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "revoked_sessions",
          "revoked_token_families"
        ],
        "type": "object"
      },
      "RevokeSessionResponse": {
        "additionalProperties": false,
        "properties": {
          "already_inactive": {
            "description": "Oturum zaten iptal edilmiş ya da süresi dolmuştu; bu çağrı bir şey değiştirmedi.",
            "type": "boolean"
          },
          "revoked_token_families": {
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "already_inactive",
          "revoked_token_families"
        ],
        "type": "object"
      },
      "RevokeUserSessionsRequest": {
        "additionalProperties": false,
        "description": "En çok bir süzgeç (V1-09); hiçbiri yoksa kullanıcının tüm oturumları.",
        "maxProperties": 1,
        "properties": {
          "client_id": {
            "description": "Uygulama kimliği (`app_…`). CIMD uygulamasının URL biçimli `client_id`'si kabul edilmez.",
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "org_id": {
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "session_id": {
            "pattern": "^ses_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          }
        },
        "type": "object"
      },
      "RevokeUserSessionsResponse": {
        "additionalProperties": false,
        "properties": {
          "revoked_sessions": {
            "description": "Bu çağrıda iptal edilen oturum sayısı (`client_id` süzgecinde 0).",
            "minimum": 0,
            "type": "integer"
          },
          "revoked_token_families": {
            "description": "Bu çağrıda iptal edilen refresh token ailesi sayısı.",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "revoked_sessions",
          "revoked_token_families"
        ],
        "type": "object"
      },
      "Role": {
        "additionalProperties": false,
        "description": "Bir rol. Ortam rolünde `organization_id` null'dır; izin kümesi `permission_ids`'tir.",
        "properties": {
          "assignable_in_self_service": {
            "description": "Org yöneticisi rolü Yönetici Portalı'ndan atayabilir.",
            "type": "boolean"
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik (`rol_…`).",
            "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "is_privileged": {
            "description": "Ayrıcalıklı rol: self-serviste yalnız `org_admin_role_id` rolünü taşıyan atayabilir; dış grup eşlemesi `roles:write` ve onay ister.",
            "type": "boolean"
          },
          "key": {
            "description": "Kapsamında tekil, değişmez anahtar; access token `org_roles` claim'inde görünür.",
            "maxLength": 64,
            "minLength": 1,
            "readOnly": true,
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "organization_id": {
            "description": "Org'a özgü rolde sahip org; ortam rolünde null.",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "permission_ids": {
            "description": "Rolün izinleri (`perm_…`, kimlik sırasıyla); `PUT …/roles/{role_id}/permissions` ile değişir.",
            "items": {
              "pattern": "^perm_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 500,
            "readOnly": true,
            "type": "array"
          },
          "updated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "version": {
            "description": "Satır sürümü; `ETag` değeridir.",
            "format": "int64",
            "minimum": 1,
            "readOnly": true,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "organization_id",
          "key",
          "name",
          "description",
          "is_privileged",
          "assignable_in_self_service",
          "permission_ids",
          "created_at",
          "updated_at",
          "version"
        ],
        "type": "object"
      },
      "RoleCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/roles` ve `POST /v1/organizations/{org_id}/roles` gövdesi.",
        "properties": {
          "assignable_in_self_service": {
            "default": true,
            "description": "Verilmezse `true`; ayrıcalıklı rolü self-serviste yalnız `org_admin_role_id` rolünü taşıyan atayabilir; dış grup eşlemesi onay ister.",
            "type": "boolean"
          },
          "description": {
            "maxLength": 1024,
            "type": "string"
          },
          "is_privileged": {
            "default": false,
            "description": "Org rolünde `true` olamaz.",
            "type": "boolean"
          },
          "key": {
            "maxLength": 64,
            "minLength": 1,
            "pattern": "^[a-z0-9_-]{1,64}$",
            "type": "string"
          },
          "name": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "key",
          "name"
        ],
        "type": "object"
      },
      "RoleList": {
        "additionalProperties": false,
        "description": "Rollerin imleçli listesi (eskiden yeniye); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Role"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "RoleMapping": {
        "additionalProperties": false,
        "description": "Kurumsal bağlantının dış grup → rol eşlemesi.",
        "properties": {
          "approved_at": {
            "description": "Onay anı; null ise ayrıcalıklı rol federation'da verilmez (`:approve`).",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "connection_id": {
            "pattern": "^conn_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "external_group_key": {
            "description": "IdP'nin gönderdiği grup değeri (aynen).",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik (`rmp_…`).",
            "pattern": "^rmp_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "organization_id": {
            "description": "Bağlantının sahibi org; ortam bağlantısında null.",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "role_id": {
            "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "role_privileged": {
            "description": "Rolün güncel ayrıcalık bayrağı.",
            "readOnly": true,
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "connection_id",
          "organization_id",
          "external_group_key",
          "role_id",
          "role_privileged",
          "approved_at",
          "created_at"
        ],
        "type": "object"
      },
      "RoleMappingCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/connections/{connection_id}/role-mappings` gövdesi.",
        "properties": {
          "external_group_key": {
            "maxLength": 1024,
            "minLength": 1,
            "type": "string"
          },
          "role_id": {
            "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          }
        },
        "required": [
          "external_group_key",
          "role_id"
        ],
        "type": "object"
      },
      "RoleMappingList": {
        "additionalProperties": false,
        "description": "Eşlemelerin imleçli listesi (eskiden yeniye); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/RoleMapping"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "RolePatch": {
        "additionalProperties": false,
        "description": "`PATCH …/roles/{role_id}` birleştirme yaması (RFC 7396); `key` değişmez.",
        "properties": {
          "assignable_in_self_service": {
            "type": "boolean"
          },
          "description": {
            "maxLength": 1024,
            "type": "string"
          },
          "is_privileged": {
            "type": "boolean"
          },
          "name": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RolePermissionsPutRequest": {
        "additionalProperties": false,
        "description": "`PUT /v1/roles/{role_id}/permissions` ve `PUT /v1/organizations/{org_id}/roles/{role_id}/permissions` gövdesi (tam küme).",
        "properties": {
          "permission_ids": {
            "description": "Ortam rolünde en çok 500, org rolünde en çok 100 izin.",
            "items": {
              "pattern": "^perm_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 500,
            "type": "array"
          }
        },
        "required": [
          "permission_ids"
        ],
        "type": "object"
      },
      "Session": {
        "additionalProperties": false,
        "description": "Bir oturumun yönetici görünümü. Çerez, token, cihaz parmak izi ya da sır taşımaz.",
        "properties": {
          "absolute_expires_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "acr": {
            "description": "`1fa`, `mfa` ya da `phr`.",
            "type": [
              "string",
              "null"
            ]
          },
          "amr": {
            "description": "RFC 8176 kimlik doğrulama yöntemleri.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "auth_time": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "pattern": "^ses_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "idle_expires_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "ip_address": {
            "description": "Tam IP adresi (kişisel veri; yönetim okumasında maskesiz); bilinmiyorsa `null`.",
            "type": [
              "string",
              "null"
            ]
          },
          "last_seen_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "login_host": {
            "description": "Oturumun açıldığı giriş host'u (şemasız).",
            "type": [
              "string",
              "null"
            ]
          },
          "org_id": {
            "description": "Oturumun politika org'u; yoksa `null`.",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "revoke_reason": {
            "description": "İptal nedeni (`admin`, `user_logout`, `idp_logout`, `refresh_reuse` gibi); yalnız `revoked` iken.",
            "type": [
              "string",
              "null"
            ]
          },
          "revoked_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "enum": [
              "active",
              "expired",
              "revoked"
            ],
            "type": "string"
          },
          "user_agent": {
            "description": "Kullanıcı aracısı (en çok 512 karakter); bilinmiyorsa `null`.",
            "type": [
              "string",
              "null"
            ]
          },
          "user_id": {
            "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          }
        },
        "required": [
          "id",
          "user_id",
          "status",
          "login_host",
          "auth_time",
          "acr",
          "amr",
          "created_at",
          "last_seen_at",
          "idle_expires_at",
          "absolute_expires_at",
          "org_id",
          "ip_address",
          "user_agent",
          "revoked_at",
          "revoke_reason"
        ],
        "type": "object"
      },
      "SessionList": {
        "description": "Kullanıcının oturumları, tek sayfa (son görülme zamanına göre yeniden eskiye, en çok 1.000); `list_metadata` her zaman null değerlidir.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Session"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "SigningAlgorithm": {
        "description": "Token imza algoritması: `RS256` (RSA-3072, varsayılan) · `ES256` (P-256) · `PS256` (RSA-3072) · `EdDSA` (Ed25519).",
        "enum": [
          "RS256",
          "ES256",
          "PS256",
          "EdDSA"
        ],
        "type": "string"
      },
      "SigningKey": {
        "additionalProperties": false,
        "description": "Ortam JWKS'inde yayımdaki bir imza anahtarının açık bilgisi. Özel anahtar ya da sarılı malzeme taşımaz.",
        "properties": {
          "activated_at": {
            "description": "İmzalamaya başladığı an; `next` iken null.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "algorithm": {
            "$ref": "#/components/schemas/SigningAlgorithm"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "kid": {
            "description": "RFC 7638 JWK SHA-256 thumbprint'i (base64url, dolgusuz); JWKS'teki `kid`.",
            "pattern": "^[A-Za-z0-9_-]{43}$",
            "type": "string"
          },
          "removal_at": {
            "description": "JWKS'ten çıkacağı an (`retired_at` + 7 gün); yalnız `retired` iken dolu.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "retired_at": {
            "description": "İmzalamayı bıraktığı an; yalnız `retired` iken dolu.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "description": "`next` yayımlanmış, henüz imzalamıyor · `active` imzalıyor · `retired` imzalamayı bıraktı, 7 gün doğrulama için yayımda.",
            "enum": [
              "next",
              "active",
              "retired"
            ],
            "type": "string"
          },
          "storage": {
            "$ref": "#/components/schemas/SigningKeyStorage"
          },
          "use": {
            "description": "Anahtarın kullanımı; bu liste yalnız access/ID token imza anahtarlarını içerir.",
            "enum": [
              "token_signing"
            ],
            "type": "string"
          }
        },
        "required": [
          "kid",
          "use",
          "algorithm",
          "state",
          "storage",
          "created_at",
          "activated_at",
          "retired_at",
          "removal_at"
        ],
        "type": "object"
      },
      "SigningKeyList": {
        "additionalProperties": false,
        "description": "Yayımdaki imza anahtarları; sayfalanmaz, imleçler her zaman null.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/SigningKey"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "SigningKeyPolicy": {
        "additionalProperties": false,
        "description": "Ortamın imza anahtarı politikası. Sürüm gövdede değil `ETag` başlığındadır; politika hiç yazılmadıysa varsayılanlar ve `ETag: \"0\"`.",
        "properties": {
          "algorithm": {
            "$ref": "#/components/schemas/SigningAlgorithm"
          },
          "next_rotation_at": {
            "description": "Sonraki otomatik rotasyon (etkin anahtarın etkinleşme anı + aralık); etkin anahtar yoksa null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "rotation_interval_days": {
            "description": "Otomatik rotasyon aralığı (gün); varsayılan 180.",
            "maximum": 365,
            "minimum": 30,
            "type": "integer"
          },
          "storage": {
            "$ref": "#/components/schemas/SigningKeyStorage"
          },
          "updated_at": {
            "description": "Son yazma zamanı; politika hiç yazılmadıysa null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "algorithm",
          "rotation_interval_days",
          "storage",
          "next_rotation_at",
          "updated_at"
        ],
        "type": "object"
      },
      "SigningKeyPolicyPatch": {
        "additionalProperties": false,
        "description": "RFC 7396 yaması; verilmeyen alan değişmez, null olamaz.",
        "properties": {
          "algorithm": {
            "$ref": "#/components/schemas/SigningAlgorithm"
          },
          "rotation_interval_days": {
            "maximum": 365,
            "minimum": 30,
            "type": "integer"
          },
          "storage": {
            "$ref": "#/components/schemas/SigningKeyStorage"
          }
        },
        "type": "object"
      },
      "SigningKeyRotateRequest": {
        "additionalProperties": false,
        "properties": {
          "connection_id": {
            "description": "Yalnız `saml_sp_signing` ve `saml_sp_encryption`: kendine ait SP anahtarları olan (`dedicated_sp_keys`) SAML bağlantısı (`conn_…`); ortam kümesi yerine bu bağlantının kümesi döner. Verilmezse ortamın kümesi.",
            "pattern": "^conn_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "mode": {
            "description": "`immediate` olağan rotasyon adımı · `emergency` acil iptal (eski anahtar JWKS'ten anında çıkar).",
            "enum": [
              "immediate",
              "emergency"
            ],
            "type": "string"
          },
          "reason": {
            "description": "Yalnız `emergency` ve zorunlu: yazdırılabilir ASCII gerekçe (olay ya da kayıt numarası); sır ya da kişisel veri yazılmaz. Audit kaydına yazılır, web kancası olayına yazılmaz.",
            "maxLength": 512,
            "minLength": 1,
            "pattern": "^[ -~]+$",
            "type": "string"
          },
          "revoke_next": {
            "default": false,
            "description": "Yalnız `emergency`: `next` anahtar da şüpheli; o da iptal edilir ve hiç yayımlanmamış yeni bir anahtar etkinleşir.",
            "type": "boolean"
          },
          "revoke_sessions": {
            "default": false,
            "description": "Yalnız `emergency` ve `token_signing`: ortamın tüm refresh token aileleri ve oturumları da iptal edilir.",
            "type": "boolean"
          },
          "use": {
            "default": "token_signing",
            "description": "Döndürülecek anahtar: `token_signing` (access/ID token) ya da ortamın federasyon anahtarları `saml_sp_signing`, `saml_sp_encryption` (SAML SP), `oidc_rp_signing` (OIDC `private_key_jwt`).",
            "enum": [
              "token_signing",
              "saml_sp_signing",
              "saml_sp_encryption",
              "oidc_rp_signing"
            ],
            "type": "string"
          }
        },
        "required": [
          "mode"
        ],
        "type": "object"
      },
      "SigningKeyRotation": {
        "additionalProperties": false,
        "description": "Rotasyonun değiştirdiği anahtarlar (`kid` ile).",
        "properties": {
          "activated_kid": {
            "description": "Şimdi imzalayan (şifreleme anahtarında şifre çözen) anahtar. Federasyon anahtarında `kid`, açık anahtarın RFC 7638 SHA-256 thumbprint'idir.",
            "type": "string"
          },
          "mode": {
            "enum": [
              "immediate",
              "emergency"
            ],
            "type": "string"
          },
          "next_kid": {
            "description": "Yeni yayımlanan `next` anahtar; federasyon anahtarında null (sonraki anahtarı yıllık takvim yayımlar).",
            "type": [
              "string",
              "null"
            ]
          },
          "removed_kids": {
            "description": "Bu rotasyonda 7 günü dolup JWKS'ten çıkan emekli anahtarlar.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "retired_kids": {
            "description": "Bu rotasyonda imzalamayı bırakıp yayımda kalanlar (token anahtarı 7 gün, federasyon anahtarı 30 gün).",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "revoke_sessions": {
            "description": "True ise oturum ve refresh token iptali başlatıldı.",
            "type": "boolean"
          },
          "revoked_kids": {
            "description": "Bu rotasyonda iptal edilip JWKS'ten anında çıkanlar (`emergency`).",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "use": {
            "enum": [
              "token_signing",
              "saml_sp_signing",
              "saml_sp_encryption",
              "oidc_rp_signing"
            ],
            "type": "string"
          }
        },
        "required": [
          "mode",
          "use",
          "activated_kid",
          "next_kid",
          "retired_kids",
          "revoked_kids",
          "removed_kids",
          "revoke_sessions"
        ],
        "type": "object"
      },
      "SigningKeyStorage": {
        "description": "`wrapped`: özel anahtar ortamın imzalayıcı anahtarıyla sarılı saklanır (varsayılan) · `transit`: dışa aktarılamaz anahtar saklama (Enterprise, sonraki sürüm).",
        "enum": [
          "wrapped",
          "transit"
        ],
        "type": "string"
      },
      "SkeletonObject": {
        "additionalProperties": true,
        "description": "Faz 0 iskeleti: kaynak temsili Faz 1'de sahip bölümün alan tablosundan doldurulur.",
        "properties": {
          "id": {
            "description": "Önekli dış kimlik.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "SkeletonRequest": {
        "additionalProperties": true,
        "description": "Faz 0 iskeleti. Faz 1'de alanlar yazılınca `additionalProperties: false` olur.",
        "type": "object"
      },
      "StartUserRecoveryResponse": {
        "additionalProperties": false,
        "properties": {
          "expires_at": {
            "description": "Kurtarma bağlantısının son kullanma zamanı (24 saat); bağlantı yanıtta dönmez.",
            "format": "date-time",
            "type": "string"
          },
          "request_id": {
            "description": "Hesap kurtarma talebinin kimliği.",
            "pattern": "^arq_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "superseded": {
            "description": "Açık bir kurtarma isteği bu çağrıyla değiştirildi.",
            "type": "boolean"
          }
        },
        "required": [
          "request_id",
          "expires_at",
          "superseded"
        ],
        "type": "object"
      },
      "SupportAccessGrant": {
        "additionalProperties": false,
        "description": "Müşterinin KeenAuth destek personeline verdiği süreli ortam erişim izni. İzin değişmez; yalnız iptal edilir.",
        "properties": {
          "allowed_regions_of_staff": {
            "description": "Yalnız bu bölgelerde konumlu personel erişebilir; null ise kısıt yok.",
            "items": {
              "enum": [
                "eu",
                "us"
              ],
              "type": "string",
              "x-idp-open-enum": true
            },
            "type": [
              "array",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "expires_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "granted_by": {
            "description": "İzni veren pano kullanıcısı (`du_…`).",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik (`sag_…`).",
            "pattern": "^sag_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "revoked_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "scope": {
            "description": "`read` yalnız okuma; `read_write_config` yapılandırma yazma (kullanıcı verisi yazımı yoktur).",
            "enum": [
              "read",
              "read_write_config"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "status": {
            "description": "`revoked` iptal edilmiş; `expired` iptal edilmemiş ve `expires_at` geçmiş; diğerleri `active`.",
            "enum": [
              "active",
              "revoked",
              "expired"
            ],
            "readOnly": true,
            "type": "string",
            "x-idp-open-enum": true
          },
          "ticket_ref": {
            "description": "Destek talebi başvurusu.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "id",
          "scope",
          "status",
          "ticket_ref",
          "allowed_regions_of_staff",
          "granted_by",
          "created_at",
          "expires_at",
          "revoked_at"
        ],
        "type": "object"
      },
      "SupportAccessGrantCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/support-access-grants` gövdesi.",
        "properties": {
          "allowed_regions_of_staff": {
            "description": "Yalnız Enterprise; verilmezse ya da null ise kısıt yok.",
            "items": {
              "enum": [
                "eu",
                "us"
              ],
              "type": "string"
            },
            "maxItems": 2,
            "minItems": 1,
            "type": [
              "array",
              "null"
            ],
            "uniqueItems": true
          },
          "duration_hours": {
            "description": "İznin süresi (saat; en çok 72).",
            "maximum": 72,
            "minimum": 1,
            "type": "integer"
          },
          "scope": {
            "enum": [
              "read",
              "read_write_config"
            ],
            "type": "string"
          },
          "ticket_ref": {
            "description": "Destek talebi başvurusu: yazdırılabilir ASCII, başta ve sonda boşluk yok.",
            "maxLength": 200,
            "minLength": 1,
            "pattern": "^[!-~](?:[ -~]*[!-~])?$",
            "type": "string"
          }
        },
        "required": [
          "scope",
          "duration_hours",
          "ticket_ref"
        ],
        "type": "object"
      },
      "SupportAccessGrantList": {
        "additionalProperties": false,
        "description": "Destek erişim izinlerinin imleçli listesi (yeniden eskiye); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/SupportAccessGrant"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "SupportArtifact": {
        "additionalProperties": false,
        "description": "Temizlenmiş ve saklanmış destek eki. İçerik, değer ve nesne konumu taşımaz; ek 30 gün sonra silinir.",
        "properties": {
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "expires_at": {
            "description": "Ekin silineceği an (`created_at` + 30 gün).",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "findings": {
            "additionalProperties": {
              "minimum": 1,
              "type": "integer"
            },
            "description": "Bulgu türü → maskelenen değer sayısı (değer taşımaz). Türler: cookie, authorization, dpop, oauth_param, saml, jwt, host_cookie, api_key, webhook_secret, scim_token, client_secret, refresh_token, access_token, other_idp_secret.",
            "type": "object"
          },
          "id": {
            "description": "Önekli dış kimlik (`sart_…`).",
            "pattern": "^sart_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "kind": {
            "enum": [
              "har",
              "log"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "revocations_triggered": {
            "description": "Ekte bulunduğu için hemen iptal edilen kimlik bilgisi sayısı.",
            "minimum": 0,
            "type": "integer"
          },
          "sha256": {
            "description": "Temizlenmiş içeriğin SHA-256 özeti (küçük harf onaltılık).",
            "pattern": "^[0-9a-f]{64}$",
            "type": "string"
          },
          "size_bytes": {
            "description": "Temizlenmiş içeriğin boyutu.",
            "format": "int64",
            "maximum": 52428800,
            "minimum": 1,
            "type": "integer"
          },
          "ticket_ref": {
            "description": "Destek talebi başvurusu.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "ticket_ref",
          "kind",
          "size_bytes",
          "sha256",
          "findings",
          "revocations_triggered",
          "created_at",
          "expires_at"
        ],
        "type": "object"
      },
      "User": {
        "additionalProperties": false,
        "description": "Ortamın bir kullanıcısı. Boş değerler `null` döner. Kimlik bilgisi `users:read_pii` iznini taşımıyorsa kişisel veri alanları maskeli döner.",
        "properties": {
          "address": {
            "additionalProperties": true,
            "type": [
              "object",
              "null"
            ]
          },
          "age_assurance_level": {
            "description": "Yaş güvence düzeyi.",
            "enum": [
              "self_declared",
              "birthdate_declared",
              "third_party_verified",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "age_group": {
            "description": "Yaş grubu: kayıtta yaş politikasından ya da `PATCH` ile müşterinin kendi doğrulama sürecinden yazılır. `null`: değerlendirilmemiş.",
            "enum": [
              "adult",
              "minor",
              "unknown",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "app_metadata": {
            "additionalProperties": true,
            "description": "Yalnız yönetim tarafının yazdığı meta veri.",
            "type": "object"
          },
          "birthdate": {
            "description": "YYYY-MM-DD.",
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "created_via": {
            "enum": [
              "signup",
              "admin_api",
              "import",
              "jit",
              "scim",
              "invitation",
              "anonymous"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "deletion_due_at": {
            "description": "Silme vadesi; yoksa null.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "deletion_requested_at": {
            "description": "Silme istendiği an; yoksa null.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "type": [
              "string",
              "null"
            ]
          },
          "email_verified": {
            "type": "boolean"
          },
          "external_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "family_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "gender": {
            "type": [
              "string",
              "null"
            ]
          },
          "given_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "Önekli dış kimlik.",
            "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "kind": {
            "enum": [
              "regular",
              "anonymous"
            ],
            "type": "string"
          },
          "last_sign_in_at": {
            "description": "Son başarılı giriş; hiç giriş yoksa null.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "locale": {
            "type": [
              "string",
              "null"
            ]
          },
          "middle_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "nickname": {
            "type": [
              "string",
              "null"
            ]
          },
          "parental_consent_status": {
            "description": "Ebeveyn rızası durumu. `not_required` dışındaki değerler yalnız `age_group: minor` kullanıcıda bulunur.",
            "enum": [
              "not_required",
              "pending",
              "granted",
              "denied",
              "revoked",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "phone_country_code": {
            "description": "ISO 3166-1 alpha-2 ya da `ZZ`.",
            "type": [
              "string",
              "null"
            ]
          },
          "phone_number": {
            "description": "E.164.",
            "type": [
              "string",
              "null"
            ]
          },
          "phone_verified": {
            "type": "boolean"
          },
          "picture": {
            "type": [
              "string",
              "null"
            ]
          },
          "profile_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "enum": [
              "active",
              "blocked",
              "pending_deletion"
            ],
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          },
          "user_metadata": {
            "additionalProperties": true,
            "description": "Kullanıcının görebildiği meta veri.",
            "type": "object"
          },
          "username": {
            "type": [
              "string",
              "null"
            ]
          },
          "website": {
            "type": [
              "string",
              "null"
            ]
          },
          "zoneinfo": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "kind",
          "status",
          "external_id",
          "username",
          "name",
          "given_name",
          "family_name",
          "middle_name",
          "nickname",
          "picture",
          "website",
          "profile_url",
          "locale",
          "zoneinfo",
          "gender",
          "address",
          "birthdate",
          "email",
          "email_verified",
          "phone_number",
          "phone_verified",
          "phone_country_code",
          "user_metadata",
          "app_metadata",
          "created_via",
          "created_at",
          "updated_at",
          "last_sign_in_at",
          "deletion_requested_at",
          "deletion_due_at"
        ],
        "type": "object"
      },
      "UserAuthenticator": {
        "additionalProperties": false,
        "description": "Kullanıcının bir doğrulayıcısının yönetici görünümü: yalnız üst veri. Açık anahtar, kimlik bilgisi kimliği, TOTP sırrı ve kurtarma kodu yoktur.",
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "pattern": "^cred_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "label": {
            "description": "Kullanıcının verdiği etiket; kişisel veri olabilir. `users:read_pii` izni yoksa baş harflere indirilir.",
            "type": [
              "string",
              "null"
            ]
          },
          "last_used_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "revoke_reason": {
            "description": "`user_removed`, `admin_removed`, `account_recovery`, `mds_compromise`, `rp_id_changed` ya da `clone_suspected`; iptal edilmemişse `null`.",
            "type": [
              "string",
              "null"
            ]
          },
          "revoked_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "revoked_by": {
            "description": "`user`, `admin:<aktör>` ya da `system`; iptal edilmemişse `null`.",
            "type": [
              "string",
              "null"
            ]
          },
          "role": {
            "enum": [
              "first_factor",
              "second_factor",
              "both"
            ],
            "type": "string"
          },
          "status": {
            "enum": [
              "pending",
              "active",
              "revoked",
              "clone_suspected"
            ],
            "type": "string"
          },
          "synced": {
            "description": "WebAuthn: senkronize (yedeklenebilir) passkey; diğer türlerde `false`.",
            "type": "boolean"
          },
          "type": {
            "enum": [
              "webauthn",
              "totp",
              "sms",
              "email",
              "push"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "role",
          "label",
          "status",
          "synced",
          "created_at",
          "last_used_at",
          "revoked_at",
          "revoked_by",
          "revoke_reason"
        ],
        "type": "object"
      },
      "UserAuthenticatorList": {
        "description": "Kullanıcının doğrulayıcıları, tek sayfa (oluşturma zamanına göre); `list_metadata` her zaman null değerlidir.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/UserAuthenticator"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "UserBlockRequest": {
        "additionalProperties": false,
        "properties": {
          "note": {
            "description": "Engelleme notu; kişisel veri yazılmamalıdır.",
            "maxLength": 1000,
            "type": "string"
          }
        },
        "type": "object"
      },
      "UserConsent": {
        "additionalProperties": false,
        "description": "Kullanıcının bir uygulamaya verdiği etkin OAuth onayı. Gösterilen onay metninin özeti dönmez.",
        "properties": {
          "api_id": {
            "description": "Onayın bağlı olduğu API; yoksa `null`.",
            "pattern": "^api_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "application_id": {
            "pattern": "^app_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "authorization_details_types": {
            "description": "Verilmiş zengin yetkilendirme (RFC 9396) türleri; yoksa boş dizi.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "consent_screen_version": {
            "description": "Onayın verildiği onay ekranı sürümü; yoksa `null`.",
            "type": [
              "string",
              "null"
            ]
          },
          "granted_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "pattern": "^cns_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "locale": {
            "description": "Onay ekranının dili (BCP 47); yoksa `null`.",
            "type": [
              "string",
              "null"
            ]
          },
          "org_id": {
            "description": "Onayın verildiği org bağlamı; yoksa `null`.",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "prompt_reason": {
            "description": "Onayın neden istendiği: ilk onay, scope genişlemesi, `prompt=consent` ya da onay ekranı atlanmış birinci taraf uygulama.",
            "enum": [
              "first",
              "scope_expansion",
              "prompt_consent",
              "skip_consent"
            ],
            "type": "string"
          },
          "scopes": {
            "description": "Verilmiş scope birleşimi, sıralı ve tekil.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "user_id": {
            "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          }
        },
        "required": [
          "id",
          "user_id",
          "application_id",
          "api_id",
          "org_id",
          "scopes",
          "authorization_details_types",
          "granted_at",
          "consent_screen_version",
          "locale",
          "prompt_reason"
        ],
        "type": "object"
      },
      "UserConsentList": {
        "additionalProperties": false,
        "description": "Kullanıcının etkin onayları, imleçli (en yeni verilen önce); toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/UserConsent"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "UserCreateRequest": {
        "additionalProperties": false,
        "description": "E-posta, telefon numarası ya da kullanıcı adından en az biri gerekir.",
        "properties": {
          "address": {
            "additionalProperties": true,
            "description": "OIDC `address` nesnesi (en çok 2048 bayt).",
            "type": "object"
          },
          "app_metadata": {
            "additionalProperties": true,
            "description": "Uygulama meta verisi; en çok 16 KiB, derinlik 5, 100 anahtar.",
            "type": "object"
          },
          "birthdate": {
            "description": "YYYY-MM-DD.",
            "format": "date",
            "type": "string"
          },
          "email": {
            "description": "Birincil e-posta.",
            "type": "string"
          },
          "email_verified": {
            "default": false,
            "type": "boolean"
          },
          "external_id": {
            "description": "Müşterinin kendi kullanıcı kimliği; ortamda tekildir.",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "family_name": {
            "maxLength": 128,
            "type": "string"
          },
          "gender": {
            "maxLength": 64,
            "type": "string"
          },
          "given_name": {
            "maxLength": 128,
            "type": "string"
          },
          "locale": {
            "maxLength": 35,
            "minLength": 2,
            "type": "string"
          },
          "middle_name": {
            "maxLength": 128,
            "type": "string"
          },
          "name": {
            "maxLength": 256,
            "type": "string"
          },
          "nickname": {
            "maxLength": 128,
            "type": "string"
          },
          "phone_country_code": {
            "description": "ISO 3166-1 alpha-2; boşsa telefon önekinden türetilir, bilinmiyorsa `ZZ`.",
            "pattern": "^[A-Z]{2}$",
            "type": "string"
          },
          "phone_number": {
            "description": "Birincil telefon, E.164.",
            "type": "string"
          },
          "phone_verified": {
            "default": false,
            "type": "boolean"
          },
          "picture": {
            "description": "`https://` URL.",
            "maxLength": 2048,
            "type": "string"
          },
          "profile_url": {
            "description": "OIDC `profile` URL'si (`https://`).",
            "maxLength": 2048,
            "type": "string"
          },
          "user_metadata": {
            "additionalProperties": true,
            "description": "Kullanıcı meta verisi; en çok 16 KiB, derinlik 5, 100 anahtar.",
            "type": "object"
          },
          "username": {
            "description": "Kullanıcı adı; ortamda tekildir.",
            "maxLength": 64,
            "minLength": 3,
            "type": "string"
          },
          "website": {
            "description": "`https://` URL.",
            "maxLength": 2048,
            "type": "string"
          },
          "zoneinfo": {
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "UserDeletion": {
        "additionalProperties": false,
        "properties": {
          "deletion_id": {
            "description": "Silme isteğinin kimliği; aynı kullanıcıya tekrarlanan istek aynı kimliği döndürür.",
            "format": "uuid",
            "type": "string"
          },
          "requested_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "deletion_id",
          "requested_at"
        ],
        "type": "object"
      },
      "UserDeletionJob": {
        "additionalProperties": false,
        "description": "Toplu kullanıcı silme işi ve sayaçları.",
        "properties": {
          "completed_at": {
            "description": "Yalnız biten işte.",
            "format": "date-time",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "failed": {
            "format": "int64",
            "type": "integer"
          },
          "filter": {
            "enum": [
              "user_ids",
              "organization"
            ],
            "type": "string"
          },
          "id": {
            "pattern": "^job_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "not_found": {
            "format": "int64",
            "type": "integer"
          },
          "organization_id": {
            "description": "Yalnız `filter` = `organization` iken.",
            "type": "string"
          },
          "pending": {
            "format": "int64",
            "type": "integer"
          },
          "status": {
            "enum": [
              "running",
              "completed",
              "completed_with_errors"
            ],
            "type": "string"
          },
          "succeeded": {
            "format": "int64",
            "type": "integer"
          },
          "total": {
            "description": "İşteki tekil kullanıcı sayısı.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "status",
          "filter",
          "total",
          "succeeded",
          "not_found",
          "failed",
          "pending",
          "created_at"
        ],
        "type": "object"
      },
      "UserDeletionJobCreateRequest": {
        "additionalProperties": false,
        "description": "Toplu kullanıcı silme isteği: `user_ids` ya da `organization_id`'den tam biri.",
        "properties": {
          "confirm_count": {
            "description": "Kuru çalıştırmanın `matched_count`'ı; `dry_run` false iken zorunlu, eşleşmezse 409 `confirmation_mismatch`.",
            "format": "int32",
            "maximum": 10000,
            "minimum": 0,
            "type": "integer"
          },
          "dry_run": {
            "default": false,
            "description": "true: hiçbir şey yazılmaz, yalnız `matched_count` döner.",
            "type": "boolean"
          },
          "organization_id": {
            "description": "Bu org'un etkin ve askıdaki üyeleri (iş oluşturulurken alınır; en çok 10.000).",
            "pattern": "^org_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "user_ids": {
            "description": "Silinecek kullanıcılar (usr_…), en çok 10.000; tekrarlar bir kez sayılır, sonuç sırası ilk görülme sırasıdır.",
            "items": {
              "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 10000,
            "minItems": 1,
            "type": "array"
          }
        },
        "type": "object"
      },
      "UserDeletionJobCreateResult": {
        "additionalProperties": false,
        "description": "Kuru çalıştırmada yalnız sayı; iş oluşturulunca `job` da döner.",
        "properties": {
          "dry_run": {
            "type": "boolean"
          },
          "job": {
            "$ref": "#/components/schemas/UserDeletionJob"
          },
          "matched_count": {
            "description": "Bu ortamda bulunan (silinecek) kullanıcı sayısı.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "dry_run",
          "matched_count"
        ],
        "type": "object"
      },
      "UserDeletionJobResult": {
        "additionalProperties": false,
        "description": "Bir kullanıcının sonucu; kişisel veri yok.",
        "properties": {
          "deletion_id": {
            "description": "Yalnız `succeeded`: silme isteğinin kimliği.",
            "format": "uuid",
            "type": "string"
          },
          "error_code": {
            "description": "Yalnız `failed`.",
            "enum": [
              "internal"
            ],
            "type": "string"
          },
          "position": {
            "description": "İstekteki sıra (1'den).",
            "format": "int64",
            "type": "integer"
          },
          "status": {
            "enum": [
              "pending",
              "succeeded",
              "not_found",
              "failed"
            ],
            "type": "string"
          },
          "user_id": {
            "type": "string"
          }
        },
        "required": [
          "position",
          "user_id",
          "status"
        ],
        "type": "object"
      },
      "UserDeletionJobResultList": {
        "additionalProperties": false,
        "description": "İmleçli sonuç listesi, istek sırasıyla; toplam sayı işin sayaçlarındadır.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/UserDeletionJobResult"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "UserEmail": {
        "additionalProperties": false,
        "description": "Kullanıcının bir e-posta adresi. Kimlik bilgisi `users:read_pii` iznini taşımıyorsa `email` maskeli döner (yerel kısmın ilk harfi, `***`, alan adının ilk harfi ve üst düzey alan adı).",
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "id": {
            "description": "E-posta satırının dahili UUID'si (küçük harf, tireli).",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
            "type": "string"
          },
          "primary": {
            "description": "Kullanıcının birincil adresi. Kayıt adresi henüz doğrulanmamışsa birincil adres doğrulanmamış olabilir; birincil yapma yalnız doğrulanmış adreste yapılır.",
            "type": "boolean"
          },
          "verified": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "email",
          "verified",
          "primary",
          "created_at"
        ],
        "type": "object"
      },
      "UserEmailCreateRequest": {
        "additionalProperties": false,
        "properties": {
          "email": {
            "description": "Eklenecek adres; normalleştirilerek saklanır. Doğrulanmamış ve birincil olmayan olarak eklenir.",
            "maxLength": 320,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "email"
        ],
        "type": "object"
      },
      "UserEmailList": {
        "description": "Kullanıcının e-posta adresleri, tek sayfa (önce birincil, sonra oluşturma sırası; en çok 10); `list_metadata` her zaman null değerlidir.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/UserEmail"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "UserExportCreateRequest": {
        "additionalProperties": false,
        "description": "Kullanıcı verisi dışa aktarma isteği. Gövde isteğe bağlıdır.",
        "properties": {
          "include_ip": {
            "default": false,
            "description": "Oturum ve olay IP adresleri pakete girsin mi; `audit-events:read_ip` izni ister.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "UserExportJob": {
        "additionalProperties": false,
        "description": "Tek kullanıcı verisi dışa aktarma işi. Boş değerler `null` döner.",
        "properties": {
          "completed_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "expires_at": {
            "description": "Paketin silineceği an (`completed_at` + 7 gün).",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "failure_reason": {
            "enum": [
              "too_large",
              "user_deleted",
              "source_unavailable",
              "attempts_exhausted",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "file": {
            "additionalProperties": false,
            "description": "Paketin boyutu ve SHA-256 özeti; yalnız `completed` ve `expired`.",
            "properties": {
              "sha256": {
                "pattern": "^[0-9a-f]{64}$",
                "type": "string"
              },
              "size": {
                "format": "int64",
                "minimum": 1,
                "type": "integer"
              }
            },
            "required": [
              "size",
              "sha256"
            ],
            "type": [
              "object",
              "null"
            ]
          },
          "id": {
            "pattern": "^job_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "include_app_metadata": {
            "description": "Yönetim yollarında her zaman `true`.",
            "type": "boolean"
          },
          "include_ip": {
            "type": "boolean"
          },
          "kind": {
            "enum": [
              "subject"
            ],
            "type": "string"
          },
          "requested_by": {
            "additionalProperties": false,
            "properties": {
              "id": {
                "type": "string"
              },
              "type": {
                "enum": [
                  "api_key",
                  "management_client",
                  "dashboard_user"
                ],
                "type": "string"
              }
            },
            "required": [
              "type",
              "id"
            ],
            "type": [
              "object",
              "null"
            ]
          },
          "source": {
            "description": "İşin istendiği yüzey: yönetim API'si ya da pano.",
            "enum": [
              "management_api",
              "dashboard"
            ],
            "type": "string"
          },
          "started_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "enum": [
              "queued",
              "running",
              "completed",
              "failed",
              "expired"
            ],
            "type": "string"
          },
          "user_id": {
            "pattern": "^usr_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          }
        },
        "required": [
          "id",
          "kind",
          "source",
          "user_id",
          "status",
          "include_app_metadata",
          "include_ip",
          "file",
          "failure_reason",
          "requested_by",
          "created_at",
          "started_at",
          "completed_at",
          "expires_at"
        ],
        "type": "object"
      },
      "UserIdentity": {
        "additionalProperties": false,
        "description": "Kullanıcının bir bağlı kimliği. Dış özne (OIDC `sub`, SAML NameID), IdP e-postası ve kimlik bilgisi referansı yoktur.",
        "properties": {
          "connection_id": {
            "description": "Kimliğin bağlantısı; `password` türünde `null`.",
            "pattern": "^conn_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "pattern": "^idn_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "linked_via": {
            "description": "Kimliğin kullanıcıya nasıl bağlandığı.",
            "enum": [
              "primary",
              "auto_verified_email",
              "user_confirmed",
              "admin_api",
              "import",
              "jit",
              "auto_domain",
              "invite_proof",
              "manual_link",
              "scim_match"
            ],
            "type": "string"
          },
          "provider": {
            "description": "Yalnız `social` türünde sağlayıcı kodu (`google`, `apple`, `github` …); diğer türlerde `null`.",
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "enum": [
              "password",
              "social",
              "saml",
              "oidc",
              "legacy"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "connection_id",
          "provider",
          "linked_via",
          "created_at"
        ],
        "type": "object"
      },
      "UserIdentityLinkRequest": {
        "additionalProperties": false,
        "properties": {
          "connection_id": {
            "description": "Bu ortamın etkin bağlantısı.",
            "pattern": "^conn_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "subject": {
            "description": "IdP'deki dış özne (OIDC `sub`, SAML NameID); en çok 1024 bayt UTF-8. Kişisel veridir: saklanırken şifrelenir, hiçbir yanıtta dönmez.",
            "maxLength": 1024,
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "description": "Kimlik türü; bağlantının türüyle uyumlu olmalıdır (`social` ↔ sosyal bağlantı, `saml`/`oidc` ↔ aynı stratejili kurumsal bağlantı).",
            "enum": [
              "social",
              "saml",
              "oidc"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "connection_id",
          "subject"
        ],
        "type": "object"
      },
      "UserIdentityList": {
        "description": "Kullanıcının bağlı kimlikleri, tek sayfa (oluşturma zamanına göre); `list_metadata` her zaman null değerlidir.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/UserIdentity"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "UserList": {
        "additionalProperties": false,
        "description": "İmleçli kullanıcı listesi; toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/User"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "UserLocaleRequest": {
        "additionalProperties": false,
        "description": "Kullanıcıya e-posta gönderen eylemlerin isteğe bağlı gövdesi.",
        "properties": {
          "locale": {
            "description": "E-posta dili, BCP 47 (ör. `tr`, `pt-BR`); boşsa kullanıcının ya da ortamın dili.",
            "maxLength": 35,
            "pattern": "^[A-Za-z]{2,8}(-[A-Za-z0-9]{1,8})*$",
            "type": "string"
          }
        },
        "type": "object"
      },
      "UserRoles": {
        "additionalProperties": false,
        "description": "Kullanıcının doğrudan ortam rolleri; `GET` yanıtı ve `PUT /v1/users/{user_id}/roles` gövdesi (tam küme).",
        "properties": {
          "role_ids": {
            "items": {
              "pattern": "^rol_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            },
            "maxItems": 50,
            "type": "array"
          }
        },
        "required": [
          "role_ids"
        ],
        "type": "object"
      },
      "UserSearchRequest": {
        "additionalProperties": false,
        "description": "Süzgeçler VE ile birleşir; en az bir kimlik süzgeci (`email`, `phone`, `username`, `email_domain`, `app_metadata`, `user_metadata`) gerekir.",
        "properties": {
          "app_metadata": {
            "additionalProperties": true,
            "description": "En çok 3 üst düzey anahtar = skaler değer eşitliği.",
            "type": "object"
          },
          "email": {
            "description": "Tam e-posta eşleşmesi.",
            "type": "string"
          },
          "email_domain": {
            "description": "Tam e-posta alan adı.",
            "type": "string"
          },
          "phone": {
            "description": "E.164 tam eşleşme.",
            "type": "string"
          },
          "status": {
            "enum": [
              "active",
              "blocked",
              "pending_deletion"
            ],
            "type": "string"
          },
          "user_metadata": {
            "additionalProperties": true,
            "description": "En çok 3 üst düzey anahtar = skaler değer eşitliği.",
            "type": "object"
          },
          "username": {
            "description": "Tam kullanıcı adı eşleşmesi.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "UserSignInFailures": {
        "additionalProperties": false,
        "description": "Bir yolun penceresi sürmekte olan başarısızlık sayacı; pencere bitince sayaç sıfırdan başlar.",
        "properties": {
          "count": {
            "description": "Son başarıdan ya da son kilitten beri başarısız deneme sayısı.",
            "minimum": 1,
            "readOnly": true,
            "type": "integer"
          },
          "path": {
            "$ref": "#/components/schemas/UserSignInPath"
          },
          "window_ends_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "required": [
          "path",
          "count",
          "window_ends_at"
        ],
        "type": "object"
      },
      "UserSignInLock": {
        "additionalProperties": false,
        "description": "Açık ve süresi dolmamış bir hesap kilidi.",
        "properties": {
          "expires_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "description": "Önekli dış kimlik (`lck_…`); `DELETE /v1/attack-protection/lockouts/{lockout_id}` ile kapanır.",
            "pattern": "^lck_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "locked_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "path": {
            "$ref": "#/components/schemas/UserSignInPath"
          }
        },
        "required": [
          "id",
          "path",
          "locked_at",
          "expires_at"
        ],
        "type": "object"
      },
      "UserSignInPath": {
        "description": "Kendi sayacı ve kilidi olan kimlik doğrulama yolu.",
        "enum": [
          "password",
          "totp",
          "sms_2fa",
          "email_2fa",
          "otp",
          "recovery_code"
        ],
        "readOnly": true,
        "type": "string"
      },
      "UserSignInState": {
        "additionalProperties": false,
        "description": "`GET /v1/users/{user_id}/sign-in-state` yanıtı.",
        "properties": {
          "failures": {
            "items": {
              "$ref": "#/components/schemas/UserSignInFailures"
            },
            "maxItems": 6,
            "readOnly": true,
            "type": "array"
          },
          "last_sign_in": {
            "additionalProperties": false,
            "description": "Saklamadaki oturumların en son başarılı kimlik doğrulaması (oturumun `auth_time` değeri; yeniden kimlik doğrulama ileri taşır); oturum yoksa `null`.",
            "properties": {
              "amr": {
                "description": "RFC 8176 kimlik doğrulama yöntemleri, oturumdaki sırayla.",
                "items": {
                  "maxLength": 32,
                  "minLength": 1,
                  "type": "string"
                },
                "maxItems": 8,
                "minItems": 1,
                "readOnly": true,
                "type": "array"
              },
              "authenticated_at": {
                "format": "date-time",
                "readOnly": true,
                "type": "string"
              },
              "country": {
                "description": "Oturumun son bilinen ülkesi (ISO 3166-1 alpha-2); bilinmiyorsa `null`.",
                "pattern": "^[A-Z]{2}$",
                "readOnly": true,
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "readOnly": true,
            "required": [
              "authenticated_at",
              "amr",
              "country"
            ],
            "type": [
              "object",
              "null"
            ]
          },
          "locked": {
            "description": "En az bir kimlik doğrulama yolu kilitli.",
            "readOnly": true,
            "type": "boolean"
          },
          "locked_until": {
            "description": "En geç biten açık kilidin bitişi; kilit yoksa `null`.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "locks": {
            "items": {
              "$ref": "#/components/schemas/UserSignInLock"
            },
            "maxItems": 6,
            "readOnly": true,
            "type": "array"
          }
        },
        "required": [
          "locked",
          "locked_until",
          "locks",
          "failures",
          "last_sign_in"
        ],
        "type": "object"
      },
      "UserUnlockResult": {
        "additionalProperties": false,
        "description": "`POST /v1/users/{user_id}:unlock` sonucu.",
        "properties": {
          "unlocked": {
            "description": "Kapatılan kilit sayısı (yol başına en çok bir); kilidi olmayan kullanıcıda 0.",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "unlocked"
        ],
        "type": "object"
      },
      "UserUpdate": {
        "additionalProperties": false,
        "description": "JSON merge-patch (RFC 7396) gövdesi; yalnız gönderilen alanlar değişir.",
        "properties": {
          "address": {
            "additionalProperties": true,
            "description": "Bütünüyle değişir; `null` temizler.",
            "type": [
              "object",
              "null"
            ]
          },
          "age_assurance_level": {
            "description": "Yaş güvence düzeyi; `null` temizler. Müşterinin kendi yaş doğrulamasının düzeyidir.",
            "enum": [
              "self_declared",
              "birthdate_declared",
              "third_party_verified",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "age_group": {
            "description": "Yaş grubu. Temizlenemez; değerlendirme bilinmiyorsa `unknown`. Değişiklik `user.updated` olayını yayar.",
            "enum": [
              "adult",
              "minor",
              "unknown"
            ],
            "type": "string"
          },
          "app_metadata": {
            "additionalProperties": true,
            "description": "RFC 7396 yamasıdır: nesne anahtar anahtar birleşir (iç içe `null` o anahtarı siler); `null` tüm meta veriyi siler ve `{}` olur.",
            "type": [
              "object",
              "null"
            ]
          },
          "birthdate": {
            "description": "YYYY-MM-DD.",
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "description": "`null` birincil e-postayı kaldırır.",
            "type": [
              "string",
              "null"
            ]
          },
          "email_verified": {
            "type": "boolean"
          },
          "external_id": {
            "description": "`null` ya da boş dize temizler.",
            "type": [
              "string",
              "null"
            ]
          },
          "family_name": {
            "description": "",
            "type": [
              "string",
              "null"
            ]
          },
          "gender": {
            "description": "",
            "type": [
              "string",
              "null"
            ]
          },
          "given_name": {
            "description": "",
            "type": [
              "string",
              "null"
            ]
          },
          "locale": {
            "description": "",
            "type": [
              "string",
              "null"
            ]
          },
          "middle_name": {
            "description": "",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "`null` ya da boş dize temizler.",
            "type": [
              "string",
              "null"
            ]
          },
          "nickname": {
            "description": "",
            "type": [
              "string",
              "null"
            ]
          },
          "parental_consent_status": {
            "description": "Ebeveyn rızası durumu; `null` temizler. `not_required` dışındaki değerler yalnız `age_group: minor` kullanıcıda kabul edilir (yoksa `validation_failed`, işaretçi `/parental_consent_status`). Değişiklik `user.updated` olayını yayar.",
            "enum": [
              "not_required",
              "pending",
              "granted",
              "denied",
              "revoked",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "phone_country_code": {
            "description": "ISO 3166-1 alpha-2.",
            "type": [
              "string",
              "null"
            ]
          },
          "phone_number": {
            "description": "`null` birincil telefonu kaldırır.",
            "type": [
              "string",
              "null"
            ]
          },
          "phone_verified": {
            "type": "boolean"
          },
          "picture": {
            "description": "",
            "type": [
              "string",
              "null"
            ]
          },
          "profile_url": {
            "description": "",
            "type": [
              "string",
              "null"
            ]
          },
          "user_metadata": {
            "additionalProperties": true,
            "description": "RFC 7396 yamasıdır: nesne anahtar anahtar birleşir (iç içe `null` o anahtarı siler); `null` tüm meta veriyi siler ve `{}` olur.",
            "type": [
              "object",
              "null"
            ]
          },
          "username": {
            "description": "`null` ya da boş dize temizler.",
            "type": [
              "string",
              "null"
            ]
          },
          "website": {
            "description": "",
            "type": [
              "string",
              "null"
            ]
          },
          "zoneinfo": {
            "description": "",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "UserVerificationEmailSent": {
        "additionalProperties": false,
        "properties": {
          "expires_at": {
            "description": "Doğrulama isteğinin son kullanma zamanı; kod ya da bağlantı dönmez.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "expires_at"
        ],
        "type": "object"
      },
      "WebhookDelivery": {
        "additionalProperties": false,
        "description": "Gövdesiz teslim meta verisi; alıcı adresi ve yük gövdesi döndürülmez.",
        "properties": {
          "attempt_count": {
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "completed_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "endpoint_id": {
            "pattern": "^whe_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "event_id": {
            "description": "Olay kimliği; `webhook-id` başlığı olarak gider ve yeniden gönderimlerde değişmez.",
            "pattern": "^evt_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "event_seq": {
            "format": "int64",
            "type": "integer"
          },
          "event_type": {
            "type": "string"
          },
          "id": {
            "pattern": "^whd_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "last_error_class": {
            "enum": [
              "timeout",
              "tls",
              "dns",
              "egress_blocked",
              "http_status",
              "connection",
              null
            ],
            "type": [
              "string",
              "null"
            ],
            "x-idp-open-enum": true
          },
          "last_http_status": {
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "last_latency_ms": {
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "next_attempt_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "replay_no": {
            "description": "Yeniden gönderim sırası; ilk teslim 0.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "status": {
            "enum": [
              "pending",
              "retrying",
              "succeeded",
              "abandoned",
              "cancelled"
            ],
            "type": "string",
            "x-idp-open-enum": true
          }
        },
        "required": [
          "id",
          "endpoint_id",
          "event_id",
          "event_seq",
          "event_type",
          "replay_no",
          "status",
          "attempt_count",
          "next_attempt_at",
          "last_http_status",
          "last_error_class",
          "last_latency_ms",
          "created_at",
          "completed_at"
        ],
        "type": "object"
      },
      "WebhookDeliveryList": {
        "additionalProperties": false,
        "description": "Ucun son 30 günlük teslim geçmişinin imleçli listesi; toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/WebhookDelivery"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "WebhookEndpoint": {
        "additionalProperties": false,
        "description": "Müşteri web kancası ucu. İmza sırrı bu şemada hiç yoktur.",
        "properties": {
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "description": {
            "maxLength": 500,
            "type": "string"
          },
          "event_schema_versions": {
            "additionalProperties": {
              "format": "int32",
              "minimum": 1,
              "type": "integer"
            },
            "description": "Tür → şema sürümü; yazılmayan tür en eski desteklenen sürümle gider.",
            "type": "object"
          },
          "event_types": {
            "description": "Müşteri olay kataloğu türleri; boş = yüksek hacimli türler dışındaki bütün türler.",
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "type": "array",
            "uniqueItems": true
          },
          "failing_since": {
            "description": "Kesintisiz başarısız teslimlerin başladığı an; uç yeniden `enabled` yapılınca silinir.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "Önekli dış kimlik (`whe_…`).",
            "pattern": "^whe_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "key": {
            "description": "Ortamda tekil kararlı anahtar; oluşturmada verilmezse `endpoint-<kimliğin son 8 karakteri>`.",
            "pattern": "^[a-z0-9][a-z0-9_-]{0,63}$",
            "type": "string"
          },
          "last_success_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "payload_mode": {
            "description": "`thin` (varsayılan): kimlikler, değişen alan adları ve durum alanları, kişisel veri yok; `full`: yönetim API'sinin aynı kaynak için döndüğü temsil.",
            "enum": [
              "thin",
              "full"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "previous_secret_expires_at": {
            "description": "Rotasyondan sonra eski sırrın ikinci imza olarak kullanıldığı sürenin sonu; yoksa null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "rate_limit_per_second": {
            "description": "Uç başına teslim hız tavanı (istek/sn); varsayılan 50.",
            "format": "int32",
            "maximum": 1000,
            "minimum": 1,
            "type": "integer"
          },
          "status": {
            "description": "`disabled_by_failure` (5 gün başarısız teslim ve en az 10 `abandoned`) ve `disabled_by_receiver` (alıcı `410 Gone`) yalnız teslim işçisince yazılır.",
            "enum": [
              "enabled",
              "disabled_by_user",
              "disabled_by_failure",
              "disabled_by_receiver"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "updated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "url": {
            "description": "Alıcı adresi: yalnız `https`, port yok ya da 443, kullanıcı bilgisi ve parça yok, IP değişmezi yok.",
            "format": "uri",
            "maxLength": 2048,
            "type": "string"
          },
          "version": {
            "description": "Uç sürümü; `ETag` ve `If-Match` değeri.",
            "format": "int64",
            "minimum": 1,
            "readOnly": true,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "key",
          "url",
          "description",
          "event_types",
          "event_schema_versions",
          "payload_mode",
          "status",
          "rate_limit_per_second",
          "previous_secret_expires_at",
          "last_success_at",
          "failing_since",
          "version",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "WebhookEndpointCreateRequest": {
        "additionalProperties": false,
        "description": "`POST /v1/webhook-endpoints` gövdesi.",
        "properties": {
          "description": {
            "description": "En çok 500 karakter.",
            "maxLength": 500,
            "type": "string"
          },
          "event_schema_versions": {
            "additionalProperties": {
              "format": "int32",
              "minimum": 1,
              "type": "integer"
            },
            "description": "Tür → şema sürümü (katalogdaki sürümlerden biri; değilse `422 unsupported_schema_version`).",
            "type": "object"
          },
          "event_types": {
            "description": "Katalog türleri; boş = yüksek hacimli türler dışındaki bütün türler. Bilinmeyen tür `422 unknown_event_type`.",
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "type": "array",
            "uniqueItems": true
          },
          "key": {
            "description": "Ortamda tekil; başka uçta varsa `409 conflict`.",
            "pattern": "^[a-z0-9][a-z0-9_-]{0,63}$",
            "type": "string"
          },
          "payload_mode": {
            "description": "Varsayılan `thin`.",
            "enum": [
              "thin",
              "full"
            ],
            "type": "string"
          },
          "rate_limit_per_second": {
            "description": "1–1.000 istek/sn; varsayılan 50.",
            "format": "int32",
            "maximum": 1000,
            "minimum": 1,
            "type": "integer"
          },
          "status": {
            "description": "Yalnız `enabled` ya da `disabled_by_user` yazılır; `enabled` etkin uç sınırına sayılır (aşım `403 quota_exceeded`).",
            "enum": [
              "enabled",
              "disabled_by_user"
            ],
            "type": "string"
          },
          "url": {
            "description": "Yalnız `https`, port yok ya da 443, kullanıcı bilgisi ve parça yok, IP değişmezi yok (`422 invalid_webhook_url`).",
            "format": "uri",
            "maxLength": 2048,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "WebhookEndpointList": {
        "additionalProperties": false,
        "description": "Ortamın web kancası uçlarının imleçli listesi; toplam sayı döndürülmez.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/WebhookEndpoint"
            },
            "type": "array"
          },
          "list_metadata": {
            "$ref": "#/components/schemas/ListMetadata"
          }
        },
        "required": [
          "data",
          "list_metadata"
        ],
        "type": "object"
      },
      "WebhookEndpointReplayRequest": {
        "additionalProperties": false,
        "description": "`:replay` gövdesi: son 30 gün içinde `[from, to)` aralığı.",
        "properties": {
          "from": {
            "description": "Aralığın başı (dahil); son 30 gün içinde olmalı.",
            "format": "date-time",
            "type": "string"
          },
          "to": {
            "description": "Aralığın sonu (hariç); `from`'dan sonra olmalı.",
            "format": "date-time",
            "type": "string"
          },
          "types": {
            "description": "Yeniden gönderilecek katalog türleri; boş ya da yok = ucun seçtiği türler.",
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "type": "array",
            "uniqueItems": true
          }
        },
        "required": [
          "from",
          "to"
        ],
        "type": "object"
      },
      "WebhookEndpointReplayResult": {
        "additionalProperties": false,
        "properties": {
          "enqueued": {
            "description": "Yeniden kuyruğa alınan teslim sayısı.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "enqueued"
        ],
        "type": "object"
      },
      "WebhookEndpointRetryRequest": {
        "additionalProperties": false,
        "description": "`:retry` isteğe bağlı gövdesi; alan taşımaz.",
        "maxProperties": 0,
        "type": "object"
      },
      "WebhookEndpointSecretRotateRequest": {
        "additionalProperties": false,
        "description": "`:rotate-secret` isteğe bağlı gövdesi.",
        "properties": {
          "previous_secret_ttl_hours": {
            "description": "Eski sırrın ikinci imza olarak kullanılacağı süre (saat); varsayılan 24, `0` eski sırrı hemen düşürür.",
            "format": "int32",
            "maximum": 168,
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "WebhookEndpointTestRequest": {
        "additionalProperties": false,
        "description": "`:test` isteğe bağlı gövdesi.",
        "properties": {
          "event_type": {
            "description": "Gönderilecek sentetik olayın katalog türü; varsayılan `user.created`. Bilinmeyen tür `422 unknown_event_type`.",
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "WebhookEndpointTestResult": {
        "additionalProperties": false,
        "description": "Deneme gönderiminin sonucu. Alıcının yanıt gövdesi ve adresi döndürülmez.",
        "properties": {
          "error_class": {
            "description": "Başarısızlık sınıfı; başarıda null.",
            "enum": [
              "timeout",
              "tls",
              "dns",
              "egress_blocked",
              "http_status",
              "connection",
              null
            ],
            "type": [
              "string",
              "null"
            ],
            "x-idp-open-enum": true
          },
          "event_id": {
            "description": "Gönderilen sentetik olayın kimliği (`webhook-id` başlığı); olay `data.test = true` taşır.",
            "pattern": "^evt_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "type": "string"
          },
          "http_status": {
            "description": "Alıcının durum kodu; yanıt alınmadıysa null.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "latency_ms": {
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "succeeded": {
            "description": "Alıcı 15 sn içinde 2xx döndü.",
            "type": "boolean"
          }
        },
        "required": [
          "succeeded",
          "http_status",
          "error_class",
          "latency_ms",
          "event_id"
        ],
        "type": "object"
      },
      "WebhookEndpointUpdateRequest": {
        "additionalProperties": false,
        "description": "`PATCH /v1/webhook-endpoints/{endpoint_id}` birleştirme yaması (RFC 7396). Verilen alanlar değişir; `event_types` bütünüyle değişir.",
        "minProperties": 1,
        "properties": {
          "description": {
            "description": "En çok 500 karakter. `null` açıklamayı siler.",
            "maxLength": 500,
            "type": [
              "string",
              "null"
            ]
          },
          "event_schema_versions": {
            "additionalProperties": {
              "format": "int32",
              "minimum": 1,
              "type": [
                "integer",
                "null"
              ]
            },
            "description": "Tür → şema sürümü (katalogdaki sürümlerden biri; değilse `422 unsupported_schema_version`). `null` bütün eşlemeyi siler; tek türü silmek için `{\"<tür>\": null}`.",
            "type": [
              "object",
              "null"
            ]
          },
          "event_types": {
            "description": "Katalog türleri; boş = yüksek hacimli türler dışındaki bütün türler. Bilinmeyen tür `422 unknown_event_type`.",
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "type": "array",
            "uniqueItems": true
          },
          "key": {
            "description": "Ortamda tekil; başka uçta varsa `409 conflict`.",
            "pattern": "^[a-z0-9][a-z0-9_-]{0,63}$",
            "type": "string"
          },
          "payload_mode": {
            "description": "Varsayılan `thin`.",
            "enum": [
              "thin",
              "full"
            ],
            "type": "string"
          },
          "rate_limit_per_second": {
            "description": "1–1.000 istek/sn; varsayılan 50.",
            "format": "int32",
            "maximum": 1000,
            "minimum": 1,
            "type": "integer"
          },
          "status": {
            "description": "Yalnız `enabled` ya da `disabled_by_user` yazılır; `enabled` etkin uç sınırına sayılır (aşım `403 quota_exceeded`).",
            "enum": [
              "enabled",
              "disabled_by_user"
            ],
            "type": "string"
          },
          "url": {
            "description": "Yalnız `https`, port yok ya da 443, kullanıcı bilgisi ve parça yok, IP değişmezi yok (`422 invalid_webhook_url`).",
            "format": "uri",
            "maxLength": 2048,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "WebhookEndpointWithSecret": {
        "additionalProperties": false,
        "description": "Oluşturma ve sır rotasyonu yanıtı: `WebhookEndpoint` alanları ve tek seferlik imza sırrı. `signing_secret` yalnız ilk yanıtta döner; `Idempotency-Key` tekrarında yoktur ve `secret_redacted: true` döner.",
        "properties": {
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "description": {
            "maxLength": 500,
            "type": "string"
          },
          "event_schema_versions": {
            "additionalProperties": {
              "format": "int32",
              "minimum": 1,
              "type": "integer"
            },
            "description": "Tür → şema sürümü; yazılmayan tür en eski desteklenen sürümle gider.",
            "type": "object"
          },
          "event_types": {
            "description": "Müşteri olay kataloğu türleri; boş = yüksek hacimli türler dışındaki bütün türler.",
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "type": "array",
            "uniqueItems": true
          },
          "failing_since": {
            "description": "Kesintisiz başarısız teslimlerin başladığı an; uç yeniden `enabled` yapılınca silinir.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "Önekli dış kimlik (`whe_…`).",
            "pattern": "^whe_[0-7][0-9a-hjkmnp-tv-z]{25}$",
            "readOnly": true,
            "type": "string"
          },
          "key": {
            "description": "Ortamda tekil kararlı anahtar; oluşturmada verilmezse `endpoint-<kimliğin son 8 karakteri>`.",
            "pattern": "^[a-z0-9][a-z0-9_-]{0,63}$",
            "type": "string"
          },
          "last_success_at": {
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "payload_mode": {
            "description": "`thin` (varsayılan): kimlikler, değişen alan adları ve durum alanları, kişisel veri yok; `full`: yönetim API'sinin aynı kaynak için döndüğü temsil.",
            "enum": [
              "thin",
              "full"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "previous_secret_expires_at": {
            "description": "Rotasyondan sonra eski sırrın ikinci imza olarak kullanıldığı sürenin sonu; yoksa null.",
            "format": "date-time",
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "rate_limit_per_second": {
            "description": "Uç başına teslim hız tavanı (istek/sn); varsayılan 50.",
            "format": "int32",
            "maximum": 1000,
            "minimum": 1,
            "type": "integer"
          },
          "secret_redacted": {
            "description": "Tekrar oynatılan yanıtta `true`: `signing_secret` artık döndürülmez.",
            "readOnly": true,
            "type": "boolean"
          },
          "signing_secret": {
            "description": "Standard Webhooks v1 imza sırrı (`idp_whsec_…`): yalnız bu yanıtta, bir kez döner.",
            "pattern": "^idp_whsec_",
            "readOnly": true,
            "type": "string"
          },
          "status": {
            "description": "`disabled_by_failure` (5 gün başarısız teslim ve en az 10 `abandoned`) ve `disabled_by_receiver` (alıcı `410 Gone`) yalnız teslim işçisince yazılır.",
            "enum": [
              "enabled",
              "disabled_by_user",
              "disabled_by_failure",
              "disabled_by_receiver"
            ],
            "type": "string",
            "x-idp-open-enum": true
          },
          "updated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "url": {
            "description": "Alıcı adresi: yalnız `https`, port yok ya da 443, kullanıcı bilgisi ve parça yok, IP değişmezi yok.",
            "format": "uri",
            "maxLength": 2048,
            "type": "string"
          },
          "version": {
            "description": "Uç sürümü; `ETag` ve `If-Match` değeri.",
            "format": "int64",
            "minimum": 1,
            "readOnly": true,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "key",
          "url",
          "description",
          "event_types",
          "event_schema_versions",
          "payload_mode",
          "status",
          "rate_limit_per_second",
          "previous_secret_expires_at",
          "last_success_at",
          "failing_since",
          "version",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      }
    },
    "securitySchemes": {
      "managementClientToken": {
        "bearerFormat": "JWT",
        "description": "M2M yönetim istemcisi token'ı.",
        "scheme": "bearer",
        "type": "http"
      },
      "secretKey": {
        "bearerFormat": "idp_sk_live_|idp_sk_test_|idp_rk_live_|idp_rk_test_",
        "description": "Gizli ya da kısıtlı yönetim anahtarı. Enterprise `keyless_only` politikasında 401 static_key_disallowed.",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "description": "Tek kaynak sözleşme. Faz 0 iskeleti: yollar, işlemler, güvenlik, ortak başlıklar, RFC 9457 hata ve imleçli liste biçimi; gövde şemaları asgari.",
    "license": {
      "identifier": "LicenseRef-KeenAuth-Proprietary",
      "name": "Proprietary"
    },
    "summary": "Yönetim API'si /v1 — Faz 0 sözleşme iskeleti",
    "title": "KeenAuth Management API",
    "version": "1.0.0-faz0"
  },
  "openapi": "3.1.0",
  "paths": {
    "/admin-portal-links": {
      "get": {
        "description": "Ortamın Yönetici Portalı bağlantılarını yeniden eskiye imleçli listeler; `organization_id` ile tek org'un\nbağlantıları. Yalnız ileri sayfalama (`after`) vardır (`before` ve `order` `422`). Sayfa 1–100 kayıt, varsayılan\n20. İmleç süzgece bağlıdır; başka süzgecin imleci `400 invalid_cursor`'dır. Liste bağlantı URL'si döndürmez.",
        "operationId": "listAdminPortalLinks",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/AdminPortalLinkOrganizationFilter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminPortalLinkList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/admin-portal-links",
        "tags": [
          "admin-portal-links"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "admin-portal-links:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Bir org'un BT yöneticisi için Yönetici Portalı bağlantısı üretir. `intents` portalın hangi\nbölümleri açacağıdır (`sso`, `dsync`, `domain_verification`, `certificate_renewal` her planda; `audit_logs`\nBusiness, `log_streams` Enterprise ister, yetmeyen planda `403 plan_feature_unavailable` `feature` ve\n`required_plan` ile). `return_url` mutlak `https` URL'sidir ve kökeni ortamdaki etkin bir uygulamanın kayıtlı\n`redirect_uri` kökeni olmalıdır (değilse `422 validation_failed`, `/return_url` `origin_not_registered`). Org bu\nortamda yoksa `404`. `delivery = link` (varsayılan) yanıtında `url` (`https://<ortam giriş host'u>/portal/l/…`)\n5 dakika ve tek kullanım için geçerlidir, yalnız bu yanıtta bir kez döner ve `Cache-Control: no-store` taşır;\n`Idempotency-Key` ile tekrar oynatılan yanıtta `url` yoktur ve `secret_redacted: true` döner. `delivery = email`\nbir davettir: davet bağlantısı 7 gün geçerlidir ve yalnız `recipient_email` adresine gönderilen postadadır, yanıtta `url` ve alıcı\nadresi yoktur; alıcı bağlantıyı açınca aynı adrese 6 haneli bir kod gelir (10 dakika) ve portal oturumunu yalnız\ndoğrulanan kod açar. `recipient_email` yalnız ve her zaman `delivery = email` ile verilir (eksikse `422`\n`/recipient_email` `required`, `link` ile birlikteyse `not_allowed`, geçerli bir adres değilse `invalid_value`).\nDavet postası yazılamıyorsa `503 service_unavailable` (`Retry-After`) döner ve hiçbir bağlantı oluşturulmaz.\nOluşturma yönetim audit'ine `admin_portal_link.created` olarak düşer (URL, token ve alıcı adresi audit'e girmez).",
        "operationId": "createAdminPortalLink",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdminPortalLinkCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminPortalLinkCreated"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "501": {
            "$ref": "#/components/responses/E501"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/admin-portal-links",
        "tags": [
          "admin-portal-links"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "admin-portal-links:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/admin-portal-links/{link_id}": {
      "delete": {
        "description": "Bağlantıyı iptal eder; açtığı portal oturumları aynı anda düşer. Zaten iptal edilmiş bağlantıda da `204`\ndöner (idempotent; yeni audit kaydı yazılmaz). Bağlantı yoksa ya da başka ortamdaysa `404`. İptal yönetim\naudit'ine `admin_portal_link.revoked` olarak düşer.",
        "operationId": "deleteAdminPortalLink",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_link_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/admin-portal-links/{link_id}",
        "tags": [
          "admin-portal-links"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "admin-portal-links:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/age-policy": {
      "get": {
        "description": "Ortamın yaş politikasını döndürür.\nPolitika hiç yazılmadıysa tablo varsayılanları (`mode: off`, `min_age: 16`, boş ülke tablosu) ve `ETag: \"0\"`\ndöner; `updated_at` null'dır. Yanıt `ETag` başlığı taşır (`PUT` için `If-Match`).",
        "operationId": "getAgePolicy",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgePolicy"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/age-policy",
        "tags": [
          "age-policy"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "identity-settings:read"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "Ortamın yaş politikasının tamamını yazar. `If-Match` zorunludur (yoksa `428`, eşleşmezse `412`); politika\nhiç yazılmadıysa sürüm `\"0\"`'dır. Kurallar: `min_age` ve ülke eşikleri 13–21; ülke kodu ISO 3166-1 alpha-2\n(büyük harf), en çok 250 girdi; `parental_consent_below` null ya da 1..`min_age`; `store_birthdate` yalnız\n`mode = birthdate` iken `true`. Politika yalnız sonraki kayıtlara uygulanır; var olan kullanıcılar değişmez. Yetki\n`identity-settings:read|write`'tır: yaş politikası ortam kimlik ayarlarının parçasıdır.",
        "operationId": "putAgePolicy",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgePolicyPut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgePolicy"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/age-policy",
        "tags": [
          "age-policy"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "identity-settings:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/api-keys": {
      "get": {
        "description": "Ortamdaki yönetim API anahtarlarını imleçli olarak listeler (yeniden eskiye; `order=asc` ile tersi); iptal edilmiş ve süresi dolmuş anahtarlar dahildir. Ham anahtar hiçbir zaman dönmez; yalnız üst veri vardır (`last4`, son kullanım zamanı ve IP öneki).",
        "operationId": "listApiKeys",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/api-keys",
        "tags": [
          "api-keys"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "List the management API keys of the environment, newest first. Metadata only: raw keys and digests are never returned.",
          "destructive": false,
          "read_only": true,
          "tool": "api_keys_list"
        },
        "x-idp-permissions": [
          "api-keys:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Ortama yeni bir yönetim API anahtarı oluşturur. `type: secret` tüm yönetim API'sine erişir (`permissions` verilmez ya da boştur); `type: restricted` yalnız `permissions` listesindeki `<kaynak>:<eylem>` izinlerini taşır (boş olamaz, en çok 200). `expires_at` zorunludur, gelecekte olmalı ve en çok 730 gün sonrasıdır; `allowed_cidrs` (en çok 20) verilirse anahtar yalnız bu ağlardan kabul edilir. Ham anahtar (`idp_sk_live_…`, `idp_sk_test_…`, `idp_rk_live_…`, `idp_rk_test_…`) YALNIZ bu yanıtta, bir kez `key` alanında döner ve sonradan hiçbir uçtan okunamaz (yanıt `Cache-Control: no-store` taşır). `Idempotency-Key` ile tekrar oynatılan yanıt (`Idempotent-Replayed: true`) anahtarı içermez: nesneyi `secret_redacted: true` ile döner; anahtar kaybedildiyse yenisi oluşturulur. Çağıranın kendi izinlerini aşan izinli anahtar oluşturulamaz ve kısıtlı (`restricted`) bir anahtar `secret` anahtar oluşturamaz; yeni anahtarın `expires_at` değeri çağıranınkinden sonra olamaz, `allowed_cidrs` taşıyan çağıran yalnız kendi ağlarının içindeki ağlarla sınırlı anahtar oluşturur (`allowed_cidrs` verilmezse çağıranın listesi kullanılır) (403 `permission_escalation`). Ortamda en çok 50 etkin anahtar olur; aşımda 409 `api_key_limit_reached`. `created_by` isteği yapan anahtarın (ya da pano aktörünün) kimliğidir.",
        "operationId": "createApiKey",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKeyRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiKeyCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyCreated"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/api-keys",
        "tags": [
          "api-keys"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "api-keys:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/api-keys/{key_id}": {
      "get": {
        "description": "Tek bir yönetim API anahtarının üst verisini döner; ham anahtar dönmez. Anahtar yoksa ya da başka ortamdaysa 404.",
        "operationId": "getApiKey",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_key_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKey"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/api-keys/{key_id}",
        "tags": [
          "api-keys"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "Get one management API key by id (key_...). Metadata only: the raw key is never returned.",
          "destructive": false,
          "read_only": true,
          "tool": "api_keys_get"
        },
        "x-idp-permissions": [
          "api-keys:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/api-keys/{key_id}:revoke": {
      "post": {
        "description": "Anahtarı hemen iptal eder (kesindir, geri alınamaz; iptalden sonra en geç 30 sn içinde anahtar reddedilir). `reason` `manual` (varsayılan) ya da `leaked`; `leaked` sızıntı olarak işaretler. Döndürme aşamasındaki (iptali gelecekte olan) anahtar da hemen iptal edilir. Çağıranın izinlerini aşan anahtar iptal edilemez; panodan oluşturulmuş anahtarı yalnız kendisi ya da pano iptal eder (403 `permission_escalation`). Anahtar yoksa ya da başka ortamdaysa 404; zaten iptal edilmişse 409 `conflict`. Yanıt güncel `ApiKey` nesnesidir.",
        "operationId": "revokeApiKey",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_key_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiKeyRevokeRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKey"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/api-keys/{key_id}:revoke",
        "tags": [
          "api-keys"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "api-keys:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/api-keys/{key_id}:rotate": {
      "post": {
        "description": "Anahtarı döndürür: aynı ad, tür, izin ve `allowed_cidrs` ile YENİ bir anahtar oluşturur ve yeni anahtarı `ApiKeyCreated` olarak döner (`rotated_from` eski kimliktir; ham `key` yalnız bu yanıtta, bir kez, `Cache-Control: no-store`). Eski anahtar `overlap_hours` (0–168, varsayılan 24) saat daha geçerli kalır: `revoked_at` gelecekteki bir zamana, `revoke_reason` `rotated` olarak ayarlanır; 0 ise hemen iptal edilir. Yeni anahtarın `expires_at` değeri verilmezse şimdi + 365 gün, en çok çağıranın son kullanma anıdır (kendi anahtarını döndüren de ömrünü uzatamaz; ömür panodan uzatılır). Yeni anahtarın `created_by` değeri eski anahtarınkidir; döndüren anahtar audit kaydında görünür. `Idempotency-Key` ile tekrar oynatılan yanıt `key` içermez ve `secret_redacted: true` döner. Çağıranın izinlerini aşan anahtar döndürülemez ve kısıtlı bir anahtar `secret` anahtarı döndüremez; yeni anahtar çağırandan sonra sona eremez ve `allowed_cidrs` taşıyan çağıran ağları kendi ağlarının dışına çıkan anahtarı döndüremez; panodan oluşturulmuş anahtarı ve onun döndürülmüş haleflerini yalnız kendisi ya da pano döndürür ve iptal eder (403 `permission_escalation`). Anahtar yoksa ya da başka ortamdaysa 404; iptal edilmiş, süresi dolmuş ya da zaten döndürülmüş (etkin olmayan) anahtar için 409 `conflict`; etkin anahtar sınırı aşılırsa 409 `api_key_limit_reached`.",
        "operationId": "rotateApiKey",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_key_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiKeyRotateRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyCreated"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/api-keys/{key_id}:rotate",
        "tags": [
          "api-keys"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "api-keys:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/apis": {
      "get": {
        "description": "Ortamdaki API'leri (kaynak sunucular) imleçli sayfalarla listeler; silinmiş API'ler listelenmez. Ortam yalnız kimlik bilgisinden gelir. Sıralama `created_at` + `id` ile kararlıdır (`order`, varsayılan `desc`). Sistem API'si (`urn:idp:organization`) listede yer alır ve `is_system: true` taşır.",
        "operationId": "listApis",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/apis",
        "tags": [
          "apis"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "List APIs (resource servers) of the environment.",
          "destructive": false,
          "read_only": true,
          "tool": "apis_list"
        },
        "x-idp-permissions": [
          "apis:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Ortamda yeni bir API oluşturur. `key`, `identifier` ve `name` zorunludur; `identifier` https URL ya da `urn:<nid>:<nss>` olur, kanonik biçime çevrilir ve ortamda (silinmişleri de 90 gün sayarak) tekildir; `urn:idp:` ad alanı platforma ayrılmıştır. Verilmeyen alan varsayılanını alır (`mcp_profile` ise jeton ömrü 600 sn ve `require_resource_indicator` true). Yanıtta `ETag` döner.",
        "operationId": "createApi",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Api"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/apis",
        "tags": [
          "apis"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "apis:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/apis/{api_id}": {
      "delete": {
        "description": "API'yi yumuşak siler: `?confirm=true` zorunludur ve `If-Match` ister (yoksa `428`, eşleşmezse `412`). Uygulamaların bu API'ye verilmiş izinleri ve `default_api` değerleri aynı işlemde kaldırılır; tanımlayıcı 90 gün yeniden kullanılamaz; bu API'nin kitlesine (`aud`) bağlı refresh aileleri iptal edilir. Sistem API'si silinemez (`409 conflict`).",
        "operationId": "deleteApi",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_api_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          },
          {
            "description": "Silme onayı; yalnız `true` kabul edilir, yoksa ya da başka değerse 422 validation_failed (`/confirm`).",
            "in": "query",
            "name": "confirm",
            "required": true,
            "schema": {
              "const": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/apis/{api_id}",
        "tags": [
          "apis"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "apis:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Tek bir API'yi döndürür; yanıtta güncel sürümü gösteren `ETag` başlığı bulunur. Başka ortamın, silinmiş ya da biçimsiz kimlik `404 not_found` olur (varlık sızdırılmaz).",
        "operationId": "getApi",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_api_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Api"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/apis/{api_id}",
        "tags": [
          "apis"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "Get one API (resource server) by id (api_...).",
          "destructive": false,
          "read_only": true,
          "tool": "apis_get"
        },
        "x-idp-permissions": [
          "apis:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "API'yi RFC 7396 birleştirme yamasıyla günceller (`application/merge-patch+json`). `If-Match` zorunludur: yoksa `428`, güncel sürümle eşleşmezse `412`. `key` ve `identifier` oluşturulduktan sonra değişmez; sistem API'si (`urn:idp:organization`) değiştirilemez (`409 conflict`). Yamada bulunmayan alan korunur; zorunlu alanı `null` yapmak `422` verir. Değişiklik yoksa yazma yapılmaz ve sürüm artmaz.",
        "operationId": "updateApi",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_api_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ApiUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Api"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/apis/{api_id}",
        "tags": [
          "apis"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "apis:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/apis/{api_id}/authorization-detail-types/{type}": {
      "delete": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: izin planda yazılmamış",
        "operationId": "deleteApiAuthorizationDetailType",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_api_id"
          },
          {
            "$ref": "#/components/parameters/path_type"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/apis/{api_id}/authorization-detail-types/{type}",
        "tags": [
          "apis"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "apis:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: izin planda yazılmamış",
        "operationId": "getApiAuthorizationDetailType",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_api_id"
          },
          {
            "$ref": "#/components/parameters/path_type"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/apis/{api_id}/authorization-detail-types/{type}",
        "tags": [
          "apis"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "apis:read"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: izin planda yazılmamış",
        "operationId": "putApiAuthorizationDetailType",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_api_id"
          },
          {
            "$ref": "#/components/parameters/path_type"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/apis/{api_id}/authorization-detail-types/{type}",
        "tags": [
          "apis"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "apis:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/applications": {
      "get": {
        "description": "Ortamdaki uygulamaları imleçli olarak listeler (yeniden eskiye; order=asc ile tersi). app_type ve status ile süzülebilir; imleç süzgeçle birlikte imzalıdır, süzgeç değişirse eski imleç 400 invalid_cursor döner.",
        "operationId": "listApplications",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          },
          {
            "description": "Uygulama türüne göre süz.",
            "in": "query",
            "name": "app_type",
            "required": false,
            "schema": {
              "enum": [
                "web",
                "spa",
                "native",
                "m2m",
                "device",
                "management"
              ],
              "type": "string"
            }
          },
          {
            "description": "Duruma göre süz.",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "enum": [
                "active",
                "suspended"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/applications",
        "tags": [
          "applications"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "List applications (OAuth/OIDC clients) with optional app_type and status filters. Secrets are never returned.",
          "destructive": false,
          "read_only": true,
          "tool": "applications_list"
        },
        "x-idp-permissions": [
          "applications:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Yeni uygulama (OAuth/OIDC istemcisi) oluşturur. Ortam kimlik bilgisinden gelir. key, name, app_type ve party zorunludur; verilmeyen protokol alanları türden türetilen güvenli varsayılanı alır. Yanıttaki ETag güncelleme ve silmede If-Match olarak kullanılır. `allowed_first_factors` ortamın birinci faktör kümesiyle ortak yöntem bırakmıyorsa 422 policy_conflict döner. İstemci sırrı bu uçta üretilmez; sırlar ve anahtarlar uygulama kimlik bilgisi uçlarındadır.",
        "operationId": "createApplication",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/applications",
        "tags": [
          "applications"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "applications:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/applications/{application_id}": {
      "delete": {
        "description": "Uygulamayı siler; yönlendirme URI'leri, API izinleri ve bağlantı listesi birlikte silinir. If-Match zorunludur: yoksa 428, sürüm eşleşmezse 412.",
        "operationId": "deleteApplication",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/applications/{application_id}",
        "tags": [
          "applications"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "applications:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Uygulamayı döndürür. Başka ortamın ya da var olmayan uygulama 404 döner. Yanıttaki ETag güncelleme ve silmede If-Match olarak kullanılır.",
        "operationId": "getApplication",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/applications/{application_id}",
        "tags": [
          "applications"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "Get one application by id (app_...). Secrets are never returned.",
          "destructive": false,
          "read_only": true,
          "tool": "applications_get"
        },
        "x-idp-permissions": [
          "applications:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "Uygulamayı merge-patch (RFC 7396) ile günceller. If-Match zorunludur: yoksa 428, sürüm eşleşmezse 412. Değişmez alanlar (key, app_type, registration_source, owner_org_id) farklı değerle gelirse 422 döner. Hiçbir alanı değiştirmeyen yama kaydı değiştirmez ve sürümü artırmaz. `allowed_first_factors` ortamın birinci faktör kümesiyle ortak yöntem bırakmıyorsa 422 policy_conflict döner; boş liste kısıtı kaldırır.",
        "operationId": "updateApplication",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/applications/{application_id}",
        "tags": [
          "applications"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "applications:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/applications/{application_id}/api-grants/{api_id}": {
      "delete": {
        "description": "Uygulamanın bir API'deki iznini siler. İzin yoksa 404 döner.",
        "operationId": "deleteApplicationApiGrant",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/path_api_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/applications/{application_id}/api-grants/{api_id}",
        "tags": [
          "applications"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "applications:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Uygulamanın bir API'deki izinli ve varsayılan scope kümesini döndürür. İzin yoksa 404 döner.",
        "operationId": "getApplicationApiGrant",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/path_api_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationApiGrant"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/applications/{application_id}/api-grants/{api_id}",
        "tags": [
          "applications"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "applications:write"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "Uygulamanın bir API'deki izinli scope kümesini bütünüyle değiştirir. Scope'lar API'nin tanımlı izinlerinin alt kümesi, default_scopes ise scopes'un alt kümesi olmalıdır. Uygulama başına en çok 50 API izni verilebilir; aşılırsa 403 quota_exceeded döner.",
        "operationId": "putApplicationApiGrant",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/path_api_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationApiGrantPutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationApiGrant"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/applications/{application_id}/api-grants/{api_id}",
        "tags": [
          "applications"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "applications:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/applications/{application_id}/connections": {
      "put": {
        "description": "Uygulamada etkin bağlantı listesini bütünüyle değiştirir. Liste sıralıdır: barındırılan girişte düğme sırası buradan gelir. Boş liste bütün bağlantıları kapatır. En çok 100 bağlantı, tekrarsız. Her bağlantı bu ortamın bağlantısı olmalıdır; başka ortamın ya da var olmayan bağlantı `422` (`/connection_ids`) döner ve hiçbir şey yazılmaz. Aynı liste yeniden yazılmaz, sürüm artmaz. `If-Match` isteğe bağlıdır: verilirse uygulamanın sürümüyle eşleşmelidir (`412`). Hem `applications:write` hem `connections:write` izni gerekir. Yanıt güncel uygulamayı ve `ETag`'i taşır; değişiklik yönetim audit'ine `application.updated` olarak yazılır.",
        "operationId": "putApplicationConnections",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationConnectionsPutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/applications/{application_id}/connections",
        "tags": [
          "applications"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "applications:write",
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/applications/{application_id}/credentials": {
      "get": {
        "description": "Uygulamanın kimlik bilgilerini (istemci sırları ve kayıtlı açık anahtarlar) tek sayfada listeler; iptal edilmiş ve süresi dolmuş kayıtlar dahildir, en yeni başta. Sır, sır özeti ve JWK gövdesi asla dönmez; yalnız üst veri (`secret_last4` ya da `jwk_thumbprint`, son kullanım zamanı) vardır. Bir uygulamada en çok 2 etkin sır ve 5 etkin anahtar olabildiğinden liste imleçsizdir: `limit`, `after`, `before`, `order` yoktur ve `list_metadata` her zaman `null` döner. Uygulama bu ortamda yoksa 404 döner.",
        "operationId": "listApplicationCredentials",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationCredentialList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/applications/{application_id}/credentials",
        "tags": [
          "applications"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "List the credentials (client secrets and registered public keys) of an application, newest first, revoked ones included. Metadata only: secret values, digests and key bodies are never returned.",
          "destructive": false,
          "read_only": true,
          "tool": "application_credentials_list"
        },
        "x-idp-permissions": [
          "applications:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Uygulamaya yeni bir kimlik bilgisi ekler. Uygulama türüne göre izinli: `client_secret` yalnız `web` ve `m2m`; `public_key` `web`, `m2m`, `device` ve `management`; açık istemciler (`spa`, `native`) kimlik bilgisi almaz (aksi `422 validation_failed`, `/type: not_allowed`). `type: client_secret` platformca üretilen bir istemci sırrı oluşturur (isteğe bağlı `expires_at`, gelecekte olmalı); sır YALNIZ bu yanıtta, bir kez `client_secret` alanında döner ve sonradan hiçbir uçtan okunamaz (yanıt `Cache-Control: no-store` taşır). `type: public_key` `private_key_jwt` için bir açık anahtar (`jwk`, RFC 7517, en çok 16 KiB) kaydeder; özel ya da simetrik üye (`d`, `p`, `q`, `dp`, `dq`, `qi`, `oth`, `k`) içeren anahtar 422 ile reddedilir ve anahtarın kimliği RFC 7638 `jwk_thumbprint`'idir. Uygulama başına en çok 2 etkin sır ve 5 etkin anahtar olur; aşımda 409 `credential_limit_reached` döner (rotasyon: yenisini ekle, eskisini sil). Aynı anahtar zaten kayıtlıysa 409 `conflict`. `Idempotency-Key` ile tekrar oynatılan yanıt (`Idempotent-Replayed: true`) sır içermez: kimlik bilgisi nesnesini `secret_redacted: true` ile döner; sır kaybedildiyse yenisi oluşturulur. `created_by` isteği yapan anahtarın kimliğidir.",
        "operationId": "createApplicationCredential",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationCredentialCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationCredentialCreated"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/applications/{application_id}/credentials",
        "tags": [
          "applications"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "applications:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/applications/{application_id}/credentials/{credential_id}": {
      "delete": {
        "description": "Kimlik bilgisini `manual` nedeniyle iptal eder (kesindir, geri alınamaz; iptalden sonra en geç 30 sn içinde istemci kimlik doğrulaması reddedilir). Aynı nedenle tekrar çağrı 204 döner. Kimlik bilgisi başka bir uygulamaya aitse ya da yoksa 404; başka nedenle (leaked, policy, expired, application_deleted) zaten iptal edilmişse 409 `conflict`. Etkin sayıyı düşürür: 2 sır ya da 5 anahtar sınırındaki uygulamada yeni kimlik bilgisi eklemenin yolu eskisini silmektir.",
        "operationId": "deleteApplicationCredential",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/path_credential_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/applications/{application_id}/credentials/{credential_id}",
        "tags": [
          "applications"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "applications:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/applications/{application_id}/tokens:revoke": {
      "post": {
        "description": "Uygulamanın bütün etkin refresh token ailelerini iptal eder; uygulamaya verilmiş canlı access token'lar introspection ve iptal denetiminde artık kabul edilmez. Kimlik bilgisi sızıntısında ya da yönetici kararıyla kullanılır. Oturumlar, kullanıcı onayları ve istemci kimlik bilgileri değişmez; sızan sırrı kapatmak için kimlik bilgisi ayrıca döndürülür. Gövde yoktur. Uygulama bu ortamda yoksa 404 döner. Tekrar çağrı başarıdır. İptal yönetim audit'ine yazılır.",
        "operationId": "revokeApplicationTokens",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevokeApplicationTokensResponse"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/applications/{application_id}/tokens:revoke",
        "tags": [
          "applications"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "sessions:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/applications/{application_id}:resume": {
      "post": {
        "description": "Askıdaki uygulamayı yeniden etkinleştirir (`status` = `active`); uygulama yeniden token alabilir. Gövde yoktur (boş ya da `{}`). Uygulama zaten etkinse hiçbir şey yazılmaz, sürüm artmaz ve mevcut kaynak 200 ile döner. `If-Match` isteğe bağlıdır (eşleşmezse `412`); verilmezse yarışta işlem birkaç kez yeniden denenir. Yanıt güncel uygulamayı ve `ETag`'i taşır; değişiklik yönetim audit'ine `application.updated` olarak yazılır.",
        "operationId": "resumeApplication",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/applications/{application_id}:resume",
        "tags": [
          "applications"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "applications:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/applications/{application_id}:suspend": {
      "post": {
        "description": "Uygulamayı askıya alır (`status` = `suspended`). Askıdaki uygulama yeni token alamaz: yetkilendirme, PAR, cihaz akışı ve token ucu (refresh token ve client_credentials dahil) istemciyi reddeder (`invalid_client`). Verilmiş access token'lar kendi ömürleri kadar yaşar; anlık kesim isteyen kaynak sunucu introspection kullanır. Mevcut refresh token aileleri bu işlemle iptal edilmez: askı süresince kullanılamaz, uygulama yeniden etkinleştirilince yeniden kullanılabilir. Gövde yoktur (boş ya da `{}`). Uygulama zaten askıdaysa hiçbir şey yazılmaz, sürüm artmaz ve mevcut kaynak 200 ile döner. `If-Match` isteğe bağlıdır (eşleşmezse `412`); verilmezse başka bir yazarla yarışta işlem birkaç kez yeniden denenir. Yanıt güncel uygulamayı ve `ETag`'i taşır; değişiklik yönetim audit'ine `application.updated` olarak yazılır.",
        "operationId": "suspendApplication",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/applications/{application_id}:suspend",
        "tags": [
          "applications"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "applications:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/applications:create-registration-token": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "createApplicationRegistrationToken",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/applications:create-registration-token",
        "tags": [
          "applications"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "applications:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/attack-protection": {
      "get": {
        "description": "Saldırı koruması nesnesi.",
        "operationId": "getAttackProtection",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttackProtection"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/attack-protection",
        "tags": [
          "attack-protection"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "attack-protection:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "Saldırı koruması nesnesi.",
        "operationId": "patchAttackProtection",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/AttackProtectionPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttackProtection"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/attack-protection",
        "tags": [
          "attack-protection"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "attack-protection:write"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "Saldırı koruması nesnesi.",
        "operationId": "putAttackProtection",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttackProtectionConfig"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttackProtection"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/attack-protection",
        "tags": [
          "attack-protection"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "attack-protection:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/attack-protection/attack-mode": {
      "get": {
        "description": "Ortamın saldırı modu durumunu ve son 90 günde başlamış ya da hâlâ açık dönemlerini en yenisi önce (en çok 100) döner; `more` daha eski dönem olduğunu bildirir. `active` yalnız uygulanan (`would_have = false`) ve bütün ortamı kapsayan bir dönem varken doğrudur; `log` kipindeki tetik `would_have = true` dönem olarak görünür. Bitişi geçmiş ama henüz kapatılmamış dönem `ended_at = ends_at` ile okunur. Dönemi kimin açtığı yanıtta yoktur; yönetim audit'indedir.",
        "operationId": "getAttackMode",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttackModeState"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/attack-protection/attack-mode",
        "tags": [
          "attack-protection"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "attack-protection:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/attack-protection/attack-mode:activate": {
      "post": {
        "description": "Müşterinin elle saldırı modu dönemini `duration_minutes` (15–1.440) için açar; açık bir elle dönem varsa bitişini şimdi + süreye öteler, daha kısa süre dönemi kısaltmaz. Açılışta `attack_mode_activated` olayı ve yönetim audit kaydı (`attack_mode.activated`), uzatmada yalnız audit kaydı (`attack_mode.extended`) aynı transaction'da yazılır. Elle dönem `bot_protection.mode` ne olursa olsun uygulanır. Aktör yalnız doğrulanmış kimlik bilgisinden gelir. Yanıt güncel durumdur.",
        "operationId": "activateAttackMode",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttackModeActivateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttackModeState"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/attack-protection/attack-mode:activate",
        "tags": [
          "attack-protection"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "attack-protection:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/attack-protection/attack-mode:deactivate": {
      "post": {
        "description": "Müşterinin açık elle saldırı modu dönemini şimdi kapatır (`attack_mode_deactivated` olayı ve yönetim audit kaydı `attack_mode.deactivated`). Otomatik ve platform dönemleri erken kapanmaz: açıksa yanıt `active: true` kalır. Kapatılacak elle dönem yoksa hiçbir şey yazılmaz ve durum döner; işlem idempotenttir. Yanıt güncel durumdur.",
        "operationId": "deactivateAttackMode",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttackModeState"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/attack-protection/attack-mode:deactivate",
        "tags": [
          "attack-protection"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "attack-protection:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/attack-protection/lockouts": {
      "get": {
        "description": "Ortamın açık ve süresi dolmamış hesap kilitlerini kimlik sırasıyla, en eskisi önce imleçli listeler; yalnız ileri sayfalama vardır (`before` ve `order=desc` `422`). Süresi dolmuş ama kapanmamış kilit listelenmez: yolu artık kapatmaz. Yanıt sayaç öznesi, adres ya da IP taşımaz; toplam sayı döndürülmez.",
        "operationId": "listAttackProtectionLockouts",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttackProtectionLockoutList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/attack-protection/lockouts",
        "tags": [
          "attack-protection"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "attack-protection:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/attack-protection/lockouts/{lockout_id}": {
      "delete": {
        "description": "Tek hesap kilidini kapatır: kilit `cleared_by = admin:<aktör>` ile kapanır, kullanıcının o yoldaki sayacı silinir, aynı transaction'da `user.unlocked` olayı ve yönetim audit kaydı (`user.unlocked`, hedef kullanıcı) yazılır. Kilit yoksa, başka ortamınsa, kapanmışsa ya da süresi dolmuşsa `404`. Aktör yalnız doğrulanmış kimlik bilgisinden gelir.",
        "operationId": "deleteAttackProtectionLockout",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_lockout_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/attack-protection/lockouts/{lockout_id}",
        "tags": [
          "attack-protection"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "attack-protection:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/audit-events": {
      "get": {
        "description": "Yönetim audit'i kayıtlarını süzgeçle imleçli listeler; sıralama her zaman `occurred_at` azalandır (eşitlikte `id` azalan), `order` parametresi yoktur. `stream` varsayılanı `admin`dir. `to` yoksa şimdi, `from` yoksa saklama penceresinin başı ile `to` − 92 günden geç olanıdır; aralık [`from`, `to`) en çok 92 gündür (aşımda `400 invalid_filter`), saklama penceresi dışındaki `from` ya da `to` `400 range_outside_retention` döner. Saklama ortamın planından sunucuda uygulanır. `action` önek eşleşmesidir; `target_type` ile `target_id` birlikte verilirse ikisi aynı hedef öğesinde eşleşir; `agent_only=true` yalnız ajan eylemlerini döner; `client=mcp` ya da `client=cli` çağrıyı yapan istemcinin sınıfıyla süzer. Sorgu 10 sn'yi aşarsa `422 search_too_broad` döner: süzgeç ya da aralık daraltılmalıdır. Toplam sayı döndürülmez; imleç yalnız üretildiği süzgeç ve ortamla geçerlidir. Görünürlük: `ip` ve `user_agent` yalnız kimlik bilgisi `audit-events:read_ip` iznini taşıyorsa yanıtta bulunur ve yalnız 13 aydan yeni kayıtta doludur; izin yoksa alan hiç yazılmaz (maskeli değer dönmez). `ip_prefix`, `ip_country`, `ip_asn` ve `user_agent_family` her zaman döner.",
        "operationId": "listAuditEvents",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/AuditStream"
          },
          {
            "$ref": "#/components/parameters/AuditFrom"
          },
          {
            "$ref": "#/components/parameters/AuditTo"
          },
          {
            "$ref": "#/components/parameters/AuditAction"
          },
          {
            "$ref": "#/components/parameters/AuditCategory"
          },
          {
            "$ref": "#/components/parameters/AuditActorType"
          },
          {
            "$ref": "#/components/parameters/AuditActorId"
          },
          {
            "$ref": "#/components/parameters/AuditTargetType"
          },
          {
            "$ref": "#/components/parameters/AuditTargetId"
          },
          {
            "$ref": "#/components/parameters/LogOrgId"
          },
          {
            "$ref": "#/components/parameters/LogOutcome"
          },
          {
            "$ref": "#/components/parameters/LogRequestId"
          },
          {
            "$ref": "#/components/parameters/LogCorrelationId"
          },
          {
            "$ref": "#/components/parameters/AuditAgentOnly"
          },
          {
            "$ref": "#/components/parameters/AuditClient"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditEventList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/audit-events",
        "tags": [
          "audit-events"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "audit-events:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "createAuditEvent",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKeyRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/audit-events",
        "tags": [
          "audit-events"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "audit-events:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/audit-events/{event_id}": {
      "get": {
        "description": "Tek yönetim audit'i kaydını (iki akıştan) döner. Kayıt yoksa, başka ortamınsa ya da saklaması bitmişse `404 not_found` döner; biçimsiz kimlik de aynı yanıtı alır. Görünürlük `GET /v1/audit-events` ile aynıdır: `ip` ve `user_agent` yalnız `audit-events:read_ip` izniyle yanıtta bulunur.",
        "operationId": "getAuditEvent",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_event_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditEvent"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/audit-events/{event_id}",
        "tags": [
          "audit-events"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "audit-events:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/audit-events:batch": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "batchCreateAuditEvents",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKeyRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/audit-events:batch",
        "tags": [
          "audit-events"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "audit-events:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/audit-exports": {
      "post": {
        "description": "Yönetim audit'inin imzalı, platforma güvenmeden doğrulanabilir dışa aktarma işini kuyruğa koyar ve işi `202` ile döner; durum `GET /v1/audit-exports/{export_id}` ile izlenir. Süzgeçler `GET /v1/audit-events` ile aynıdır; farkı: 92 gün sınırı yoktur (iş başına en çok 50 milyon satır), `from` yoksa saklama penceresinin başı, `to` yoksa şimdidir ve `to` gelecekte olamaz. `include_ip: true` tam IP ve user-agent'ı (yalnız 13 aydan yeni kayıtlarda) satırlara ekler ve `audit-events:read_ip` izni de ister (yoksa `403 insufficient_permissions`). Ortam başına en çok 3 (development ve staging ortamında 1) eşzamanlı iş çalışır; aşımda `429 rate_limited`. `Idempotency-Key` zorunludur: aynı anahtar ve aynı gövde ilk işi `Idempotent-Replayed: true` ile döner, aynı anahtar farklı gövdeyle `422 idempotency_key_reuse` alır.",
        "operationId": "createAuditExport",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKeyRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuditExportCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditExport"
                }
              }
            },
            "description": "Kabul edildi; işlem asenkron.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/audit-exports",
        "tags": [
          "audit-exports"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "audit-exports:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/audit-exports/{export_id}": {
      "get": {
        "description": "Dışa aktarma işinin durumunu döner: `queued`, `running`, `completed`, `failed` ya da `expired`. `record_count`, `file` ve `manifest_sha256` yalnız `completed` ve `expired` işte, `failure_reason` yalnız `failed` işte doludur. Dosya `expires_at` anında (`completed_at` + 7 gün) silinir. İş yoksa ya da başka ortamınsa `404 not_found` döner.",
        "operationId": "getAuditExport",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_export_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditExport"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/audit-exports/{export_id}",
        "tags": [
          "audit-exports"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "audit-exports:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/audit-exports/{export_id}/download": {
      "get": {
        "description": "Tamamlanmış işin paketine tek kullanımlık indirme bağlantısı verir. İstek `Accept` başlığında `application/json`'ı açıkça listeliyorsa (q > 0; joker medya türleri sayılmaz) yanıt `200` ve `AuditExportDownloadLink` gövdesidir: `url` aşağıdaki `Location`'ın aynısıdır, `expires_at` belirtecin son geçerlilik anıdır; kökenler arası tarayıcı istemcisi (pano) bağlantıyı böyle okur ve tarayıcıyı ona yönlendirir. Öteki isteklerde yanıt `302`'dir: `Location` 15 dakika geçerli, tek kullanımlık belirteç taşıyan `api` indirme adresidir (dosya ortam DEK'iyle şifreli olduğundan nesne deposunun ön imzalı URL'si verilmez). Hedef `/v1` dışındadır ve kimlik bilgisi istemez: belirteç tek kimlik bilgisidir, ilk açılışta harcanır (aktarım yarıda kalsa da) ve `Location` gizli tutulmalıdır. Hedef `200` ile `application/x-tar` gövdesi (`Content-Disposition: attachment; filename=\"audit-export-aex_….tar\"`, `Referrer-Policy: no-referrer`) döner: `records.ndjson.gz`, `manifest.json` (RFC 8785) ve `manifest.jws` (`audit-jwks.json` ile doğrulanır); belirteç geçersiz, kullanılmış ya da süresi dolmuşsa `404 not_found`. Her çağrı (iki dalda da) bağlantı verilmeden önce `admin` akışına `audit_export.downloaded` kaydı yazar; iki yanıt da `Vary: Accept`, `Referrer-Policy: no-referrer` ve `Cache-Control: no-store` taşır, izin ve adım yükseltme kuralları aynıdır. `include_ip` ile oluşturulmuş işin dosyası `audit-events:read_ip` izni de ister (yoksa `403 insufficient_permissions`). İş tamamlanmamışsa ya da dosyanın süresi dolmuşsa `409 conflict`, iş yoksa `404 not_found` döner.",
        "operationId": "downloadAuditExport",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_export_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditExportDownloadLink"
                }
              }
            },
            "description": "Tek kullanımlık indirme bağlantısı (`Accept: application/json`). Bağlantı gizli tutulmalıdır: ilk açılışta harcanır.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "302": {
            "description": "İmzalı, kısa ömürlü indirme bağlantısına yönlendirme.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "Location": {
                "$ref": "#/components/headers/Location"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/audit-exports/{export_id}/download",
        "tags": [
          "audit-exports"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "audit-exports:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/branding": {
      "get": {
        "description": "Ortamın markalama taslağını döndürür: tema jetonları (`theme`; yalnız ayarlı jetonlar, ayarsız jeton platform\nvarsayılanından miras alır), özel CSS ve sayfa şablonu (yoksa `null`). Taslak yayımlanana dek barındırılan sayfalarda\ngörünmez (`POST /v1/branding:publish`). Taslak hiç yazılmadıysa boş tema, `updated_at: null` ve `ETag: \"0\"` döner;\nyanıt `ETag` başlığı `PATCH`, `PUT /v1/branding/css` ve `PUT /v1/branding/page-template` için `If-Match` değeridir.",
        "operationId": "getBranding",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingEnvironment"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/branding",
        "tags": [
          "branding"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "branding:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "Ortam temasını RFC 7396 birleştirme yamasıyla günceller (`application/merge-patch+json`). Gövde yalnız `theme`\ntaşır; bir jetona `null` vermek onu temizler (platform varsayılanına döner), bir gruba (`light`, `dark`, `light.color`,\n`font`, `radius`) `null` vermek altındaki bütün jetonları temizler. `If-Match` zorunludur (yoksa `428`, eşleşmezse `412`;\ntaslak yoksa `\"0\"`). Geçersiz jeton `422 validation_failed` ve `/theme/...` işaretçisiyle döner (kodlar: `invalid_value`,\n`out_of_range`, `unknown_token`). Kontrast yazmada değil yayında denetlenir. Değişiklik içermeyen yama yazma yapmaz.",
        "operationId": "updateBranding",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/BrandingPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingEnvironment"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/branding",
        "tags": [
          "branding"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "branding:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/branding/applications/{application_id}": {
      "get": {
        "description": "Bir uygulamanın tema taslağını döndürür (ortam temasının üstüne uygulanan geçersiz kılmalar). Uygulama bu ortamda\nyoksa `404`. Taslak yoksa boş tema ve `ETag: \"0\"`.",
        "operationId": "getApplicationBranding",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingScopeTheme"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/branding/applications/{application_id}",
        "tags": [
          "branding"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "branding:read"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "Bir uygulamanın tema taslağını tümüyle değiştirir (verilmeyen jeton temizlenir; boş `theme` hepsini temizler).\n`If-Match` zorunludur (taslak yoksa `\"0\"`). Uygulama bu ortamda yoksa `404`.",
        "operationId": "putApplicationBranding",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BrandingScopeThemeInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingScopeTheme"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/branding/applications/{application_id}",
        "tags": [
          "branding"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "branding:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/branding/assets": {
      "post": {
        "description": "Logo, favicon ya da arka plan görseli yükler. Gövde `multipart/form-data`: `kind`\n(`logo` | `favicon` | `background_image`) ve `file` (en çok 1 MiB). Kabul edilen biçimler PNG, JPEG, WebP ve\nyalnız favicon için ICO'dur; SVG ve başka biçimler `415 unsupported_media_type` döner. Yazı tipi yükleme GA'da\nkapalıdır (`kind=font` → `422`, `/kind font_upload_disabled`). Görsel yalıtılmış bir işçide çözülür, en çok\n1024×1024 PNG'ye yeniden kodlanır ve meta verisi atılır; favicon için 32 ve 180 px türevler de üretilir.\nKimlik, işlenmiş PNG'nin SHA-256'sıdır ve tema alanlarına (`logo`, `favicon`, `background_image`) yazılır.\nAynı tür ve içerik daha önce yüklenmişse var olan kayıt `200` ile döner. Ortam başına en çok 200 dosya ve\n50 MB; aşımda `403 quota_exceeded`. Idempotency anahtarıyla yinelenen istek aynı baytları (çok parçalı\nsınırlayıcı dahil) göndermelidir; farklı gövde `422 idempotency_key_reuse` alır.",
        "operationId": "uploadBrandingAsset",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/BrandingAssetUpload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingAsset"
                }
              }
            },
            "description": "Aynı tür ve içerik daha önce yüklenmiş; var olan kayıt.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingAsset"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/branding/assets",
        "tags": [
          "branding"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "branding:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/branding/css": {
      "put": {
        "description": "Ortam taslağının özel CSS'ini değiştirir (Startup ve üstü; plan içermiyorsa `403 plan_feature_unavailable`,\n`feature: branding_custom_css`). Boş dize CSS'i temizler ve plan kapısı aramaz. En çok 50 KB, geçerli UTF-8. CSS\nbeyaz liste arındırıcısından geçer: yalnız `ui_catalog` sınıfları, izinli özellikler ve korumalı\nkatman kuralları; hepsi ya da hiç. İhlal varsa hiçbir şey yazılmaz ve `422 branding_validation_failed` bütün\nihlalleri `violations[]` uzantısında (satır, sütun, kural kodu, ad; CSS değeri yok) döner; 100 ihlalden sonra\narındırıcı durur ve son öğe `too_many_issues` kuralıdır. Kanonik çıktı kapsam öneki yüzünden girdiden uzundur; 51200\nbaytı aşarsa tek ihlal `too_large` kuralıdır (satır 1, sütun 1). Taslağa\ngirdinin kendisi değil arındırıcının kanonik çıktısı yazılır; yanıttaki `css` bu çıktıdır. `If-Match` ortam\ntaslağının sürümüdür (`GET /v1/branding`). Yanıt ortam taslağıdır.",
        "operationId": "putBrandingCss",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BrandingCssInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingEnvironment"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/branding/css",
        "tags": [
          "branding"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "branding:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/branding/organizations/{org_id}": {
      "get": {
        "description": "Bir organizasyonun tema taslağını döndürür. Organizasyon düzeyi yalnız `logo` ve `light/dark.color.primary`\njetonlarını taşır ve yalnız doğrulanmış organizasyon bağlamında uygulanır. Taslak yoksa boş tema ve `ETag: \"0\"`.",
        "operationId": "getOrganizationBranding",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingScopeTheme"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/branding/organizations/{org_id}",
        "tags": [
          "branding"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "branding:read"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "Bir organizasyonun tema taslağını tümüyle değiştirir; `logo`, `light.color.primary` ve `dark.color.primary` dışındaki\njeton `422 validation_failed` (kod `token_not_allowed_in_scope`) döner. `If-Match` zorunludur (taslak yoksa `\"0\"`).\nOrganizasyonun varlığı bu sürümde denetlenmez (organizasyon deposu sonraki dilimdedir).",
        "operationId": "putOrganizationBranding",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BrandingScopeThemeInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingScopeTheme"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/branding/organizations/{org_id}",
        "tags": [
          "branding"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "branding:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/branding/page-template": {
      "put": {
        "description": "Ortam taslağının Liquid sayfa şablonunu değiştirir (Startup ve üstü; plan içermiyorsa `403 plan_feature_unavailable`,\n`feature: branding_page_template`). Şablon yazmada sandbox'ta derlenir: yasak etiket, öznitelik, değişken ya da eksik\n`{{ idp.widget }}` yuvası `422 template_forbidden_construct` döner. Boş dize şablonu temizler. En çok 100 KB.\n`If-Match` ortam taslağının sürümüdür. Yanıt ortam taslağıdır.",
        "operationId": "putBrandingPageTemplate",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BrandingPageTemplateInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingEnvironment"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/branding/page-template",
        "tags": [
          "branding"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "branding:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/branding/texts/{screen}/{locale}": {
      "delete": {
        "description": "Bir (kapsam, ekran, dil) altındaki geçersiz kılmaları siler; `key` verilmezse hepsini. Silinen anahtar platform\nvarsayılanına döner (yayımlanınca). Olmayan anahtarı silmek hata değildir.",
        "operationId": "deleteBrandingTexts",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_screen"
          },
          {
            "$ref": "#/components/parameters/path_locale"
          },
          {
            "description": "Uygulama kapsamı (önekli dış kimlik `app_…`); `org_id` ile birlikte verilemez. İkisi de yoksa kapsam ortamdır.",
            "in": "query",
            "name": "application_id",
            "required": false,
            "schema": {
              "maxLength": 64,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "description": "Organizasyon kapsamı (önekli dış kimlik `org_…`); `application_id` ile birlikte verilemez.",
            "in": "query",
            "name": "org_id",
            "required": false,
            "schema": {
              "maxLength": 64,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "description": "Silinecek metin anahtarı; tekrarlanabilir (en çok 500). Verilmezse (kapsam, ekran, dil) altındaki bütün geçersiz kılmalar silinir.",
            "explode": true,
            "in": "query",
            "name": "key",
            "required": false,
            "schema": {
              "items": {
                "pattern": "^[a-z0-9][a-z0-9._-]{0,63}$",
                "type": "string"
              },
              "maxItems": 500,
              "type": "array"
            },
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/branding/texts/{screen}/{locale}",
        "tags": [
          "branding"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "branding:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Bir (kapsam, ekran, dil) altındaki metin geçersiz kılmalarını döndürür; kapsam `application_id` ya da `org_id`\nsorgu parametresiyle seçilir (ikisi de yoksa ortam). Geçersiz kılınmayan anahtar platform kataloğundan gelir ve burada\ngörünmez. Ekran ve anahtar adı `^[a-z0-9][a-z0-9._-]{0,63}$`; dil kayıtlı BCP 47 kodudur.",
        "operationId": "getBrandingTexts",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_screen"
          },
          {
            "$ref": "#/components/parameters/path_locale"
          },
          {
            "description": "Uygulama kapsamı (önekli dış kimlik `app_…`); `org_id` ile birlikte verilemez. İkisi de yoksa kapsam ortamdır.",
            "in": "query",
            "name": "application_id",
            "required": false,
            "schema": {
              "maxLength": 64,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "description": "Organizasyon kapsamı (önekli dış kimlik `org_…`); `application_id` ile birlikte verilemez.",
            "in": "query",
            "name": "org_id",
            "required": false,
            "schema": {
              "maxLength": 64,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingTexts"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/branding/texts/{screen}/{locale}",
        "tags": [
          "branding"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "branding:read"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "Anahtar → değer haritasını yazar (var olanı değiştirir, verilmeyen anahtara dokunmaz); biri geçmezse hiçbiri yazılmaz.\nAnahtar platform kataloğunda olmalı (`unknown_text_key`); değer 1–1000 karakter düz metin, denetim ve bidi geçersiz kılma\nkarakteri yok, `{{ ad }}` yer tutucu kümesi varsayılan metinle aynı (`placeholder_mismatch`). Korumalı katman metinleri\n(consent, cihaz onayı, çıkış onayı) geçersiz kılınamaz. Metinler sürümsüzdür (`If-Match` yok); yayımlanana dek görünmez.\nYanıt yazmadan sonraki (kapsam, ekran, dil) metinleridir.",
        "operationId": "putBrandingTexts",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_screen"
          },
          {
            "$ref": "#/components/parameters/path_locale"
          },
          {
            "description": "Uygulama kapsamı (önekli dış kimlik `app_…`); `org_id` ile birlikte verilemez. İkisi de yoksa kapsam ortamdır.",
            "in": "query",
            "name": "application_id",
            "required": false,
            "schema": {
              "maxLength": 64,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "description": "Organizasyon kapsamı (önekli dış kimlik `org_…`); `application_id` ile birlikte verilemez.",
            "in": "query",
            "name": "org_id",
            "required": false,
            "schema": {
              "maxLength": 64,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BrandingTextsInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingTexts"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/branding/texts/{screen}/{locale}",
        "tags": [
          "branding"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "branding:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/branding/versions": {
      "get": {
        "description": "Yayınları yeniden eskiye listeler (ortam başına son 50 saklanır). Sayfalama yalnız ileri yöndedir (`after`);\n`before` ve `order` desteklenmez (`422`). Sürüm üst verisi anlık görüntü içeriği taşımaz.",
        "operationId": "listBrandingVersions",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingVersionList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/branding/versions",
        "tags": [
          "branding"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "branding:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/branding:preview-link": {
      "post": {
        "description": "Markalama taslaklarının barındırılan giriş sayfasındaki görünümü için 10 dakika geçerli bir önizleme bağlantısı\nüretir. Bağlantı ortamın GÜNCEL taslaklarını çizer (yayın beklenmez; taslak değişince sayfa\nyenisini gösterir); isteğe bağlı `application_id` ve `org_id` o düzeylerin taslağını da kalıtıma katar. Sayfada\nplatform önizleme bandı vardır ve giriş kapalıdır. `url` (`https://<ortam giriş host'u>/u/preview?token=…`) yalnız\nbu yanıtta bir kez döner ve `Cache-Control: no-store` taşır; `Idempotency-Key` ile tekrar oynatılan yanıtta `url`\nyoktur ve `secret_redacted: true` döner. Ortamda aynı anda en çok 20 geçerli bağlantı olur; aşılırsa\n`429 rate_limited`. Uygulama bu ortamda yoksa `404`. Bağlantı geri çağrılamaz; süresi dolunca `404` verir.",
        "operationId": "createBrandingPreviewLink",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BrandingPreviewLinkInput"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingPreviewLink"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/branding:preview-link",
        "tags": [
          "branding"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "branding:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/branding:publish": {
      "post": {
        "description": "Ortamın bütün markalama taslaklarını (ortam, uygulama ve organizasyon temaları, metinler, CSS, şablon) tek anlık\ngörüntü olarak yayımlar ve yeni sürüm numarası verir; yayınlar ortam başına seridir. Gövde yoktur. Yayın kapısı çözülmüş\ntemanın eksiksizliğini ve WCAG kontrastını iki varyantta denetler; geçmezse hiçbir şey yayımlanmaz ve\n`422 branding_validation_failed` bütün sorunları `issues[]` uzantısında (en çok 100; kapsam, jeton, kontrast çifti, oran,\neşik ve önerilen ton) döner. Taslaktaki özel CSS yayında yeniden arındırılır; geçmezse aynı kod ihlalleri\n`violations[]` uzantısında döner (`PUT /v1/branding/css`). Özel CSS'li taslak yayından önce barındırılan\nekranlarda çizilerek denetlenir: korumalı\nöğeyi bozan ya da yeni erişilebilirlik ihlali getiren CSS aynı `422 branding_validation_failed` ile\n`render_violations[]` uzantısında (ekran, dil, genişlik, kural, hedef; en çok 100, fazlası varsa\n`render_violations_truncated: true`) döner. Taslak denetim sırasında değişirse hiçbir şey yayımlanmaz ve\n`409 conflict` döner (yeniden yayımlayın); denetim kullanılamıyorsa `503 service_unavailable` (`Retry-After`).\nTaslakta özel CSS ya da şablon varken plan içermiyorsa `403 plan_feature_unavailable`.\nTaslaklar yayından sonra değişmez. Her yayın yönetim audit'ine ve `branding_published` olayına yazılır.",
        "operationId": "publishBranding",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingVersion"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/branding:publish",
        "tags": [
          "branding"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "branding:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/branding:rollback": {
      "post": {
        "description": "Seçilen sürümün anlık görüntüsünü yeni sürüm olarak yeniden yayımlar (`source: rollback`); geçmiş yeniden yazılmaz ve\ntaslaklara dokunulmaz. Sürüm yoksa (son 50 yayın saklanır) `404`. O sürüm özel CSS ya da şablon taşıyor ve plan artık\niçermiyorsa `403 plan_feature_unavailable`.",
        "operationId": "rollbackBranding",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BrandingRollbackInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingVersion"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/branding:rollback",
        "tags": [
          "branding"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "branding:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/config-export": {
      "get": {
        "description": "Ortamın yapılandırma kaynaklarını tek, ortamdan bağımsız bir belge olarak döndürür: kök\n`apiVersion: config.keenauth.com/v1`, her kaynak `kind`, `key` ve `spec` taşır. Belgede ortama özgü kimlik, sürüm,\nzaman damgası ve gizli değer bulunmaz; kaynaklar arası başvurular `key` iledir. Aynı yapılandırma bayt bayt aynı\nbelgeyi üretir (tür sırası, sonra `key`). Bu sürümde türler: `environment_settings`, `identity_settings`,\n`attack_protection`, `branding`, `connection`, `api`, `role`, `application`, `application_branding`. `attack_protection`\nmüşterinin yazdığı saldırı koruması alanlarını taşır; `role` ortam rollerini taşır; yazılmamış alan `null`'dır. Müşterinin emanet ettiği gizli alanlar\n(bağlantı `client_secret`) değer yerine `secret_ref` yer tutucusu taşır. Belgenin JSON\nSchema'sı `https://docs.keenauth.com/config/schema/v1.json`'dur. `config:read` iznine ek olarak\nbelgeye giren her tür kendi okuma iznini ister\n(eksikse `403 insufficient_permissions`, `required_permissions` tam listeyi verir). Belge 5.000 kaynağı ya da\n10 MiB'ı aşarsa `413 config_document_too_large`; `kinds` ile bölün. Yanıt JSON'dur (YAML 1.2'nin alt kümesi); CLI\nvarsayılan olarak YAML yazar.",
        "operationId": "exportConfig",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/ConfigExportKinds"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigDocument"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/config-export",
        "tags": [
          "config-export"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "config:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/config-plans": {
      "post": {
        "description": "Bir yapılandırma belgesini hedef ortamın güncel durumuyla karşılaştırır ve planı saklar;\nhiçbir kaynağı değiştirmez. Gövde `{\"document\": <belge>, \"prune\": false}`'dur: belge `GET /v1/config-export`'un\nbiçimindedir ve `https://docs.keenauth.com/config/schema/v1.json` JSON Schema'sına uymalıdır (aksi\n`422 validation_failed`, `errors[].pointer` hatalı alanın `/document/...` işaretçisi). Belge gizli değer taşıyamaz:\ngizli alan yalnız `secret_ref` yer tutucusu ya da `null`'dur (değer `422`, `secret_value`; değer yanıtta yankılanmaz).\nHedef aynı motorla okunur ve kaynak başına `create`, `update`, `delete` ya da `no_op` ile RFC 6901 alan farkları\nüretilir; dışa aktarılan bir belge değiştirilmeden verilirse her kaynak `no_op`'tur. Belgenin kapsadığı türler\n`kinds` (verilmezse kaynakların türleri); belgede olmayan kaynak varsayılan olarak SİLİNMEZ, yalnız `prune: true`\nile ve yalnız kapsamdaki türlerde `delete` olur (tekil ayar türleri hiç silinmez). Son durumda çözülemeyen bir `key`\nbaşvurusu (`unresolved_reference`), budamanın sildiği bir kaynağa kalan başvuru (`/prune`, `still_referenced`) ve\norganizasyona ait ya da dinamik kayıtlı uygulamanın `key`'i ve sistem API'sinin `key`'i (`key_in_use`) ile\n`urn:idp:` ile başlayan API tanımlayıcısı (`/spec/identifier`, `reserved`) `422` döner. Serbest biçimli alanlar\ndirectory sınırlarını taşır: bağlantı `settings` 32 KiB ve 8 düzey (`too_long`, `too_deep`), uygulama `jwks` ve\nizin onay metni 16 KiB (`too_long`); dizi ve metin sınırları şemadadır. Tek bir kaynak ya da üst düzey alan\n200.000 JSON değerini aşarsa `422` `too_large`. Müşteri sırrı isteyen yeni\nbir bağlantı `requires_secret: true` ve `secret_required` uyarısı taşır; plan sırrın değerini taşımaz. Plan 1 saat\ngeçerlidir (`expires_at`), hedefin kaynak başına `object_version`'ını saklar ve süresi dolduktan 7 gün sonra silinir. `config:read`\niznine ek olarak belgedeki her tür (`prune` ile silinebilecek kaynaklara başvurabilen türler dahil) kendi okuma\niznini ister (eksikse `403`, `required_permissions` tam liste). Belge 5.000 kaynağı ya da 10 MiB'ı aşarsa\n`413 config_document_too_large`. Yanıt `Location: /v1/config-plans/{plan_id}` ve `Cache-Control: no-store` taşır.\nHer plan bir `config_plan.created` yönetim audit kaydı yazar. Sınırlar: işlem kendi `config_plan`\nhız ailesindedir (dakikada Free 20, Startup ve Business 60, Enterprise 120; üretim dışı ortamda onda biri); ortam\nbaşına en çok 100 uygulanmamış canlı plan ve saklama penceresinde 2.000 plan ya da 1 GiB tutulur (aşımda\n`429 rate_limited`, `Retry-After` kotanın açılacağı an); eşzamanlı plan hesapları bellek bütçesiyle sınırlıdır:\nortamın payı doluysa `429 rate_limited`, sürecin bütçesi doluysa `503 service_unavailable`, ikisinde de\n`Retry-After: 5`. İzin denetimi şema doğrulamasından önce yapılır. Belgede bilinmeyen zarf üyesi (`422`\n`/document` `invalid`), istekte bilinmeyen üye (`400 unknown_field`) ve sınırı aşan değer sayısı (`too_large`)\ngövde çözülmeden reddedilir.",
        "operationId": "createConfigPlan",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigPlanRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigPlan"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "Location": {
                "description": "Planın adresi (`/v1/config-plans/{plan_id}`, göreli URI başvurusu).",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/config-plans",
        "tags": [
          "config-plans"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "config:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/config-plans/{plan_id}": {
      "get": {
        "description": "Saklanan planı döndürür. Plan gizli değer taşımaz. Süresi (1 saat) dolmuş ve uygulanmamış\nplan `status: expired` döner; süresi dolduktan 7 gün sonra silinir (sonra `404`). Plan yoksa ya da başka bir\nortama aitse `404`. Planı okumak, oluşturmanın istediği okuma izinlerinin aynısını ister.",
        "operationId": "getConfigPlan",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_plan_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigPlan"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/config-plans/{plan_id}",
        "tags": [
          "config-plans"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "config:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/config-plans/{plan_id}:apply": {
      "post": {
        "description": "Saklanan planı uygular. Gövde isteğe bağlıdır: `resolved_secrets` (planın\n`requires_secret` değişikliklerinin `secret_ref` adı → değer) ve `confirm_deletions` (`<kind>/<key>`). Sır değeri\nhiçbir yanıtta, logda ya da kayıtta yer almaz; eksik ad `422` (`/resolved_secrets/<AD>`, `secret_missing`),\nplanda olmayan ad `secret_unused`, boş ya da 8 KiB'tan uzun değer `secret_invalid`. Kurumsal OIDC bağlantısının\nmalzemesi (`spec.oidc`) ve istemci sırrı federation'a, bağlantı kaydından sonra yazılır: malzeme yeni\noluşuyorsa `sp_host` zorunludur (`422 /sp_host sp_host_required`; gerekmiyorsa `sp_host_unused`), federation reddi\n`/changes/<i>/spec/oidc/...` işaretçisiyle `422` olur ve plan `planned` kalır; bağlantı kaydı yazılmış olabilir, yeni plan\nyalnız eksik malzemeyi yazar. Sosyal bağlantının sırrı için yazma ucu henüz olmadığından o sırrı isteyen plan\ndoğrulamadan sonra `501 not_implemented` döner. `config:write`,\nplanın okuma izinleri ve değişen her türün yazma izni (`environment-settings:write`, `identity-settings:write`,\n`attack-protection:write`, `branding:write`, `connections:write`, `apis:write`, `applications:write`) gerekir (eksikse `403`,\n`required_permissions` tam liste). Süresi (1 saat) dolmuş plan `410 config_plan_expired`; uygulanmış ya da\nçakışmış plan `409 config_plan_not_applicable` (`plan_status` uzantısı; aynı plan başka bir istekte uygulanırken `applying`). Hedef plan anından sonra değiştiyse (kaynak\nsürümü ya da kapsamın özeti; `prune` ile başvuran türler dahil) ya da kaynaklar arası başvurular artık tutmuyorsa\nhiçbir değişiklik yapılmaz, plan `conflicted` olur ve `409 config_conflict` döner. Desene uymayan\n`resolved_secrets` adı ve `confirm_deletions` öğesi `422` (`invalid`) alır.\nSon 30 günde token almış bir uygulamanın ve her bağlantının silinmesi `confirm_deletions`'ta tekrar edilmezse `409\ndeletion_not_confirmed` (`unconfirmed_deletions` uzantısı; plan `planned` kalır). Bütün yazmalar tek veritabanı\nişleminde yapılır: biri başarısız olursa hiçbiri kalmaz (alan hatası `/changes/<i>/spec/...` işaretçisiyle `422`;\nbaşka bir kaynağın tekil değeri `409 conflict` + `/changes/<i>/spec/<alan>` `duplicate`; kullanımdaki bağlantı `409\nconnection_in_use`; başarılı test girişi olmadan kurumsal bağlantıyı `active` oluşturan ya da etkinleştiren değişiklik\n`409 connection_test_required` + `/changes/<i>/spec` `test_required`; politika çatışması `422 policy_conflict`; bu\ndurumlarda plan `planned` kalır). Revizyon\ngörüntüsü 10 MiB'ı aşarsa directory'ye yazılmadan `413 config_document_too_large` döner.\nBaşarıda plan `applied` (`applied_at`) döner; etkilenen kaynakların uygulama öncesi görüntüsü revizyon olarak\nsaklanır ve tek bir `config.applied` yönetim audit kaydı (yalnız sayılar) yazılır; kaynak başına kayıtlar ayrıca\nüretilir. Yanıt `Cache-Control: no-store` taşır. Sınırlar (Ek 5 madde 14): işlem plan oluşturmayla aynı\n`config_plan` hız ailesini paylaşır ve plan hesabıyla aynı bellek bütçesinden geçer (ortam payı doluysa `429\nrate_limited`, süreç bütçesi doluysa `503 service_unavailable`, ikisinde de `Retry-After: 5`; plan `planned` kalır).",
        "operationId": "applyConfigPlan",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_plan_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigPlanApplyRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigPlan"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "501": {
            "$ref": "#/components/responses/E501"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/config-plans/{plan_id}:apply",
        "tags": [
          "config-plans"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "config:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/config-revisions": {
      "get": {
        "description": "Ortamın yapılandırma revizyonlarını döndürür: her başarılı `:apply`\netkilediği kaynakların uygulama öncesi görüntüsünü bir revizyon olarak saklar (ortam başına en yeni 50, en çok\n90 gün). Varsayılan sıra en yeni öncedir; sayfalama imleçlidir. Öğe yalnız başı taşır (kimlik, plan, aktör,\nzaman, türler, uygulamanın sayıları); görüntünün spec'leri ve sır değeri dönmez. Plan 7 gün sonra silinince\n`plan_id` null olur. Yalnız çağıranın ortamının revizyonları görünür. Yanıt `Cache-Control: no-store` taşır.",
        "operationId": "listConfigRevisions",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigRevisionList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/config-revisions",
        "tags": [
          "config-revisions"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "config:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/config-revisions/{revision_id}:restore": {
      "post": {
        "description": "Revizyondan geri alma planı üretir; hiçbir kaynağı değiştirmez. Geri alma doğrudan\nyazmaz: revizyonun görüntüsünden istenen belge kurulur ve `createConfigPlan`'ın aynı yolundan (şema doğrulaması,\nsır taraması, fark, başvuru denetimi, silme uyarıları, plan kotası, `config_plan.created` audit kaydı; metadata\n`source: revision_restore` ve `revision_id`) yeni bir plan saklanır. Plan `POST /v1/config-plans/{plan_id}:apply`\nile uygulanır; bayatlık (`409 config_conflict`), silme onayı ve sır kuralları orada geçerlidir. Belge: uygulamanın\ngüncellediği ve sildiği kaynaklar uygulama öncesi spec'leriyle (silinenler yeniden oluşturulur); uygulamanın\noluşturduğu kaynaklar silinir (plan o zaman `prune: true` olur ve kapsamdaki diğer kaynaklar `no_op` görünür).\nRevizyon sır değeri taşımaz: yeniden oluşturulan sır isteyen bağlantı `requires_secret` olur. Gövde yoktur\n(boş gövde, `{}` ya da `null` kabul edilir; başka üye `400 unknown_field`). `config:write` ve kapsamın okuma\nizinleri gerekir (`prune` iken başvuran türler dahil; eksikse `403`, `required_permissions` tam liste). Revizyon\nyoksa, başka bir ortama aitse ya da saklama süresi (90 gün) dolduysa `404`. Görüntü artık şemaya uymuyorsa ya da\nbaşvuruları bugünkü hedefte çözülmüyorsa `422` (işaretçi `/revision/<kind>/<key>/...`; hâlâ başvurulan\noluşturulmuş kaynak `/revision/created` `still_referenced`; bilinmeyen tür `/revision_id` `not_restorable`).\nSınırlar `createConfigPlan` ile aynıdır (`config_plan` hız ailesi, bellek bütçesi `429`/`503` + `Retry-After`,\nplan kotası `429`, 10 MiB `413 config_document_too_large`). Yanıt `Cache-Control: no-store` taşır.",
        "operationId": "restoreConfigRevision",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_revision_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigPlan"
                }
              }
            },
            "description": "Geri alma planı oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "Location": {
                "description": "Planın adresi (`/v1/config-plans/{plan_id}`, göreli URI başvurusu).",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/config-revisions/{revision_id}:restore",
        "tags": [
          "config-revisions"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "config:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections": {
      "get": {
        "description": "Ortamdaki bağlantıları imleçli sayfalarla listeler. Ortam yalnız kimlik bilgisinden gelir. `type` ve `status`\nile süzülebilir; başka bir süzgeçle üretilmiş imleç `400 invalid_cursor` verir. Sıralama `created_at` + `id` ile kararlıdır.",
        "operationId": "listConnections",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          },
          {
            "description": "Bağlantı türüne göre süz (ör. `social`, `enterprise`). Değerler küçük harf, rakam ve alt çizgidir; bilinmeyen değer boş sonuç verir.",
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "pattern": "^[a-z0-9_]{1,32}$",
              "type": "string"
            }
          },
          {
            "description": "Duruma göre süz: `active` ya da `inactive`.",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "pattern": "^[a-z0-9_]{1,32}$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/connections",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "List authentication connections with optional type and status filters. Secret-like settings are never returned.",
          "destructive": false,
          "read_only": true,
          "tool": "connections_list"
        },
        "x-idp-permissions": [
          "connections:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Yeni bağlantı kaydeder. `key`, `type`, `strategy` ve `name` zorunludur; `key`, `type` ve `strategy` sonradan değişmez.\n`status` verilmezse `database`, `passwordless` ve `passkey` için `active`; protokol yapılandırması gereken `social` ve\n`enterprise` için `inactive` olur (etkinleştirme açık eylemdir: `:activate`). Kurumsal bağlantı `status: active` ile\noluşturulamaz: yeni bağlantının başarılı test girişi olamaz (KG-03), istek `409 connection_test_required` ile reddedilir\nve hiçbir şey yazılmaz. `settings` sır içeremez (sır benzeri anahtar\nadı ya da değer `422` ile reddedilir); protokol sırları ayrı bir yüzeydedir. Ortam başına en çok 100 bağlantı, en çok 20 genel\nsosyal (`oidc_generic`, `oauth2_generic`) bağlantı ve org başına en çok 20 bağlantı olabilir (`403 quota_exceeded`). Yanıt `ETag` başlığı taşır.\n`type = passkey` bağlantısında `settings` kapalı bir anahtar kümesidir (`PasskeyConnectionSettings`): bilinmeyen anahtar,\nyanlış tür ya da aralık dışı değer `422 validation_failed` döndürür (`errors[].pointer` = `/settings/<anahtar>`); dolu\n`rp_id` ortamın `active` özel alanının host adı olmalıdır. Plana bağlı alanlar varsayılandan farklı yazılırsa `403 plan_feature_unavailable` (`feature`,\n`required_plan` uzantılarıyla) döner; `related_origins` için hak varsa her köken ortamın doğrulanmış özel alanı olmalıdır\n(`422 related_origin_not_verified`).",
        "operationId": "createConnection",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Connection"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/connections",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}": {
      "delete": {
        "description": "Bağlantıyı siler (kullanıcı verisini silmez). `If-Match` zorunludur. Etkin bağlantıya bağlı kimliği olan kullanıcı\nvarsa `409 connection_in_use` döner; önce `:deactivate` gerekir. Silinen bağlantı uygulama bağlantı listelerinden de düşer.\nSilinen bağlantı 30 gün içinde `POST /v1/connections/{connection_id}:restore` ile `inactive` olarak geri yüklenebilir;\nsonra kalıcı silinir.",
        "operationId": "deleteConnection",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/connections/{connection_id}",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Bağlantıyı döndürür. Başka ortamın ya da var olmayan bağlantı `404 not_found` verir (varlık sızdırılmaz). Yanıt `ETag`\nbaşlığı taşır (`PATCH` ve `DELETE` için `If-Match`). Kurumsal bağlantıda `pending_revision_id` bekleyen taslak\nrevizyonun kimliğidir; alan yalnız bu uçta ve kurumsal yapılandırma servisi okunabildiğinde\nvardır.",
        "operationId": "getConnection",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Connection"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/connections/{connection_id}",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "Get one authentication connection by id (conn_...). Secret-like settings are never returned.",
          "destructive": false,
          "read_only": true,
          "tool": "connections_get"
        },
        "x-idp-permissions": [
          "connections:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "Bağlantıyı RFC 7396 birleştirme yamasıyla günceller (`application/merge-patch+json`). `If-Match` zorunludur (yoksa\n`428`, eşleşmezse `412`). `null` ata `display_name` ve `settings` alanlarını temizler; `key`, `type` ve `strategy`\ndeğiştirilemez (`422`, kod `immutable`). Durum değişimi (`status`) `:activate` / `:deactivate` ile aynı sonucu verir;\nkurumsal bağlantıyı `active` yapan yama ve etkin kurumsal bağlantının `allowed_email_domains`'ine alan ekleyen yama da test\nkapısından geçer (`409 connection_test_required`, denetim yapılamazsa `503`; hiçbir şey yazılmaz); alan çıkarmak denetlenmez.\nDeğişiklik içermeyen yama yazma yapmaz ve sürümü artırmaz. `settings` sır içeremez. `type = passkey` için `settings`\nbirleşim sonucu `PasskeyConnectionSettings` kurallarıyla doğrulanır: `422 validation_failed` (şekil), plana bağlı alanlar\niçin `403 plan_feature_unavailable` (`feature`, `required_plan`) ve `422 related_origin_not_verified`; şekil hatası\nplan kapısından önce döner. `settings.rp_id` ortamın `active` özel alanının host adı ya da boş olmalıdır (değilse\n`422 validation_failed`, `/settings/rp_id`); değeri değiştiren yama bu ortamda passkey varken `409\nrp_id_change_requires_migration` alır, passkey sayımı alınamazsa `503\nservice_unavailable` (`Retry-After`); iki durumda da hiçbir şey yazılmaz.",
        "operationId": "updateConnection",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Connection"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/connections/{connection_id}",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}/attribute-mappings": {
      "get": {
        "description": "Kurumsal bağlantının öznitelik eşleme listesini hedefe göre sıralı döndürür; yanıt `ETag` taşır (kanonik\nlistenin SHA-256 özeti; `PUT` ve `:apply-profile` için `If-Match`). Kayıtlı satırı olmayan bağlantıda liste boştur:\ngirişte şablon varsayılanı uygulanır (OIDC'de `generic` hazır profili, SAML'de eşleme yok). Kurumsal olmayan\n(database, social, passkey…) ya da bu ortamda olmayan bağlantı `404`'tür. Okuma audit'e yazılmaz.",
        "operationId": "getConnectionAttributeMappings",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionAttributeMappings"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/connections/{connection_id}/attribute-mappings",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:read"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "Bağlantının öznitelik eşleme listesini tam olarak değiştirir.\n`If-Match` zorunludur: yoksa `428`, son okunan `ETag` ile eşleşmezse ya da liste arada değiştiyse `412` ve hiçbir\nşey yazılmaz. Kurallar: yalnız bilinen hedefler (`email` zorunlu; `given_name`, `family_name`, `name`, `locale`,\n`zoneinfo`, `phone`, `groups`, `user_metadata.<anahtar>`; kayıtlı OIDC claim adları ve `idp_` öneki anahtar olamaz,\n`app_metadata` yazılamaz), hedef başına bir satır, en çok 20 `user_metadata` anahtarı ve toplam 28 satır, kaynak adı\n1–512 bayt (denetim/bidi karakteri ve baş/son boşluk yok), `source_name_format` mutlak URI ve bir kaynak adı için tek\nbiçim, `overwrite` `always`|`if_empty`|`never`, `profile` hazır profil kümesinden (verilmezse `generic`). Her kırık\nkural `422 validation_failed` içinde bir `errors[]` öğesidir (işaretçi `/attribute_mappings/<sıra>/<alan>` ya da\nliste kuralları için `/attribute_mappings`: `email_required`, `too_many_metadata_keys`). LDAP bağlantısı eşleme\ntaşımaz (`409 conflict`). Aynı liste yazma yapmaz (sürüm ve audit değişmez). Değişiklik bir sonraki girişten\nitibaren geçerlidir; son başarılı bağlantı testini geçersiz kılmaz. Yazma yönetim audit'ine\n`connection.attribute_mappings_replaced` olarak geçer (eklenen, silinen, değişen hedefler; öznitelik değeri yok).",
        "operationId": "putConnectionAttributeMappings",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionAttributeMappingsPutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionAttributeMappings"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/connections/{connection_id}/attribute-mappings",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}/attribute-mappings:apply-profile": {
      "post": {
        "description": "Sabit hedef satırlarını (email, adlar, groups…) bir hazır profilin satırlarıyla değiştirir: SAML `entra`, `okta`, `google`, `ping`, `jumpcloud`, `keycloak`; OIDC `generic`. Kayıtlı `user_metadata.<anahtar>` satırları kalır.\nSAML özne özniteliği değişmez (özne ayrı ayarlanır; değiştirmek bağlı kimlikleri yetim bırakır). `If-Match`\nzorunludur (`PUT` ile aynı: yoksa `428`, eşleşmezse `412`). Bilinmeyen ya da bağlantının protokolüne ait olmayan\nprofil `422 validation_failed` (`/profile`); kalan bir `user_metadata` satırı profil kaynağını başka NameFormat'la\nokuyorsa `422 validation_failed` (`/profile`, `conflicts_with_stored_mappings`). LDAP bağlantısı `409 conflict`.\nProfil zaten uygulanmışsa yazma yapılmaz. Yazma `connection.attribute_mappings_replaced` audit'ine profil adıyla\ngeçer.",
        "operationId": "applyConnectionAttributeMappingProfile",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionAttributeMappingProfileRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionAttributeMappings"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/connections/{connection_id}/attribute-mappings:apply-profile",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}/certificates": {
      "get": {
        "description": "Kurumsal SAML bağlantısının etkin IdP imza sertifikalarını döndürür: kimlik (`conncert_…`), SHA-256\nparmak izi, geçerlilik aralığı ve kaynak (`metadata` ya da `manual`). Sertifikanın kendisi ve konusu (kişi adı ya da\ne-posta taşıyabilir) döndürülmez. Bağlantı başına en çok 3 etkin sertifika olduğundan liste sayfalanmaz: `limit`,\n`after`, `before`, `order` yoktur ve `list_metadata` imleç taşımaz. SAML yapılandırması henüz oluşturulmamış bağlantıda\nliste boştur; SAML olmayan bağlantı `409 conflict`, kurumsal olmayan ya da bu ortamda olmayan bağlantı `404`'tür. Okuma\naudit'e yazılmaz.",
        "operationId": "listConnectionCertificates",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionCertificateList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/connections/{connection_id}/certificates",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Kurumsal SAML bağlantısına bir IdP imza sertifikası ekler. PEM\nbiçiminde tek `CERTIFICATE` bloğu (en çok 8 KiB); süresi dolmamış, RSA ≥ 2048 bit ya da ECDSA P-256/P-384/P-521 anahtarlı\nolmalıdır (aksi `422 validation_failed`, `/certificate`; nedeni ve sertifikanın içeriği yanıtta ve logda yer almaz).\nRotasyon etkin bağlantıda da doğrudan uygulanır. Yeni sertifika `201`, bağlantıda zaten kayıtlı olan aynı\nsertifika `200` ile döner (yazma ve audit yok). Bağlantı başına en çok 3 etkin sertifika vardır (aşılırsa `409 conflict`);\ndaha önce silinmiş bir sertifika yeniden eklenemez (`409 conflict`). SAML olmayan ya da SAML yapılandırması henüz\noluşturulmamış bağlantı `409 conflict`. `If-Match` almaz. Yazma yönetim audit'ine `connection.idp_certificate_added`\nolarak geçer.",
        "operationId": "addConnectionCertificate",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionCertificateAddRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionCertificate"
                }
              }
            },
            "description": "Sertifika zaten kayıtlı; değişiklik yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionCertificate"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/connections/{connection_id}/certificates",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}/certificates/{certificate_id}": {
      "delete": {
        "description": "IdP imza sertifikasını bağlantıdan siler: sertifika\nemekliye ayrılır, o andan itibaren imza doğrulamada kullanılmaz, listede görünmez ve yeniden eklenemez. Zaten silinmiş\nsertifika da `204`'tür. Şu an geçerli son etkin sertifika silinemez (`409 conflict`): bağlantı her girişi reddederdi; önce\nyeni sertifikayı ekleyin. Bilinmeyen sertifika, biçimsiz kimlik, kurumsal olmayan ya da bu ortamda olmayan bağlantı\n`404`; SAML olmayan bağlantı `409 conflict`. `If-Match` almaz. Silme yönetim audit'ine `connection.idp_certificate_retired`\nolarak geçer.",
        "operationId": "deleteConnectionCertificate",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/path_certificate_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/connections/{connection_id}/certificates/{certificate_id}",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}/idp-initiated": {
      "put": {
        "description": "SAML kurumsal bağlantının IdP-initiated (istenmemiş yanıt) girişine izin verir ya da izni kapatır ve hedef uygulamaları\nyazar. Tam değiştirmedir: üç alan her istekte yazılır; verilmeyen\n`idp_initiated_default_application_id` ve boş `idp_initiated_allowed_application_ids` temizlenir. Varsayılan kapalıdır;\naçarken RelayState boş geldiğinde kullanılacak varsayılan uygulama zorunludur. RelayState yalnız\n`idp_initiated_allowed_application_ids` listesindeki (ya da varsayılan) uygulamanın `client_id`'siyle bayt bayt\neşleşirse o uygulamayı seçer; URL olarak yorumlanmaz. Her hedef bu ortamda var olan, tarayıcı girişi olan (m2m,\nmanagement ya da CIMD olmayan) ve `initiate_login_uri` kayıtlı bir uygulama olmalıdır; liste tekil ve en çok 20\nöğedir. SAML olmayan bağlantı, eksik varsayılan ya da uygun olmayan hedef `422 validation_failed`'dır (`errors[]`\nişaretçisi alan adıdır). Ayar güvenliği gevşettiği için pano kullanıcısında adım yükseltme ister ve yalnız\n`owner`/`admin` yazabilir; Yönetici Portalı bu alanları yazamaz. `If-Match` verilirse bağlantının `ETag`'iyle\neşleşmelidir (`412`). Yanıt güncel bağlantı kaynağıdır. Yazma yönetim audit'ine `connection.updated` olarak geçer.",
        "operationId": "putConnectionIdpInitiated",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionIdpInitiatedPutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Connection"
                }
              }
            },
            "description": "Güncellendi.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/connections/{connection_id}/idp-initiated",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}/oidc": {
      "get": {
        "description": "Kurumsal OIDC bağlantısının RP yapılandırmasını döndürür: IdP'ye verilecek `redirect_uri`, `issuer`,\n`client_id`, istemci kimlik doğrulama yöntemi ve sağlayıcı profili. Client sırrı hiçbir yanıtta yoktur; yalnız\n`client_secret_configured` ve (verildiyse) `client_secret_expires_at` döner. Yanıt `ETag` taşır (yazılabilen alanların\nSHA-256 özeti; `PUT` için `If-Match`). Yapılandırması henüz yazılmamış, OIDC olmayan, kurumsal olmayan ya da bu\nortamda olmayan bağlantı `404`'tür. Okuma audit'e yazılmaz.",
        "operationId": "getConnectionOidcConfig",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionOidcConfig"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/connections/{connection_id}/oidc",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:read"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "Kurumsal OIDC bağlantısının RP yapılandırmasını oluşturur ya da tam olarak değiştirir.\nİlk yazım `If-Match` almaz ve `sp_host` ister (ortamın etkin host'u; callback `https://<sp_host>/sso/<conn_…>/callback`\nolarak dondurulur), yanıt `201`'dir; `If-Match` ile ilk yazım `412`'dir. Yapılandırma varken `If-Match` zorunludur: yoksa `428` ve hiçbir şey yazılmaz (başlıksız istek\nvar olan yapılandırmayı ezmez), son okunan `ETag` ile eşleşmezse ya da arada başka yazım olduysa `412`; `*` mevcut\nyapılandırmayla eşleşir. Güncellemede `sp_host` boş ya da kayıtlı host olmalıdır (başkası `409 conflict`).\n`client_secret` yalnız yazılır: hiçbir yanıtta, logda ya da audit kaydında değeri yoktur; güncellemede verilmezse\nkayıtlı sır korunur, `private_key_jwt` sırrı siler (istemci iddiasını ortamın RP anahtarı imzalar). Sır isteyen\nyöntemde ne kayıtlı ne verilen sır varsa `409 conflict`. Oluşturmada ve `issuer` değişiminde (taslak revizyon dahil)\n`<issuer>/.well-known/openid-configuration` çıkış vekili üzerinden çekilir: belgedeki `issuer` girilenle bayt\nbayt aynı değilse `422 validation_failed` (`/issuer`), belge çekilemez ya da geçerli bir yapılandırma değilse\n`409 conflict`; ikisinde de hiçbir şey yazılmaz. Çekilen belge yazımla saklanır (eski issuer'ın belgesi silinir),\naynı `issuer` yeniden çekilmez. `issuer` ya da `client_id` değişirse son başarılı bağlantı testi geçersizleşir. Değer kuralları ihlali `422 validation_failed`\n(`errors[]` işaretçisi alan adıdır: `/issuer`, `/client_id`, `/client_auth_method`, `/client_secret`,\n`/provider_profile`, `/entra_tenant_id`, `/sp_host`). OIDC olmayan bağlantı `409 conflict`. Aynı yapılandırma yazma\nyapmaz. Yazma yönetim audit'ine `connection.protocol_config_created` ya da `connection.oidc_config_updated` (değişen\nalanlar; sır yalnız `client_secret_set`) olarak geçer. Etkin bağlantıda `issuer` ya da `client_id` değişiyorsa yazım\nuygulanmaz, bütünüyle (yeni sır dahil) taslak revizyon olur: yanıt `200`, canlı yapılandırmayı, canlı `ETag`'i\nve `revision`'ı taşır; taslak `:test` gövdesinde `revision_id` ile denenip `…:publish` ile yayımlanır.",
        "operationId": "putConnectionOidcConfig",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionOidcConfigPutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionOidcConfig"
                }
              }
            },
            "description": "Güncellendi.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionOidcConfig"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/connections/{connection_id}/oidc",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}/revisions": {
      "get": {
        "description": "Kurumsal bağlantının taslak revizyonlarını en yeniden eskiye listeler: bekleyen taslak (en\nçok bir) ve son 90 günde yayımlanmış ya da düşmüş revizyonlar. Etkin bağlantıda güvenlik-kritik değişiklik (IdP entityID\nya da SSO URL'si, metadata imza sabitlemesinin kalkması, OIDC `issuer` ya da `client_id`) ve her SP host taşıması\n(`:migrate-sp-host`) doğrudan uygulanmaz, taslak revizyon olur; taslak `:test` gövdesinde `revision_id` ile denenir ve\n`…/revisions/{revision_id}:publish` ile yayımlanır. Her revizyon yalnız sır olmayan değişikliklerini (`changes`; yeni\nclient sırrı yalnız `client_secret_change` olarak) ve son testini (`latest_test`, 24 saat) taşır; aktör yönetim\naudit'indedir. Sayfalama yalnız ileri yöndedir: `limit` (1–100) ve `after`; `before` ya da `order` verilirse `422\nvalidation_failed`. İmleç bağlantıya bağlıdır (başka bağlantının imleci `400 invalid_cursor`). Kurumsal olmayan ya da bu\nortamda olmayan bağlantı `404`'tür. Okuma audit'e yazılmaz.",
        "operationId": "listConnectionRevisions",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionRevisionList"
                }
              }
            },
            "description": "Bağlantının revizyonları, en yeni önce.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/connections/{connection_id}/revisions",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}/revisions/{revision_id}:publish": {
      "post": {
        "description": "Bağlantının taslak revizyonunu canlı yapılandırma yapar. Yayım tek işlemde canlı malzemeyi\nrevizyonunkiyle değiştirir (SAML: IdP tarafı ve yeni sertifikalar; OIDC: RP malzemesi ve sırrı; SP host taşıma: SP\nhost'u ve SP URL'leri, eski host 30 gün daha yanıt verir), revizyonu `published` yapar ve yönetim audit'ine\n`connection.revision_published` yazar. Son 24 saatte bu revizyonla (`:test` gövdesinde `revision_id`) geçmiş bir test\ngirişi gerekir; yoksa `409 conflict`. Zaten yayımlanmış revizyon yazmadan `200` ve `already_published: true` döner\n(eşzamanlı iki yayımdan yalnız biri yazar). Düşmüş (`discarded`) revizyon, taslak yapıldıktan sonra canlı yapılandırması\ndeğişen bağlantı (yeni taslak gerekir), önceki SP host taşımasının 30 günlük penceresi sürerken SP host taslağı, ortamdan\nçıkmış yeni host, 3 etkin sertifika sınırı ve protokol yapılandırması olmayan bağlantı `409 conflict`'tir (`detail` hangi\nönkoşulun tutmadığını sabit bir cümleyle söyler). Bu bağlantının olmayan revizyonu, kurumsal olmayan ya da bu ortamda\nolmayan bağlantı `404`'tür. Gövde yoktur (boş gövde ya da `{}`). `If-Match` almaz: revizyonun sürümü yoktur, canlı\nyapılandırmanın taslaktan sonra değişmesi sunucuda denetlenir.",
        "operationId": "publishConnectionRevision",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/path_revision_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionRevisionPublishResult"
                }
              }
            },
            "description": "Yayımlanan revizyon.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/connections/{connection_id}/revisions/{revision_id}:publish",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}/role-mappings": {
      "get": {
        "description": "Kurumsal bağlantının (SAML/OIDC) dış grup → rol eşlemelerini kimlik sırasıyla (eskiden yeniye) imleçli listeler; yalnız\nileri sayfalama vardır. İmleç bağlantıya bağlıdır. Bağlantı yoksa, kurumsal değilse ya da başka ortamdaysa `404`.",
        "operationId": "listConnectionRoleMappings",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleMappingList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/connections/{connection_id}/role-mappings",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "IdP'nin gönderdiği grup değerini (`external_group_key`, aynen) bir role (`rol_…`) eşler; federation girişte üyeliğe\n`idp_mapping` kaynaklı rol verir. Org bağlantısında rol ortam rolü ya da o org'un rolü olmalıdır. Ayrıcalıklı role eşleme\nek olarak `roles:write` ister ve onaylı oluşur. Aynı grup değeri\nbağlantıda zaten eşlenmişse `409 conflict`; bağlantı başına 500 eşleme (`409 role_mapping_limit_reached`). Yazma\n`role_mapping.created` audit'idir (grup değeri audit'e girmez).",
        "operationId": "createConnectionRoleMapping",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoleMappingCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleMapping"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/connections/{connection_id}/role-mappings",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}/role-mappings/{mapping_id}": {
      "delete": {
        "description": "Eşlemeyi siler; yanıt gövdesizdir. Eşleme yoksa ya da başka bağlantı veya ortamdaysa `404`. Eşlemeyle verilmiş roller\nsonraki girişte yeniden hesaplanır. Silme `role_mapping.deleted` audit'idir.",
        "operationId": "deleteConnectionRoleMapping",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/path_mapping_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/connections/{connection_id}/role-mappings/{mapping_id}",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Eşlemeyi döndürür (`rmp_…`). `approved_at` null ise eşleme onaysızdır: rol ayrıcalıklıysa federation rolü vermez.\nEşleme yoksa ya da başka bağlantı veya ortamdaysa `404`.",
        "operationId": "getConnectionRoleMapping",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/path_mapping_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleMapping"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/connections/{connection_id}/role-mappings/{mapping_id}",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}/role-mappings/{mapping_id}:approve": {
      "post": {
        "description": "Rolü eşlemeden sonra ayrıcalıklı yapılan eşlemeyi onaylar; onaydan sonra federation rolü yeniden verir.\n`connections:write` ile birlikte `roles:write` ister. Gövde yoktur. Ayrıcalıksız role eşleme onay gerektirmez (`409\nconflict`); onaylı eşlemede işlem etkisizdir. Yazma `role_mapping.approved` audit'idir.",
        "operationId": "approveConnectionRoleMapping",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/path_mapping_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleMapping"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/connections/{connection_id}/role-mappings/{mapping_id}:approve",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write",
          "roles:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}/rp-id-migration": {
      "get": {
        "description": "Bağlantının en son rpId göçünü (süren ya da kapanmış) döndürür. Hiç göçü olmayan, passkey türünde\nolmayan ya da bu ortamda olmayan bağlantı `404 not_found`'dur. `revoked_count` ve `new_registration_count` göç\nkapanınca yazılır; süren göçte `null`'dır. Okuma audit'e yazılmaz.",
        "operationId": "getConnectionRpIdMigration",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionRpIdMigration"
                }
              }
            },
            "description": "Bağlantının en son göçü.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/connections/{connection_id}/rp-id-migration",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}/sp-metadata": {
      "get": {
        "description": "Kurumsal SAML bağlantısının imzalı SP metadata belgesini (SAML 2.0 `EntityDescriptor`) indirir:\nIdP yöneticisinin IdP'ye yüklediği belgedir. İçerik, bağlantının dondurulmuş SP host'undaki kamu adresinin\n(`https://<sp host>/saml/<conn_…>/metadata`) yayımladığıyla aynıdır: `entityID`, `validUntil` (7 gün), `cacheDuration`\n(`PT24H`), imza ve şifreleme sertifikaları (rotasyon penceresinde ikişer), NameID biçimleri, ACS (HTTP-POST) ve SLO\nuçları; belge bağlantının etkin SP imza anahtarıyla imzalıdır. SP anahtarları henüz yoksa ilk kullanımda oluşturulur. Yanıt, kamu adresiyle aynı medya türünde `application/samlmetadata+xml` gövdesidir,\n`Content-Disposition: attachment; filename=\"<conn_…>-sp-metadata.xml\"` ve `Cache-Control: no-store`\ntaşır. SAML olmayan bağlantı ya da SAML yapılandırması henüz oluşturulmamış bağlantı `409 conflict`, kurumsal olmayan\nya da bu ortamda olmayan bağlantı `404`'tür. Okuma audit'e yazılmaz. `revision_id` (`connrev_…`) verilirse bağlantının\ntaslak revizyonunun belgesi döner: SP host taşımasında yeni host'taki uçlarla, yayından önce IdP'ye yüklenecek belge. Biçimsiz ya da bu bağlantının taslağı olmayan `revision_id` `422 validation_failed` (`/revision_id`; kod\n`invalid_value` ya da `not_found`).",
        "operationId": "getConnectionSpMetadata",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "description": "Bağlantının taslak revizyonu (`connrev_…`); verilirse o taslağın SP metadata belgesi döner.",
            "in": "query",
            "name": "revision_id",
            "required": false,
            "schema": {
              "pattern": "^connrev_[0-7][0-9a-hjkmnp-tv-z]{25}$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/samlmetadata+xml": {
                "schema": {
                  "description": "İmzalı SAML 2.0 SP metadata belgesi (UTF-8 XML, `md:EntityDescriptor`).",
                  "type": "string"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Cache-Control": {
                "description": "`no-store`.",
                "schema": {
                  "type": "string"
                }
              },
              "Content-Disposition": {
                "description": "`attachment; filename=\"<conn_…>-sp-metadata.xml\"`.",
                "schema": {
                  "type": "string"
                }
              },
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/connections/{connection_id}/sp-metadata",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}/subject-conflicts": {
      "get": {
        "description": "Kurumsal bağlantının SSO özne çakışması kayıtlarını imleçli sayfalarla listeler. Kayıt, bu\nbağlantıya başka özneyle bağlı bir kullanıcının doğrulanmış adresi yeni bir özneyle geldiğinde açılır; giriş\nreddedilir ve hiçbir kimlik bağlanmaz. Aynı özne kayıt açıkken yeniden gelirse yeni kayıt açılmaz. Açık kayıt 30 gün\nsonra `expired` olur. Yanıt yalnız kimlikleri, durumu, kararı ve zamanları taşır; dış özne ve e-posta adresi\ndönmez. İzin `users:read`'dir (kayıt bir kullanıcı hesabına yöneliktir). Bu ortamda olmayan bağlantı\n`404 not_found`'dur. Sıralama `created_at` + `id` ile kararlıdır; imleç bağlantıya bağlıdır.",
        "operationId": "listConnectionSubjectConflicts",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionSubjectConflictList"
                }
              }
            },
            "description": "Bağlantının özne çakışması kayıtları.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/connections/{connection_id}/subject-conflicts",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}/subject-conflicts/{conflict_id}:resolve": {
      "post": {
        "description": "SSO özne çakışması kaydına yöneticinin kararını uygular. `same_person`: yeni özne aynı kişidir\n(ör. IdP'de hesap yeniden oluşturuldu); kullanıcının bu bağlantıdaki eski kimliği yeni özneyle değiştirilir ve\nkullanıcı bir sonraki girişte yeni özneyle girer. Kullanıcı etkin değilse `403 user_not_active`; bağlantı etkin\ndeğilse, yeni özne başka bir kullanıcıya bağlandıysa ya da kimlik sınırı doluysa `409 conflict`; bu durumlarda\nkayıt açık kalır. `different_person`: adres yeni bir kişiye verildi; kayıt kapanır ve hiçbir kimlik bağlanmaz.\nYeni kişinin sonraki girişi yeni bir kayıt açar; bunu durdurmak için eski hesabın adresini değiştirin ya da\nhesabı engelleyin. Kimlik değişikliği, olaylar ve yönetim audit'i tek işlemde yazılır. Aynı kararın tekrarı kaydı\nyeniden yazmadan `200` döner; farklı karar `409 conflict`'tir. Süresi dolmuş, başka bağlantının ya da bu ortamda\nolmayan kayıt `404 not_found`'dur. Geçersiz `resolution` `422 validation_failed` (`/resolution`) döner.",
        "operationId": "resolveConnectionSubjectConflict",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/path_conflict_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionSubjectConflictResolveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionSubjectConflict"
                }
              }
            },
            "description": "Çözülmüş kayıt.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/connections/{connection_id}/subject-conflicts/{conflict_id}:resolve",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}/test-results/latest": {
      "get": {
        "description": "Bağlantının saklanan (son 24 saat) en yeni test girişinin sonucunu döndürür: durum (`pending`,\n`passed`, `failed`), başarısızlık nedeni, IdP'den gelen öznitelik **adları**, grup sayısı ve değer alan\neşlenmiş alanlar. Öznitelik değeri, ham assertion ya da ID token saklanmaz ve döndürülmez. Saklanan testi olmayan,\nkurumsal olmayan ya da bu ortamda olmayan bağlantı `404`'tür. Uç `connections:write` izni ister.\nOkuma audit'e yazılmaz.",
        "operationId": "getConnectionLatestTestResult",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionTestResult"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/connections/{connection_id}/test-results/latest",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}:activate": {
      "post": {
        "description": "Bağlantıyı etkinleştirir (`status` = `active`). Gövde isteğe bağlıdır ve alan içermez (`{}`). İşlem eşgüçlüdür: bağlantı zaten bu durumdaysa\nyazma yapılmaz, sürüm artmaz ve mevcut kaynak 200 ile döner. `If-Match` almaz; başka bir yazarla yarışta bağlantı yeniden\nokunarak birkaç kez denenir (süren çakışma `412`). Kurumsal (`enterprise`) bağlantıda etkinleştirme, güncel protokol\nyapılandırmasının ve kalacak `allowed_email_domains`'in son 24 saatte başarılı bir test girişi olmasını ister; yoksa `409 connection_test_required` döner ve hiçbir şey yazılmaz. Denetim yapılamıyorsa (federation\nerişilemez) etkinleştirme yapılmaz, `503 service_unavailable` döner. Diğer bağlantı türlerinde bu denetim yoktur.",
        "operationId": "activateConnection",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionStateChangeRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Connection"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/connections/{connection_id}:activate",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}:change-rp-id": {
      "post": {
        "description": "Passkey bağlantısının rpId'sini yeni değere geçirir ve göç penceresini başlatır.\nPasskey'i olan bir ortamda rpId'nin tek değişme yoludur (`PATCH` ile değişiklik `409 rp_id_change_requires_migration`).\n`If-Match` zorunludur ve bağlantının ETag'idir (yoksa `428`, eşleşmezse `412`). `new_rp_id` ortamın `active` özel\nalanının host adıdır (küçük harf A-label) ya da boş dizgedir (her giriş host'u kendi rpId'si); `confirm_rp_id` aynı\ndeğerin tekrar yazımıdır; `migration_window_days` 30–365, verilmezse 90. Pencere boyunca önceki rpId'deki passkey'lerle\ngiriş sürer ve yeni kayıtlar yeni rpId'dedir; pencere bitince ya da `:complete-rp-id-migration` ile erken kapatılınca\nönceki rpId'deki passkey'ler `rp_id_changed` nedeniyle iptal edilir. Bağlantının rpId'si, göç kaydı, yönetim audit'i\nve `passkey_rp_id.migration_started` olayı tek işlemde yazılır. Eksik, 253 bayttan uzun ya da aralık dışı alan,\nortamın active özel alanı olmayan ya da mevcut değerle aynı `new_rp_id`, eşleşmeyen `confirm_rp_id` ve passkey türünde\nolmayan bağlantı `422 validation_failed` (`errors[].pointer`: `/new_rp_id`, `/confirm_rp_id`,\n`/migration_window_days`, `/connection_id`); ortamda süren başka göç `409 rp_id_migration_in_progress`. Yanıt göç\nkaydıdır; `ETag` bağlantının yeni sürümüdür.",
        "operationId": "changeConnectionRpId",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionRpIdChangeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionRpIdMigration"
                }
              }
            },
            "description": "Başlatılan göç.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/connections/{connection_id}:change-rp-id",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}:complete-rp-id-migration": {
      "post": {
        "description": "Bağlantının süren rpId göçünü pencere bitmeden kapatır: durum `completed_early`\nolur (bitiş anı geçmişse `completed`), önceki rpId'deki kalan passkey'ler `rp_id_changed` nedeniyle iptal edilir, önceki\nrpId'nin kökeni izinli kümeden çıkar ve `passkey_rp_id.migration_completed` olayı yayımlanır. Gövde boş ya da `{}`'dir.\nSüren göç yoksa (ikinci çağrı dahil) `409 no_active_rp_id_migration`; passkey sayımı alınamazsa `503\nservice_unavailable` (`Retry-After`) ve göç açık kalır. Bu ortamda olmayan bağlantı `404 not_found`'dur. Yanıt\nkapanmış göç kaydıdır.",
        "operationId": "completeConnectionRpIdMigration",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionRpIdMigration"
                }
              }
            },
            "description": "Kapanmış göç.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/connections/{connection_id}:complete-rp-id-migration",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}:deactivate": {
      "post": {
        "description": "Bağlantıyı devre dışı bırakır (`status` = `inactive`). Gövde isteğe bağlıdır ve alan içermez (`{}`). İşlem eşgüçlüdür: bağlantı zaten bu durumdaysa\nyazma yapılmaz, sürüm artmaz ve mevcut kaynak 200 ile döner. `If-Match` almaz; başka bir yazarla yarışta bağlantı yeniden\nokunarak birkaç kez denenir (süren çakışma `412`). Protokol yapılandırmasının tamlığı bu işlemde denetlenmez.",
        "operationId": "deactivateConnection",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionStateChangeRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Connection"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/connections/{connection_id}:deactivate",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}:import-metadata": {
      "post": {
        "description": "Yüklenen SAML 2.0 IdP metadata belgesini kurumsal SAML bağlantısına uygular. Belge güvenli\nayrıştırıcı sınırlarıyla işlenir; birden çok `EntityDescriptor` içeren belgede `entity_id`\nzorunludur, tek varlıkta verilirse eşleşmelidir. IdP tarafı (entityID, HTTP-Redirect SSO URL'si, SLO URL'si) belgedekiyle\ndeğişir; belgedeki süresi dolmamış imza sertifikalarından kayıtlı olmayanlar eklenir (`source = manual`), mevcutlar etkin\nkalır (silmek için `DELETE …/certificates/{certificate_id}`). Bağlantı yüklenen belgeye geçer: varsa metadata URL'si ve imza\nsabitlemesi temizlenir. Değişiklik son başarılı test girişini geçersiz kılar (etkinleştirme yeni test ister, KG-03).\n`mfa_authn_context_values` verilirse (boş liste dahil) IdP MFA beyanı sayılan AuthnContext değerleri yazılır;\nverilmezse değişmez. Metadata URL'si yolu bu uçta yoktur. Geçersiz belge `422 validation_failed`\n(`/metadata_xml`; ayrıştırıcının nedeni ve belgenin içeriği yanıtta ve logda yer almaz), 3 etkin sertifika sınırı aşılırsa\n`409 conflict` ve hiçbir şey değişmez; SAML olmayan bağlantı ya da SAML yapılandırması henüz oluşturulmamış bağlantı\n`409 conflict`. SAML malzemesinin sürümü olmadığından `If-Match` almaz. Yazma yönetim audit'ine\n`connection.idp_metadata_imported` (+ her yeni sertifika için `connection.idp_certificate_added`) olarak geçer. Etkin\nbağlantıda belge IdP entityID'sini ya da SSO URL'sini değiştiriyor ya da bir imza sabitlemesini kaldırıyorsa içe aktarım\nuygulanmaz, bütünüyle taslak revizyon olur: yanıt `200`, canlı IdP tarafını ve `revision`'ı taşır,\n`added_certificate_fingerprints` boştur; taslak `:test` gövdesinde `revision_id` ile denenip `…:publish` ile yayımlanır.",
        "operationId": "importConnectionMetadata",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionMetadataImportRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionMetadataImportResult"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/connections/{connection_id}:import-metadata",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}:migrate-sp-host": {
      "post": {
        "description": "Bağlantının SP uçlarını (`sp_host`) yeni bir host'a taşımayı başlatır: bağlantının\ndurumundan bağımsız olarak `kind = sp_host` türünde bir taslak revizyon oluşur, canlı uçlar değişmez. Taslakken yeni\nhost'ta yalnız SP metadata'sı (`GET …/sp-metadata?revision_id=` ve kamu metadata adresi) ve taslağın test girişi yanıt\nverir; IdP yöneticisi yeni metadata'yı IdP'ye yükler, taslak `:test` gövdesinde `revision_id` ile denenir ve\n`…/revisions/{revision_id}:publish` ile yayımlanır. Yayından sonra eski host'un uçları 30 gün daha çalışır, sonra `404`.\nBağlantının önceki taslağı varsa düşer (`superseded`). `sp_host` ortamın etkin host'u olmalıdır (küçük harf, port yok);\nbiçimsizse, ortamda değilse ya da zaten bağlantının host'uysa `422 validation_failed` (`/sp_host`; kod `invalid_value`,\n`not_in_environment`, `unchanged`). Önceki taşımanın 30 günlük penceresi sürerken ya da protokol yapılandırması yokken\n`409 conflict`. Kurumsal olmayan ya da bu ortamda olmayan bağlantı `404`'tür. Yazma yönetim audit'ine\n`connection.revision_created` olarak geçer.",
        "operationId": "migrateConnectionSpHost",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionSpHostMigrationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionRevision"
                }
              }
            },
            "description": "Oluşturulan `sp_host` taslak revizyonu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/connections/{connection_id}:migrate-sp-host",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}:restore": {
      "post": {
        "description": "Silinmiş bağlantıyı geri yükler. Silinen bağlantı 30 gün geri yüklenebilir; bu sürede listede görünmez,\nokunamaz (`404`) ve girişte kullanılamaz, sonra kalıcı silinir. Geri yüklenen bağlantı `status` = `inactive` olarak ve\nsilmeden önceki ayarlarıyla döner; kendiliğinden etkinleşmez (`:activate` ayrı adımdır, kurumsal bağlantıda test kapısı\nve plan kotası orada denetlenir). Uygulama bağlantı listeleri ve bağlantının rol eşlemeleri silmede düşer ve geri\ngelmez. Gövde isteğe bağlıdır ve alan içermez (`{}`). İşlem eşgüçlüdür: bağlantı zaten canlıysa yazma yapılmaz ve mevcut\nkaynak 200 ile döner. Bilinmeyen, başka ortamın ya da 30 günü geçmiş bağlantı `404`; aynı `key`, `name`, tek passkey\nya da tek sosyal sağlayıcı kuralıyla çakışma ve sahip organizasyonun silinmiş olması `409 conflict`; ortam başına\nbağlantı tavanı `403 quota_exceeded`.",
        "operationId": "restoreConnection",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionStateChangeRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Connection"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/connections/{connection_id}:restore",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/connections/{connection_id}:test": {
      "post": {
        "description": "Bağlantının güncel yapılandırmasıyla bir test girişi başlatır. Yanıttaki `test_url` (`https://<sp host>/sso/<conn_…>/start?t=…`) 10 dakika ve tek kullanım için geçerli bir\ntaşıyıcı bağlantıdır: yapılandırmayı yapan kişi tarayıcıda açar, IdP gidiş-dönüşünden sonra tarayıcı `return_url`'ye\n`test_id` sorgu parametresiyle döner. URL yalnız bu yanıtta bir kez döner (`Cache-Control: no-store`), loglanmaz ve\naudit'e yazılmaz; `Idempotency-Key` ile tekrar oynatılan yanıtta `test_url` yoktur ve `secret_redacted: true` döner. Test\ngirişi oturum açmaz, JIT yapmaz, hesap bağlamaz; sonuç `GET …/test-results/latest` ile 24 saat okunur. `return_url`\nmutlak `https` URL'dir (en çok 2048 bayt; değilse `422 validation_failed`, `/return_url`). Henüz test edilemeyen bağlantı\n(protokol yapılandırması yok ya da kullanılamaz) `409 conflict`. Başlatma yönetim audit'ine `connection.test_started`\n(yalnız test kimliği) olarak geçer. `revision_id` (`connrev_…`) verilirse bağlantının taslak revizyonu canlı\nyapılandırmanın üstüne serilerek denenir (SP host taşımasında yeni host'ta); bu test yalnız o revizyonun yayım kanıtıdır,\ncanlı yapılandırmanın etkinleştirme kanıtı sayılmaz. Biçimsiz ya da bu bağlantının taslağı olmayan\n`revision_id` `422 validation_failed` (`/revision_id`; kod `invalid_value` ya da `not_found`).",
        "operationId": "testConnection",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_connection_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionTestRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionTestStarted"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/connections/{connection_id}:test",
        "tags": [
          "connections"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "connections:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/consent-purposes": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: GA sonrası (plan: GA'da user_metadata ile geçici)",
        "operationId": "listConsentPurposes",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CursorList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/consent-purposes",
        "tags": [
          "consent-purposes"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "consent-purposes:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: plan PATCH'i koleksiyon yolunda yazıyor",
        "operationId": "updateConsentPurposes",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/consent-purposes",
        "tags": [
          "consent-purposes"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "consent-purposes:write"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: bkz. listConsentPurposes",
        "operationId": "createConsentPurpose",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/consent-purposes",
        "tags": [
          "consent-purposes"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "consent-purposes:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/custom-domains": {
      "get": {
        "description": "Ortamın özel giriş alan adlarını imleçli listeler. Sıralama her zaman oluşturma sırasıyla\neskiden yeniyedir ve yalnız ileri sayfalama (`after`) vardır; `before` ve `asc` dışı `order` `422` döner.\nVarsayılan olarak bırakılmış (`released`) kayıtlar dönmez: `include_released=true` ile katılır; `status` verilirse\nyalnız o durumdaki kayıtlar döner (`status=released` dahil). Ortam başına en çok 1 (Enterprise'da 20) kayıt olur.",
        "operationId": "listCustomDomains",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/CustomDomainStatus"
          },
          {
            "$ref": "#/components/parameters/CustomDomainIncludeReleased"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomDomainList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/custom-domains",
        "tags": [
          "custom-domains"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "List the environment's custom login domains with their status, DNS records to publish and certificate expiry (cursor pagination; filters: status, include_released). Read-only.",
          "destructive": false,
          "read_only": true,
          "tool": "custom_domains_list"
        },
        "x-idp-permissions": [
          "custom-domains:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Ortama bir özel giriş alan adı ekler. Ad IDNA2008 ile A-etiketine çevrilir; genel sonek, tek etiketli ad,\nIP adresi, platform alanları (`keenauth.com`, `keenauth.app` ve altları) `422` (kod `invalid_value`) verir. Ad\nplatform genelinde tekildir: başka bir ortamda kayıtlıysa ya da bırakıldıktan sonraki 30 günlük karantinadaysa\n`409 custom_domain_taken`. Ortam başına kota planınkidir (`custom_domains_per_environment`; dolu kota ve\n`development` ortamı `403 quota_exceeded`); hesap başına günlük ekleme deneme sınırı `429 rate_limited`.\n`Idempotency-Key` zorunludur: aynı anahtar ve aynı ad aynı kaydı döndürür, aynı anahtar farklı adla `422\nidempotency_key_reuse` verir. Kayıt `pending_dns` durumunda doğar; yanıttaki `dns_records` müşterinin DNS'ine\neklenecek TXT (sahiplik) ve CNAME (yönlendirme) kayıtlarıdır. Kontrol düzlemi kayıt defterine ya da ortamın\nhesap bilgisine erişilemezse `503`.",
        "operationId": "createCustomDomain",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKeyRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomDomainCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomDomain"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/custom-domains",
        "tags": [
          "custom-domains"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "custom-domains:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/custom-domains/{custom_domain_id}": {
      "delete": {
        "description": "Özel alanı kaldırır: kayıt `released` olur, giriş o alanda durur ve ad platformda 30 gün karantinada kalır (başka\nbir ortam ekleyemez). Birincil alan ya da ortamın issuer'ı olan alan kaldırılamaz (`409 custom_domain_in_use`;\nönce başka bir alanı birincil yapın). Passkey bağlantısının rpId'si olan ya da süren rpId göçünün önceki rpId'si\nolan alan da kaldırılamaz. `If-Match` zorunludur (yoksa `428`, eşleşmezse `412`). Zaten bırakılmış\nkayıtta yalnız kayıt defterinden bırakma yinelenir. Kontrol düzlemine ya da ortamın issuer bilgisine\nerişilemezse `503`.",
        "operationId": "deleteCustomDomain",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_custom_domain_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/custom-domains/{custom_domain_id}",
        "tags": [
          "custom-domains"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "custom-domains:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Bir özel alan kaydını döndürür. Kayıt CAA yüzünden engelliyse (`failure_reason = caa_blocked`) `caa` alanı canlı\nCAA ön denetiminin sonucunu ve DNS'e eklenecek tam CAA satırlarını taşır; diğer durumlarda ve denetim yapılamazsa `caa` alanı yoktur.\nBiçimsiz ya da başka ortamın kimliği `404 not_found` döner. `ETag` başlığı silme ve birincil yapma için\n`If-Match` değeridir.",
        "operationId": "getCustomDomain",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_custom_domain_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomDomain"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/custom-domains/{custom_domain_id}",
        "tags": [
          "custom-domains"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "Get one custom login domain by id (cdom_...): status, failure reason, DNS records to publish, certificate expiry and, when CAA blocks issuance, the CAA records to add. Read-only.",
          "destructive": false,
          "read_only": true,
          "tool": "custom_domains_get"
        },
        "x-idp-permissions": [
          "custom-domains:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/custom-domains/{custom_domain_id}:make-primary": {
      "post": {
        "description": "Alanı ortamın birincil özel alanı yapar (barındırılan giriş bağlantıları bu alanı kullanır); önceki birincil aynı\nişlemde bırakılır. Alan `active` olmalıdır (aksi `409 custom_domain_state_conflict`); zaten birincilse değişiklik\nyoktur. Ortamın issuer'ı özel alandaysa birincil değişikliği issuer'ı değiştirir ve zamanlanmış issuer geçişi\nister. `If-Match` isteğe bağlıdır; verilirse eşleşmezse `412`.\nGövde yoktur. Ortamın issuer bilgisine erişilemezse `503`.",
        "operationId": "makeCustomDomainPrimary",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_custom_domain_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomDomain"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/custom-domains/{custom_domain_id}:make-primary",
        "tags": [
          "custom-domains"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "custom-domains:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/custom-domains/{custom_domain_id}:verify": {
      "post": {
        "description": "DNS denetimini (TXT sahiplik kaydı, CNAME, CAA; DNSSEC doğrulayan çözücüyle) hemen çalıştırır ve sonucu kaydın\ndurumuna uygular; güncel kaydı döndürür. `disabled` ya da deneme penceresi dolmuş `pending_dns` kayıt önce\nyeniden başlatılır. `released` kayıtta `409 custom_domain_state_conflict`; denetim eşzamanlı bir denetimle\nçakışırsa `409 conflict` (yeniden deneyin). Gövde yoktur. Hücrenin DNS çözücüsü bu\ndağıtımda yapılandırılmamışsa `503` (sonuçsuz denetim başarı gibi görünmesin diye).",
        "operationId": "verifyCustomDomain",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_custom_domain_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomDomain"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/custom-domains/{custom_domain_id}:verify",
        "tags": [
          "custom-domains"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "custom-domains:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/directories": {
      "get": {
        "description": "Ortamın SCIM dizinlerini yeniden eskiye (`created_at`, sonra kimlik) imleçli listeler; yalnız ileri sayfalama vardır\n(`before` ve `order` `422 unsupported`). Süzgeçler: `organization_id`, `type`, `state`; imleç süzgeçlere bağlıdır.\nYanıt kişisel veri, token ya da token özeti taşımaz; açık toplu pasifleştirme bekletmesi yalnız tek dizin\nokumasındadır.",
        "operationId": "listDirectories",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/DirectoryOrganizationFilter"
          },
          {
            "$ref": "#/components/parameters/DirectoryTypeFilter"
          },
          {
            "$ref": "#/components/parameters/DirectoryStateFilter"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/directories",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Org için etkin olmayan (`inactive`) bir SCIM dizini ve ilk token'ını oluşturur. Dizinin SCIM\ntaban URL'si `https://<scim_host>/scim/v2/<dizin kimliği (dir_…)>`'dir; `scim_host` ortamın birincil host'u olmalıdır (etkin özel alan\nadı, yoksa `<slug>.<bölge>.keenauth.app`) ve bu ortama yönlenmelidir (aksi `422`, `/scim_host`). Org bu ortamda yoksa\n`404`; silme kuyruğundaysa `409 organization_pending_deletion`, başka biçimde etkin değilse `409 organization_disabled`.\nSCIM token'ı (`token`) YALNIZ bu yanıtta, bir kez döner ve sonradan hiçbir uçtan okunamaz (yanıt `Cache-Control:\nno-store` taşır). `Idempotency-Key` ile tekrar oynatılan yanıt (`Idempotent-Replayed: true`) token içermez ve\n`secret_redacted: true` döner; token kaybedildiyse yenisi `POST …/tokens` ile oluşturulur. Yazma\n`directory.created` ve `directory.token_created` audit'idir.",
        "operationId": "createDirectory",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DirectoryCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryCreated"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/directories",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/directories/{directory_id}": {
      "delete": {
        "description": "Dizini sert ve anında siler: token'ları (dizinin SCIM istekleri bundan sonra `401`),\nbekletmeleri, grupları, grup üyelikleri ve dizin kullanıcı kayıtları aynı işlemde silinir; yanıt gövdesizdir. Dizin\nyoksa, başka ortamdaysa ya da zaten silinmişse `404`. Yazma `directory.deleted` audit'idir.",
        "operationId": "deleteDirectory",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/directories/{directory_id}",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Tek SCIM dizinini açık toplu pasifleştirme bekletmesiyle döner. Dizin yoksa ya da başka\nortamdaysa `404`. Token'ların üst verisi `GET …/tokens`'tadır. `ETag` başlığı `PATCH` için `If-Match` değeridir.",
        "operationId": "getDirectory",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryDetail"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/directories/{directory_id}",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "Dizin ayarlarını RFC 7396 birleştirme yamasıyla günceller (`application/merge-patch+json`). `If-Match` zorunludur (yoksa\n`428`, eşleşmezse `412`); güncel sürüm `GET /v1/directories/{directory_id}` yanıtının `ETag` başlığındadır. Değişebilen\nalanlar: `name`, `provisioning_mode`, `attribute_allowlist`, `unverified_domain_action`, `delete_action`,\n`on_delete_memberships`, `mass_deprovision_guard`, `send_welcome_email`; hiçbiri `null` olamaz. Geçersiz değer `422`\nve alanın işaretçisidir. `provisioning_mode` dizinde silinmemiş kullanıcı kaydı varken değişmez (`409 conflict`).\n`attribute_allowlist`'ten çıkarılan öznitelik dizinin kullanıcı kayıtlarından aynı işlemde silinir. Değişiklik içermeyen\nyama yazma yapmaz ve sürümü artırmaz. Yazma `directory.updated` audit kaydıdır (değişen ayarın eski ve yeni değeri).",
        "operationId": "updateDirectory",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/DirectoryUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Directory"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/directories/{directory_id}",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/directories/{directory_id}/deprovision-holds": {
      "get": {
        "description": "Dizinin toplu pasifleştirme bekletmelerini (açık ve karara bağlanmış) yeniden eskiye imleçli listeler: yalnız sayı, durum ve karar; bekletilen kullanıcı listesi yoktur. Yalnız ileri sayfalama vardır;\nimleç dizine bağlıdır. Dizin yoksa ya da başka ortamdaysa `404`.",
        "operationId": "listDirectoryDeprovisionHolds",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryDeprovisionHoldRecordList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/directories/{directory_id}/deprovision-holds",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/directories/{directory_id}/deprovision-holds/{hold_id}:approve": {
      "post": {
        "description": "Dizinin toplu pasifleştirme bekletmesini onaylar: bekletilen pasifleştirmeler\nuygulanır. Gövde yoktur. Bekletme kimliği `GET /v1/directories/{directory_id}` yanıtındaki `open_deprovision_hold.id`\ndeğeridir. Bekletme ya da dizin yoksa veya başka ortamdaysa `404`; karar verilmiş bekletme ve 72 saati geçmiş\nbekletme (zaman aşımıyla onaylanır, bu karar uygulanmaz) `409 conflict`. Yazma `directory.deprovision_hold_approved`\naudit'idir.",
        "operationId": "approveDirectoryDeprovisionHold",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/path_hold_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryDeprovisionHoldDecision"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/directories/{directory_id}/deprovision-holds/{hold_id}:approve",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/directories/{directory_id}/deprovision-holds/{hold_id}:reject": {
      "post": {
        "description": "Dizinin toplu pasifleştirme bekletmesini reddeder: bekletilen pasifleştirmeler\natılır ve kayıtlar sapmış (drifted) işaretlenir. Gövde yoktur. Bekletme ya da dizin yoksa veya başka ortamdaysa `404`;\nkarar verilmiş bekletme ve 72 saati geçmiş bekletme `409 conflict`. Yazma `directory.deprovision_hold_rejected`\naudit'idir.",
        "operationId": "rejectDirectoryDeprovisionHold",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/path_hold_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryDeprovisionHoldDecision"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/directories/{directory_id}/deprovision-holds/{hold_id}:reject",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/directories/{directory_id}/groups": {
      "get": {
        "description": "Dizinin IdP'nin sağladığı gruplarını kimlik sırasıyla imleçli listeler: kimlik, dış kimlik, görünen\nad ve üye sayısı; üye ve kişisel veri yoktur. Yalnız ileri sayfalama vardır; imleç dizine bağlıdır. Dizin yoksa ya da\nbaşka ortamdaysa `404`.",
        "operationId": "listDirectoryGroups",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryGroupList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/directories/{directory_id}/groups",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/directories/{directory_id}/groups/{directory_group_id}": {
      "get": {
        "description": "Dizinin tek grubunu döner: kimlik, dış kimlik, görünen ad ve üye sayısı; üye ve kişisel veri\nyoktur. Grup yoksa, başka dizinin grubuysa ya da dizin başka ortamdaysa `404`.",
        "operationId": "getDirectoryGroup",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/path_directory_group_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryGroup"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/directories/{directory_id}/groups/{directory_group_id}",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/directories/{directory_id}/provisioning-logs": {
      "get": {
        "description": "Dizinin provizyon günlüğünü yeniden eskiye imleçli listeler; sıralama\nher zaman `occurred_at` azalandır, `order` parametresi yoktur. Her kayıt bir kimliği doğrulanmış SCIM isteğidir:\nyöntem, yol şablonu (gerçek kimlik yolda değil), kaynak türü ve kimliği, işlem özeti (değer değil), yok sayılan\nöznitelik adları, durum, `scim_type`, süre, istemci adres öneki (/24 ya da /48), istemci sınıfı ve devre kesici\nbayrağı. İstek ve yanıt gövdeleri, öznitelik değerleri, tam IP, User-Agent ve token değeri saklanmaz ve dönmez.\nSaklama penceresi ortamın planından sunucuda uygulanır (Free 7, Startup 14, Business 30, Enterprise 90 gün);\npencere dışı `from` `400 range_outside_retention` döner. Dizin yoksa ya da başka ortamdaysa `404`; silinmiş dizinin\nkayıtları `GET /v1/logs?type=scim.request` ile okunur. Toplam sayı döndürülmez.",
        "operationId": "listDirectoryProvisioningLogs",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/LogFrom"
          },
          {
            "$ref": "#/components/parameters/LogTo"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryProvisioningLogList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/directories/{directory_id}/provisioning-logs",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/directories/{directory_id}/role-mappings": {
      "get": {
        "description": "SCIM dizininin grup → rol eşlemelerini kimlik sırasıyla (eskiden yeniye) imleçli listeler; yalnız ileri sayfalama\nvardır. İmleç dizine bağlıdır. Dizin yoksa ya da başka ortamdaysa `404`; dizin kaydı doğrulanamazsa `503`.",
        "operationId": "listDirectoryRoleMappings",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryRoleMappingList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/directories/{directory_id}/role-mappings",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Dizinin bir grubunu (`directory_group_id`, `dsg_…`) bir role (`rol_…`) eşler; grubun üyeleri dizinin org'unda rolü\nalır. Grup bu dizinin grubu olmalıdır (yoksa `422 validation_failed`, `/directory_group_id` `unknown_group`). Rol\nortam rolü ya da dizinin org'unun rolü olmalıdır. Ayrıcalıklı role eşleme ek olarak `roles:write` ister ve onaylı oluşur. Aynı grup dizinde zaten eşlenmişse `409 conflict`; dizin\nsiliniyorsa `409 conflict`; dizin başına 500 eşleme (`409 role_mapping_limit_reached`); dizin kaydı doğrulanamazsa\n`503`. Yazma `role_mapping.created` audit'idir.",
        "operationId": "createDirectoryRoleMapping",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DirectoryRoleMappingCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryRoleMapping"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/directories/{directory_id}/role-mappings",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/directories/{directory_id}/role-mappings/{mapping_id}": {
      "delete": {
        "description": "Eşlemeyi siler; yanıt gövdesizdir. Eşleme yoksa ya da başka dizin veya ortamdaysa `404`. Dizin silinmiş olsa da\neşlemesi silinebilir. Eşlemeyle verilmiş roller yeniden hesaplanır. Silme `role_mapping.deleted` audit'idir.",
        "operationId": "deleteDirectoryRoleMapping",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/path_mapping_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/directories/{directory_id}/role-mappings/{mapping_id}",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/directories/{directory_id}/tokens": {
      "get": {
        "description": "Dizinin token'larının üst verisini yeniden eskiye imleçli listeler (iptal edilmiş ve süresi dolmuş token'lar dahil);\ntoken değeri ve özeti hiç dönmez. Yalnız ileri sayfalama vardır; imleç dizine bağlıdır. Dizin yoksa ya da başka\nortamdaysa `404`.",
        "operationId": "listDirectoryTokens",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryTokenList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/directories/{directory_id}/tokens",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:write"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Rotasyon için dizine yeni bir SCIM token'ı üretir. Dizin başına en çok 2 geçerli token olur; üçüncüsü `409\nconflict` (önce eskisi iptal edilir). Token (`token`) YALNIZ bu yanıtta, bir kez döner ve sonradan hiçbir uçtan\nokunamaz (yanıt `Cache-Control: no-store` taşır); `Idempotency-Key` ile tekrar oynatılan yanıt token içermez ve\n`secret_redacted: true` döner. Boş nesne (`{}`) varsayılanları kullanır. Dizin yoksa ya da başka ortamdaysa\n`404`. Yazma `directory.token_created` audit'idir.",
        "operationId": "createDirectoryToken",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DirectoryTokenCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryTokenCreated"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/directories/{directory_id}/tokens",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/directories/{directory_id}/tokens/{token_id}": {
      "delete": {
        "description": "Token'ı hemen iptal eder (neden `manual`); yanıt gövdesizdir ve zaten iptal edilmiş token da `204`'tür. Token\nkimliği küçük harf UUID metnidir. Token ya da dizin yoksa, token başka dizinin ya da başka ortamınsa `404`. Yazma\n`directory.token_revoked` audit'idir.",
        "operationId": "deleteDirectoryToken",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/path_token_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/directories/{directory_id}/tokens/{token_id}",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/directories/{directory_id}/users": {
      "get": {
        "description": "Dizinin IdP'nin sağladığı canlı kullanıcı kayıtlarını kimlik sırasıyla imleçli listeler: normalize öznitelikler, gruplar, ortam kullanıcısı bağı ve sapma bayrağı. Silinmiş kayıt\ndönmez. `state` ve `group_id` süzgeçleri birlikte kullanılabilir; imleç dizine ve süzgeçlere bağlıdır, yalnız ileri\nsayfalama vardır. Kimlik bilgisi `users:read_pii` iznini taşımıyorsa kişisel veri maskelenir: `user_name` ilk\nkarakter ve `***`, `emails[].value` `a***@e***.com` biçiminde, `given_name`, `family_name` ve `display_name` baş harfler\nolur; `attributes` hiç verilmez (`null`). Dizin yoksa ya da başka ortamdaysa `404`.",
        "operationId": "listDirectoryUsers",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/DirectoryUserStateFilter"
          },
          {
            "$ref": "#/components/parameters/DirectoryUserGroupFilter"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryUserList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/directories/{directory_id}/users",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/directories/{directory_id}/users/{directory_user_id}": {
      "get": {
        "description": "Dizinin tek kullanıcı kaydını döner. Kayıt silinmişse, yoksa, başka dizinin ya da başka\nortamın kaydıysa `404`. Kimlik bilgisi `users:read_pii` iznini taşımıyorsa kişisel veri `GET\n/v1/directories/{directory_id}/users` işlemindeki biçimle maskelenir ve `attributes` `null` döner.",
        "operationId": "getDirectoryUser",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/path_directory_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryUser"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/directories/{directory_id}/users/{directory_user_id}",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/directories/{directory_id}:activate": {
      "post": {
        "description": "Dizini etkinleştirir (`state` = `active`); pasifleştirilmiş dizin SCIM isteklerini yeniden kabul eder. Gövde isteğe\nbağlıdır ve alan içermez (`{}`). İşlem eşgüçlüdür: dizin zaten etkinse yazma yapılmaz, sürüm artmaz ve mevcut dizin 200\nile döner. `If-Match` almaz. Org'un zaten 3 etkin dizini varsa `409 conflict`. Yazma `directory.activated` audit kaydıdır.",
        "operationId": "activateDirectory",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DirectoryStateChangeRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Directory"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/directories/{directory_id}:activate",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/directories/{directory_id}:deactivate": {
      "post": {
        "description": "Dizini pasifleştirir (`state` = `inactive`). Token'lar geçerli kalır ama dizin her SCIM isteğine geçersiz token ile aynı\n`401` yanıtını verir; hiç kullanılmamış dizin de ilk isteğiyle etkinleşmez. `:activate` ile geri alınır. Gövde isteğe\nbağlıdır ve alan içermez (`{}`). İşlem eşgüçlüdür: dizin zaten pasifleştirilmişse yazma yapılmaz, sürüm artmaz ve mevcut\ndizin 200 ile döner. `If-Match` almaz. Yazma `directory.deactivated` audit kaydıdır.",
        "operationId": "deactivateDirectory",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DirectoryStateChangeRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Directory"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/directories/{directory_id}:deactivate",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/directories/{directory_id}:simulate": {
      "post": {
        "description": "SCIM simülatörü: dizinin gerçek SCIM ucunu, yalnız bu çalıştırma için basılan ve\nbitince iptal edilen gerçek bir `idp_scim_` token'ıyla çağırır; scim servisinin üretim kod yolu çalışır. Kullanıcılar sabit kurgusal kümedir (25 kişi,\n`@example.test`, 5 grup); gerçek kişisel veri yoktur. Senaryolar: `seed` (25 kullanıcı + 5 grup; dolu dizinde ilk\nkullanıcıda SCIM `409` ile `failed`), `bulk_deactivate` (kullanıcıların %60'ı `active=false`; varsayılan korumada\n`absolute_min` 25 olduğundan 15 pasifleştirme kesiciyi açmaz, `absolute_min` ≤ 15 iken açar), `group_churn`,\n`attribute_update`, `conflict_email` (aynı `userName` ile `409` bekler). Boş dizinde `seed` dışındaki senaryolar\nönce `seed` çalıştırır. Yan etkilidir: yazılan kullanıcı ve gruplar dizinde kalır. Yalnız `development` ve `staging`\nortamında; üretimde `403 test_feature_not_in_production` (ortam türü kimlik bilgisinden okunur). Dizin başına aynı\nanda tek çalıştırma (ikincisi `409 conflict`); pasifleştirilmiş ya da silinmekte olan dizin `409 conflict`. SCIM\nhata yanıtı istek hatası değildir: `status` `failed` ve `failure` dolar, sayılar o ana kadar yapılanlardır. Simülasyon\ntoken'ı listelenmez, 2 token sınırına sayılmaz, müşterinin token'ını döndürmez (rotasyon başlatmaz). Audit:\n`directory.simulation_started` ve `directory.simulation_finished`.",
        "operationId": "simulateDirectory",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_directory_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DirectorySimulationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectorySimulation"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/directories/{directory_id}:simulate",
        "tags": [
          "directories"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "directories:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/email-provider": {
      "get": {
        "description": "Ortamın e-posta gönderim yapılandırmasını döndürür: kip, gönderen, müşterinin SMTP sunucusu ya da sağlayıcısı ve son\nbağlantı testi. Kimlik bilgisi hiçbir yanıtta yoktur (maskesi ya da uzunluğu da); yalnız `credentials_set` saklı bir sır\nolup olmadığını söyler. Satırı olmayan ortam `platform_default`, sürüm `0`'dır. `ETag` yapılandırmanın sürümüdür.",
        "operationId": "getEmailProvider",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailProvider"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/email-provider",
        "tags": [
          "email-provider"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "email-provider:read"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "Yapılandırmayı değiştirir. Yazılabilen kipler `platform_default`, `platform_managed_domain` (doğrulanmış gönderici\nalanından platform sunucularıyla, DKIM imzalı), `customer_smtp` (465 ya da 587, TLS zorunlu), `customer_api`\n(`ses`, `sendgrid`, `postmark`, `mailgun`, `brevo`) ve `customer_webhook`'tur (çizilmiş e-posta, kayıtlı web kancası\nucuna Standard Webhooks v1 imzalı `email.send_requested` olayıyla verilir; e-postayı siz gönderirsiniz). `If-Match` zorunludur ve okunan sürümü taşır: satırı olmayan\nortamda `\"0\"` (orada `*` eşleşmez); eşleşmezse `412`. Kimlik bilgisi (`credentials`) bir kez yazılır ve hiçbir yanıtta\ndönmez; verilmezse saklı sır yalnız aynı kip ve hedefte (SMTP ana makinesi, port, kullanıcı adı ya da sağlayıcı)\nkorunur, hedef değişirse `422 validation_failed` ve `/credentials required`. `platform_managed_domain` yalnız üretim\nortamında yazılır (aksi `/mode production_only`), `sender_domain_id` ister (`/sender_domain_id required|invalid`); alan\nbu ortamda yoksa `/sender_domain_id not_found` (başka ortamın alanı da aynı yanıtı alır), doğrulanmamışsa\n`/sender_domain_id not_verified`, `from_address` tam o alanda değilse `/from_address not_in_sender_domain`.\n`customer_webhook` `webhook_endpoint_id` ister (`whe_…`, `/v1/webhook-endpoints`; `/webhook_endpoint_id\nrequired|invalid`); uç bu ortamda yoksa `/webhook_endpoint_id not_found` (başka ortamın ucu da aynı yanıtı alır), uç\netkin değilse `/webhook_endpoint_id not_enabled`; kimlik bilgisi, sağlayıcı ve SMTP alanı almaz. Müşteri kipleri\ngönderim yolu (çıkış vekili), `customer_webhook` hooks teslim bağlantısı, `platform_managed_domain` DKIM imzası\nyapılandırılmamış dağıtımda kabul edilmez: `422` ve `/mode delivery_mode_unavailable`. Kipin almadığı alan (ör. başka\nkipte `sender_domain_id`) `/mode fields_not_allowed`. Alan sonradan doğrulanmış durumdan çıkarsa gönderim alan yeniden\ndoğrulanana dek `platform_default` ile sürer; yapılandırma değişmez. Değişiklik son test sonucunu siler ve yönetim audit\nkaydı (`email_provider.updated`; yalnız kip, sağlayıcı ve `sender_domain_id`, adres ve sır asla) aynı işlemde yazılır.\nPlan kapısı yoktur.",
        "operationId": "putEmailProvider",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailProviderInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailProvider"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/email-provider",
        "tags": [
          "email-provider"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "email-provider:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/email-provider:test": {
      "post": {
        "description": "Saklı müşteri bağlantısını ileti göndermeden dener: `customer_smtp` çıkış vekili üzerinden bağlanır, TLS kurar, kimlik\ndoğrular ve `QUIT` ile çıkar; `customer_api` sağlayıcının belgelenmiş salt okunur ucunu anahtarla çağırır. Sonuç\nbaşarısız olsa da `200` döner: `result` `ok` ya da sabit hata kodudur (ör. `smtp_auth_failed`, `smtp_tls_invalid`,\n`esp_auth_failed`, `esp_access_denied`, `egress_dns_failed`, `delivery_credentials_invalid`); sunucu metni dönmez.\nSonuç `last_test_at` ve `last_test_result` alanlarına yazılır, `ETag` değişmez; test sırasında yapılandırma değişirse\n`409 conflict`. Platform kiplerinde test edilecek bağlantı yoktur: `409 conflict` (`platform_managed_domain`'in\nalanı `POST /v1/email-sender-domains/{sender_domain_id}:verify` ile denetlenir). Ortam başına saatte 10 test\n(`429 rate_limited`, `Retry-After`). Gövde isteğe bağlıdır, verilirse boş nesnedir. Her test yönetim audit kaydı\n(`email_provider.tested`) yazar.",
        "operationId": "testEmailProvider",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailProviderTestInput"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailProviderTestResult"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/email-provider:test",
        "tags": [
          "email-provider"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "email-provider:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/email-sender-domains": {
      "get": {
        "description": "Ortamın doğrulanmış gönderici alanlarını oluşturma sırasıyla (eskiden yeniye) döndürür. Ortam başına\nen çok 10 alan olduğu için liste sayfalanmaz; imleç alanları her zaman null'dır. Her öğe müşterinin DNS'e gireceği kayıtları\n(`records`) taşır. Gönderici alanı yalnız `production` ortamındadır; diğer ortamlarda liste boştur. Plan kapısı yoktur.",
        "operationId": "listEmailSenderDomains",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailSenderDomainList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/email-sender-domains",
        "tags": [
          "email-sender-domains"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "email-sender-domains:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Ortama bir gönderici alanı ekler. Ad IDNA 2008 ile A-etiketine çevrilir (sondaki nokta atılır); IP adresi, tek etiketli ad,\ngenel sonek (ör. `co.uk`), platform alanları (`keenauth.com`, `keenauth.app` ve altları) ve DKIM kayıt adını 253 okteti\naşacak kadar uzun ad `422 validation_failed` (`/domain invalid`) verir; `production` dışı ortam `/domain production_only`.\nAd ortamda zaten kayıtlıysa `409 conflict`; ortamda 10 alan varsa `409 domain_limit_reached`. Alan `pending_dns` doğar;\nyanıttaki `records` müşterinin DNS'ine girilecek iki DKIM CNAME'i (`akp1`, `akp2`; rotasyon müşteri DNS'ine dokunmadan\nyapılır) ve dönüş yolu CNAME'idir. `Idempotency-Key` verilirse aynı istek aynı yanıtı oynatır. Ekleme yönetim audit kaydıyla\n(`email_sender_domain.created`) aynı işlemde yazılır.",
        "operationId": "createEmailSenderDomain",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailSenderDomainCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailSenderDomain"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/email-sender-domains",
        "tags": [
          "email-sender-domains"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "email-sender-domains:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/email-sender-domains/{sender_domain_id}": {
      "delete": {
        "description": "Gönderici alanını siler. Gönderim yapılandırması (`platform_managed_domain` kipi) alanı kullanıyorsa `409 conflict`: önce\n`PUT /v1/email-provider` ile başka bir kipe geçin. `If-Match` zorunludur (yoksa `428`, eşleşmezse `412`; `*` var olan her\nsürümle eşleşir). Silme yönetim audit kaydıyla (`email_sender_domain.deleted`) aynı işlemde yazılır.",
        "operationId": "deleteEmailSenderDomain",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_sender_domain_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/email-sender-domains/{sender_domain_id}",
        "tags": [
          "email-sender-domains"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "email-sender-domains:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Bir gönderici alanını döndürür: durum, son denetimin sonuçları ve DNS kayıtları. Son denetimde `_dmarc` kaydı bulunmadıysa\n`records` zorunlu olmayan bir DMARC önerisi (`v=DMARC1; p=none`) de taşır. Biçimsiz ya da başka ortamın kimliği\n`404 not_found` döner. `ETag` alanın sürümüdür (her denetimde de artar) ve silmede `If-Match` değeridir.",
        "operationId": "getEmailSenderDomain",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_sender_domain_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailSenderDomain"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/email-sender-domains/{sender_domain_id}",
        "tags": [
          "email-sender-domains"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "email-sender-domains:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/email-sender-domains/{sender_domain_id}:verify": {
      "post": {
        "description": "DNS denetimini (iki DKIM CNAME'i, dönüş yolu CNAME'i ve DMARC hizası) hemen çalıştırır, sonucu günlük denetimle aynı durum\nkurallarıyla uygular ve güncel alanı döndürür: gerekli kayıtların hepsi doğruysa `pending_dns` ya da `degraded` alan\n`verified` olur; `verified` alanda başarısız denetim 72 saat sürerse alan `degraded` olur. Kayıt kodları `ok`, `missing`,\n`wrong_target`, `lookup_failed`; DMARC `aligned`, `not_aligned`, `no_record`, `invalid_record`, `lookup_failed` (DMARC\nzorunlu değildir). Platform tarafından devre dışı bırakılmış alan `409 conflict`. Ortam başına saatte 20 denetim\n(`429 rate_limited`, `Retry-After`). Gövde yoktur. Her denetim yönetim audit kaydı (`email_sender_domain.checked`) yazar.",
        "operationId": "verifyEmailSenderDomain",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_sender_domain_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailSenderDomain"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/email-sender-domains/{sender_domain_id}:verify",
        "tags": [
          "email-sender-domains"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "email-sender-domains:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/email-templates": {
      "get": {
        "description": "Özelleştirilebilir 26 e-posta ailesini plan sırasıyla döndürür: ailenin güvenlik ailesi olup olmadığı, iletinin göstermesi\ngereken platform değeri (`requires`), şablonda kullanılabilen Liquid değişkenleri ve sürümü olan diller. Liste sayfalanmaz\n(sabit ve sınırlı). Okuma her plandadır.",
        "operationId": "listEmailTemplates",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailTemplateFamilyList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/email-templates",
        "tags": [
          "email-templates"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "email-templates:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/email-templates/{family}/{locale}": {
      "get": {
        "description": "Yuvanın en yeni sürümünü (varsayılan), yayındaki sürümünü (`?version=published`) ya da verilen sürümü (`?version=N`) döndürür.\n`ETag` yuvanın en yeni sürümüdür (`PUT` için `If-Match`). Bilinmeyen aile ya da dil, sürümü olmayan yuva ya da yayını\nolmayan yuvada `published` `404` döner.",
        "operationId": "getEmailTemplate",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_family"
          },
          {
            "$ref": "#/components/parameters/path_locale"
          },
          {
            "description": "`published` ya da 1 ve üstü sürüm numarası; yoksa en yeni sürüm.",
            "in": "query",
            "name": "version",
            "required": false,
            "schema": {
              "pattern": "^(published|[1-9][0-9]{0,8})$",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailTemplate"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/email-templates/{family}/{locale}",
        "tags": [
          "email-templates"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "email-templates:read"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "İçeriği yeni bir taslak sürüm olarak yazar; yayındaki sürüm değişmez. `If-Match` zorunludur ve okunan en yeni sürümü\ntaşır: sürümü olmayan yuvada `\"0\"` (orada `*` eşleşmez); eşleşmezse `412`. Yazmadan önce içerik gönderim yolunun\ndenetiminden geçer: Liquid sandbox'ı ve örnek verilerle çizim, dengeli HTML, ailenin kodu ya da bağlantısı hem HTML'de\nhem düz metinde, boyutlar. Hata `422 validation_failed` (ya da `template_forbidden_construct`) ve alan başına `errors[]`\nolur. Startup ve üstü planda; değilse `403 plan_feature_unavailable`. Yuvada en çok 50 sürüm saklanır (yayındaki hariç).",
        "operationId": "putEmailTemplate",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_family"
          },
          {
            "$ref": "#/components/parameters/path_locale"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailTemplateInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailTemplate"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/email-templates/{family}/{locale}",
        "tags": [
          "email-templates"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "email-templates:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/email-templates/{family}/{locale}/versions": {
      "get": {
        "description": "Yuvanın sürümlerini yeniden eskiye, içeriksiz döndürür (en çok 51: son 50 ve yayındaki). Liste sayfalanmaz. `ETag` yuvanın\nen yeni sürümüdür; sürümü olmayan yuvada liste boştur.",
        "operationId": "listEmailTemplateVersions",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_family"
          },
          {
            "$ref": "#/components/parameters/path_locale"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailTemplateVersionList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/email-templates/{family}/{locale}/versions",
        "tags": [
          "email-templates"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "email-templates:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/email-templates/{family}/{locale}:preview": {
      "post": {
        "description": "Kayıtlı bir sürümü (`{\"version\": N}`) ya da kaydedilmemiş içeriği örnek verilerle çizer ve platform çerçevesiyle (zorunlu\ngüvenlik bloğu, platform işareti) döndürür; hiçbir şey yazmaz ve göndermez. Örnek kod ve bağlantı her çağrıda rastgeledir.\nDoğrulama `PUT` ile aynıdır. Startup ve üstü planda.",
        "operationId": "previewEmailTemplate",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_family"
          },
          {
            "$ref": "#/components/parameters/path_locale"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailTemplatePreviewInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailTemplatePreview"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/email-templates/{family}/{locale}:preview",
        "tags": [
          "email-templates"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "email-templates:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/email-templates/{family}/{locale}:publish": {
      "post": {
        "description": "Taslağı yeniden doğrular ve yayınlar; önceki yayın arşivlenir ve yönetim audit kaydı (`email_template.published`) aynı\nişlemde yazılır. Yayındaki sürümü yeniden yayınlamak değişiklik yapmaz. Yayındakinden eski taslak ya da arşivlenmiş sürüm\n`409 conflict` (arşivlenmiş sürüme `:rollback` ile dönülür). Startup ve üstü planda.",
        "operationId": "publishEmailTemplate",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_family"
          },
          {
            "$ref": "#/components/parameters/path_locale"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailTemplateVersionInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailTemplate"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/email-templates/{family}/{locale}:publish",
        "tags": [
          "email-templates"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "email-templates:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/email-templates/{family}/{locale}:rollback": {
      "post": {
        "description": "Önceden yayınlanmış (arşivlenmiş) bir sürümün içeriğini yeniden doğrular ve yeni sürüm olarak yayınlar (`source_version`\no sürümdür); geçmiş yeniden yazılmaz. Audit kaydı (`email_template.rolled_back`) aynı işlemdedir. Hiç yayınlanmamış ya da\nyayındaki sürüm `409 conflict`. Startup ve üstü planda.",
        "operationId": "rollbackEmailTemplate",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_family"
          },
          {
            "$ref": "#/components/parameters/path_locale"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailTemplateVersionInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailTemplate"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/email-templates/{family}/{locale}:rollback",
        "tags": [
          "email-templates"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "email-templates:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/email-templates/{family}/{locale}:test-send": {
      "post": {
        "description": "Yuvanın bir sürümünü önizlemenin örnek verileriyle çizer ve tek bir alıcıya normal teslimat yoluyla gönderir; konu\n`[TEST] ` ile işaretlenir. Alıcı, hesabın `active` pano üyelerinden birinin doğrulanmış adresi olmalıdır (değilse\n`422 test_recipient_not_allowed`; adres yanıtta ve logda yer almaz); bu doğrulanamıyorsa gönderim yapılmaz\n(`503 test_recipient_source_unavailable`). Ortam başına UTC gününde en çok 20 deneme gönderimi; 21.si `429 rate_limited`\nve bir sonraki UTC gününe kadar `Retry-After`. Bastırma listesi atlanmaz: bastırılan alıcı için ileti `suppressed`\ndurumunda yazılır ve sayılır. `version` verilmezse en yeni sürüm, `published: true` ile yayındaki sürüm gönderilir.\nOrtamın gönderim modu ya da durumu özel şablon göndermiyorsa `409 email_template_not_deliverable`. Yönetim audit kaydı\n(`email_template.test_sent`, hedef aile/dil/sürüm) aynı işlemde yazılır. Aynı `Idempotency-Key` ile tekrar ilk iletiyi\ndöndürür ve sayılmaz. Startup ve üstü planda.",
        "operationId": "testSendEmailTemplate",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_family"
          },
          {
            "$ref": "#/components/parameters/path_locale"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailTemplateTestSendInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailTemplateTestSend"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/email-templates/{family}/{locale}:test-send",
        "tags": [
          "email-templates"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "email-templates:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/environment": {
      "get": {
        "description": "Çağıranın kendi ortamını salt okunur döndürür: kimlik, tür, bölge, hücre, durum ve plan. Ortam yalnız\nkimlik bilgisinden çözülür; başka ortamı okumanın yolu yoktur. Kimlik, tür ve hücre doğrulanmış ortam kapsamından,\ndurum ve plan her istekte hücre ortam kayıt defterinden okunur (önbellek yok). Plan kapısı yoktur (her planda);\nyanıt `ETag` taşımaz (yazma yok). Görünen ad, oluşturulma anı ve varsayılan host bu sürümde yoktur; özel alan\nadları `/v1/custom-domains`'tedir.",
        "operationId": "getCurrentEnvironment",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Environment"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/environment",
        "tags": [
          "environment"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "environment-settings:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/environment-settings": {
      "get": {
        "description": "Ortamın dil, saat dilimi, oturum, kayıt, güvenlik bildirimi, hesap kurtarma, MFA, Front-Channel Logout ve izin\nverilen birinci faktör ayarlarını döndürür (ortam başına tekil kaynak; saldırı koruması `/v1/attack-protection`'dadır). Ayar hiç yazılmadıysa tablo\nvarsayılanları ve `ETag: \"0\"` döner; `updated_at` null'dır. Yanıt `ETag` başlığı taşır (`PATCH` için `If-Match`).\nSüreler tam saniye tamsayısıdır.",
        "operationId": "getEnvironmentSettings",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnvironmentSettings"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/environment-settings",
        "tags": [
          "environment-settings"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "Get the environment settings: locales, default time zone, session, signup, security notifications, account recovery, MFA, front-channel logout and allowed first factors. Only documented fields are returned.",
          "destructive": false,
          "read_only": true,
          "tool": "environment_settings_get"
        },
        "x-idp-permissions": [
          "environment-settings:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "Ortam ayarlarını RFC 7396 birleştirme yamasıyla günceller (`application/merge-patch+json`; gruplar iç içe\nbirleştirilir). `If-Match` zorunludur (yoksa `428`, eşleşmezse `412`); ayar hiç yazılmadıysa sürüm `\"0\"`'dır ve\nilk yazma satırı açar. `signup.email_domains` ve `security_notifications.events` için `null` listeyi temizler;\nöbür alanlar ve gruplar `null` olamaz (`422`, kod `invalid`). Geçersiz değer `422 validation_failed` ve alan\nişaretçisiyle döner (kodlar: `required`, `out_of_range`, `unknown_value`, `unsupported_locale`, `default_locale_not_enabled`,\n`invalid_zoneinfo`, `invalid_domain`, `invalid_url`, `too_long`, `too_many`, `duplicate`, `idle_exceeds_absolute`,\n`invalid_value`). Değişiklik içermeyen yama yazma yapmaz ve sürümü artırmaz. Oturum süresini kısaltmak, eşzamanlı\noturum sınırını düşürmek, kayıt ya da hesap kurtarmayı daraltmak, e-posta ikinci faktörünü `mfa`'dan `1fa`'ya\nindirmek ve `allowed_first_factors`'tan bir faktör çıkarmak yeni oturum ve girişlere hemen uygulanır; var olan oturumlar kendi ömrüne kadar sürer. Audit kaydı ve\nolay değişen alan adlarını taşır, değerleri değil. Yeni `allowed_first_factors`, kendi kümesini yazmış bir uygulamayla\nortak yöntem bırakmıyorsa ya da bir org politikasıyla org bağlamında ortak yöntem bırakmıyorsa `422 policy_conflict`\ndöner.",
        "operationId": "updateEnvironmentSettings",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentSettingsPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnvironmentSettings"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/environment-settings",
        "tags": [
          "environment-settings"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "body_fields": [
            "locales",
            "default_zoneinfo"
          ],
          "confirm": true,
          "description": "Change the environment's enabled locales, default locale or default time zone (JSON merge patch; other settings cannot be changed with this tool). The first call changes nothing: it returns a preview of the changes and a confirmation_token. Show the preview to the user and call again with the same arguments plus confirmation_token only after the user approves. The token works once and expires after 5 minutes.",
          "destructive": false,
          "read_only": false,
          "tool": "environment_settings_update"
        },
        "x-idp-permissions": [
          "environment-settings:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/environment:restore": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: izin planda yazılmamış (yalnız hesap owner)",
        "operationId": "restoreEnvironment",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/environment:restore",
        "tags": [
          "environment"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "environments:restore"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/environments/{environment_id}/customer-key/wrapping-key": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: bkz. importCustomerKey",
        "operationId": "getCustomerKeyWrappingKey",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_environment_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/environments/{environment_id}/customer-key/wrapping-key",
        "tags": [
          "environments"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [],
        "x-idp-stability": "beta"
      }
    },
    "/environments/{environment_id}/customer-key:cancel-destroy": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: bkz. importCustomerKey",
        "operationId": "cancelDestroyCustomerKey",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_environment_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/environments/{environment_id}/customer-key:cancel-destroy",
        "tags": [
          "environments"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [],
        "x-idp-stability": "beta"
      }
    },
    "/environments/{environment_id}/customer-key:destroy": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: bkz. importCustomerKey",
        "operationId": "destroyCustomerKey",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_environment_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/environments/{environment_id}/customer-key:destroy",
        "tags": [
          "environments"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [],
        "x-idp-stability": "beta"
      }
    },
    "/environments/{environment_id}/customer-key:import": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: yalnız pano owner + adım yükseltme",
        "operationId": "importCustomerKey",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_environment_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/environments/{environment_id}/customer-key:import",
        "tags": [
          "environments"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [],
        "x-idp-stability": "beta"
      }
    },
    "/environments/{environment_id}/customer-key:resume": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: bkz. importCustomerKey",
        "operationId": "resumeCustomerKey",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_environment_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/environments/{environment_id}/customer-key:resume",
        "tags": [
          "environments"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [],
        "x-idp-stability": "beta"
      }
    },
    "/environments/{environment_id}/customer-key:suspend": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: bkz. importCustomerKey",
        "operationId": "suspendCustomerKey",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_environment_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/environments/{environment_id}/customer-key:suspend",
        "tags": [
          "environments"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [],
        "x-idp-stability": "beta"
      }
    },
    "/event-types": {
      "get": {
        "description": "Müşteri olay kataloğunu döndürür: bir web kancası ucunun abone olabildiği ve `GET /v1/events`'in döndürebildiği her tür, yayımlanmış şema sürümleri (eskiden yeniye; ucun varsayılanı ilkidir) ve yüksek hacim işareti. Yüksek hacimli türler \"tümü\" aboneliğine girmez, adıyla seçilir. Katalog ortamdan bağımsızdır; sıralama anahtarı tür adıdır (varsayılan azalan, `order=asc` artan). Plan kapısı yoktur.",
        "operationId": "listEventTypes",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventTypeList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/event-types",
        "tags": [
          "event-types"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "events:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/events": {
      "get": {
        "description": "Ortamın müşteri olaylarını `seq` sırasıyla, eskiden yeniye döndürür. Olaylar web kancasıyla aynı zarfı ve aynı `id`'yi taşır; saklama 30 gündür. Yanıt `next_cursor` + `has_more` zarfıdır: `next_cursor` her zaman doludur (son konum), yoklayan istemci yeni olay olmasa da bu konumdan sürer; `has_more` doğruysa beklemeden yeniden ister. `after=latest` olay döndürmez, imleci ortamın son olayına koyar. `payload=full` ayrıca `users:read` ister. `purpose=webhooks_listen` üretim ortamında `403 test_feature_not_in_production`'dır.",
        "operationId": "listEvents",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/EventsAfter"
          },
          {
            "$ref": "#/components/parameters/EventsTypes"
          },
          {
            "$ref": "#/components/parameters/EventsOrgId"
          },
          {
            "$ref": "#/components/parameters/EventsLimit"
          },
          {
            "$ref": "#/components/parameters/EventsPayload"
          },
          {
            "$ref": "#/components/parameters/EventsPurpose"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/events",
        "tags": [
          "events"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "events:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/events/{event_id}": {
      "get": {
        "description": "Bir müşteri olayını web kancasıyla aynı zarfla (ince yük) döndürür. Biçimsiz, başka ortamın ya da 30 günlük saklamanın dışındaki olay `404 not_found`'dur.",
        "operationId": "getEvent",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_event_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerEvent"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/events/{event_id}",
        "tags": [
          "events"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "events:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/fga/authorization-model": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "getFgaAuthorizationModel",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/fga/authorization-model",
        "tags": [
          "fga"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "fga:read"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "putFgaAuthorizationModel",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/fga/authorization-model",
        "tags": [
          "fga"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "fga:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/fga/check": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "checkFga",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/fga/check",
        "tags": [
          "fga"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "fga:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/fga/check:batch": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "batchCheckFga",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/fga/check:batch",
        "tags": [
          "fga"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "fga:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/fga/list-objects": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "listFgaObjects",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/fga/list-objects",
        "tags": [
          "fga"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "fga:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/fga/list-users": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "listFgaUsers",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/fga/list-users",
        "tags": [
          "fga"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "fga:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/fga/tuples": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "listFgaTuples",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CursorList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/fga/tuples",
        "tags": [
          "fga"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "fga:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/fga/tuples:write": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "writeFgaTuples",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/fga/tuples:write",
        "tags": [
          "fga"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "fga:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/hooks": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "listHooks",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CursorList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/hooks",
        "tags": [
          "hooks"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "hooks:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "createHook",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/hooks",
        "tags": [
          "hooks"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "hooks:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/hooks/{hook_id}": {
      "delete": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "deleteHook",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_hook_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/hooks/{hook_id}",
        "tags": [
          "hooks"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "hooks:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "getHook",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_hook_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/hooks/{hook_id}",
        "tags": [
          "hooks"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "hooks:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "updateHook",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_hook_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/hooks/{hook_id}",
        "tags": [
          "hooks"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "hooks:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/hooks/{hook_id}/executions": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "listHookExecutions",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_hook_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CursorList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/hooks/{hook_id}/executions",
        "tags": [
          "hooks"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "hooks:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/hooks/{hook_id}/secrets/{name}": {
      "delete": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "deleteHookSecret",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_hook_id"
          },
          {
            "$ref": "#/components/parameters/path_name"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/hooks/{hook_id}/secrets/{name}",
        "tags": [
          "hooks"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "hooks:write"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "putHookSecret",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_hook_id"
          },
          {
            "$ref": "#/components/parameters/path_name"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/hooks/{hook_id}/secrets/{name}",
        "tags": [
          "hooks"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "hooks:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/hooks/{hook_id}/versions": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "createHookVersion",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_hook_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/hooks/{hook_id}/versions",
        "tags": [
          "hooks"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "hooks:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/hooks/{hook_id}/versions/{version}:deploy": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "deployHookVersion",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_hook_id"
          },
          {
            "$ref": "#/components/parameters/path_version"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/hooks/{hook_id}/versions/{version}:deploy",
        "tags": [
          "hooks"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "hooks:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/hooks/{hook_id}:rotate-secret": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "rotateHookSecret",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_hook_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/hooks/{hook_id}:rotate-secret",
        "tags": [
          "hooks"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "hooks:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/hooks/{hook_id}:test": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "testHook",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_hook_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/hooks/{hook_id}:test",
        "tags": [
          "hooks"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "hooks:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/hooks:pause-code-runtime": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "pauseHookCodeRuntime",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/hooks:pause-code-runtime",
        "tags": [
          "hooks"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "hooks:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/hooks:reorder": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "reorderHooks",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/hooks:reorder",
        "tags": [
          "hooks"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "hooks:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/identity-settings": {
      "get": {
        "description": "Ortamın kullanıcı adı ve doğrulama ayarlarını döndürür (ortam başına tekil kaynak). Ayar hiç yazılmadıysa tablo\nvarsayılanları (`username_identifier: off`, 3–64 karakter, boş ayrılmış liste, `verification_policy:\nbefore_sign_in`, `unverified_account_ttl_days: 7`) ve `ETag: \"0\"` döner; `updated_at` null'dır. Yanıt `ETag`\nbaşlığı taşır (`PATCH` için `If-Match`).",
        "operationId": "getIdentitySettings",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentitySettings"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/identity-settings",
        "tags": [
          "identity-settings"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "identity-settings:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "Ortamın kullanıcı adı ve doğrulama ayarlarını RFC 7396 birleştirme yamasıyla günceller (`application/merge-patch+json`).\n`If-Match` zorunludur (yoksa `428`, eşleşmezse `412`); ayar hiç yazılmadıysa sürüm `\"0\"`'dır ve ilk yazma satırı\naçar. `reserved_usernames` için `null` listeyi temizler; öbür alanlar `null` olamaz (`422`, kod `invalid`).\nDeğişiklik içermeyen yama yazma yapmaz ve sürümü artırmaz. Ayar yalnız sonraki yazmalara uygulanır, var olan\nkullanıcılar değişmez: `off` iken kullanıcı adı yazan istekler `422 identifier_type_disabled`, ayrılmış ad\n`422 username_reserved`, uzunluk sınırı dışı `422 invalid` verir; `required` yalnız yönetim API'si ile\nkullanıcı oluşturmada kullanıcı adını zorunlu kılar. Giriş, `off` ortamda kullanıcı adıyla çözülmez.\n`verification_policy` ve `unverified_account_ttl_days` doğrulanmamış hesap temizliğini yönetir: `before_sign_in` ortamında kayıtla oluşturulan, hiçbir e-posta ya da telefonu doğrulanmamış ve hiç\ntoken almamış kullanıcı `unverified_account_ttl_days` (1–30) gün sonra sert silinir (mezar taşı nedeni\n`unverified_expired`, `user.deleted` olayı); `after_sign_in` temizliği durdurur. Kapsam dışı değer\n`422 invalid` (işaretçi `/verification_policy` ya da `/unverified_account_ttl_days`) verir.",
        "operationId": "updateIdentitySettings",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/IdentitySettingsPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentitySettings"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/identity-settings",
        "tags": [
          "identity-settings"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "identity-settings:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/invitations": {
      "get": {
        "description": "Ortamın davetlerini kimlik sırasıyla (eskiden yeniye) imleçli listeler; yalnız ileri sayfalama vardır. Süzgeçler:\n`organization_id`, `email` (tam eşleşme), `status`. İmleç süzgeçlere bağlıdır (e-posta özete ortam anahtarlı HMAC ile\ngirer). Kabul bağlantısı listede yoktur.",
        "operationId": "listInvitations",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/InvitationOrganizationFilter"
          },
          {
            "$ref": "#/components/parameters/InvitationEmailFilter"
          },
          {
            "$ref": "#/components/parameters/InvitationStatusFilter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvitationList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/invitations",
        "tags": [
          "invitations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "invitations:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Org'a (`organization_id`) e-posta adresine bağlı davet oluşturur. `organization_id` verilmezse davet ortam\ndavetidir: yalnız davetle kayıt (`invite_only`) kipinde kayıt bağlantısıdır, üyelik açmaz, rol\ntaşıyamaz (`role_ids` `422 validation_failed` `/role_ids` `invalid_value`); yanıtta `organization_id: null`'dır.\nTeslim (`delivery`, zorunlu): `email` davet e-postasını ortamın davet şablonuyla gönderir (`delivery_status: queued`),\nbağlantı yalnız e-postadadır ve yanıtta `accept_url` yoktur; davet e-postası bağlı değilse (yalnız üretim dışı ortam\nkurulumu) `501 not_implemented` döner ve davet yazılmaz. `link_only` e-posta göndermez; kabul bağlantısı (`accept_url`) YALNIZ bu yanıtta, bir\nkez döner ve sonradan hiçbir uçtan okunamaz.\n`role_ids` boşsa org'un varsayılan üye rolü kabulde atanır; `ttl_days` 1–30; verilmezse ortamın `invitation_ttl_days` değeri (varsayılan 7). Aynı org ve e-posta için aynı\nrollerle bekleyen davet varsa yeni davet açılmaz, mevcut davet yeni bağlantıyla yeniden gönderilir ve yanıt `200`'dür\n(≥ 10 dk aralık, en çok 5 gönderim; aksi `429 invite_rate_limited`); farklı rollerle bekleyen davet `409\ninvitation_already_pending`. E-posta zaten üyeyse `409 membership_already_exists`; org devre dışıysa `409\norganization_disabled`; org ya da `application_id` bu ortamda yoksa `404 not_found`. Süresi geçmiş ama henüz işlenmemiş\nbekleyen davet aynı istekte `expired` olur ve yeni davet yazılır (`invitation.expired` audit'i). Aynı rollerle bekleyen\n`email` daveti kendi teslimiyle yeniden gönderilir: yanıt `200`, `delivery: email` ve `accept_url`'sizdir. Toplu oluşturma `POST /v1/invitations:batch`'tir. Yazma `invitation.created` audit'idir.\nAyrıcalıklı (`is_privileged`) rolle davet `invitations:write`'a ek olarak `roles:write` ister; yoksa `403 insufficient_permissions` (`required_permissions`: iki izin) ve davet yazılmaz.",
        "operationId": "createInvitation",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvitationCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvitationCreated"
                }
              }
            },
            "description": "Bekleyen davet yeniden gönderildi.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvitationCreated"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "501": {
            "$ref": "#/components/responses/E501"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/invitations",
        "tags": [
          "invitations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "invitations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/invitations/{invitation_id}": {
      "get": {
        "description": "Daveti döndürür (`inv_…`); kabul bağlantısı yoktur. Davet yoksa ya da başka ortamdaysa `404`. İptal edilen ya da\nsüresi dolan davette `email` null'dır.",
        "operationId": "getInvitation",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_invitation_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Invitation"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/invitations/{invitation_id}",
        "tags": [
          "invitations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "invitations:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/invitations/{invitation_id}:resend": {
      "post": {
        "description": "Bekleyen daveti yeni belirteçle yeniden gönderir: eski bağlantı geçersizleşir. `link_only` davette yeni `accept_url` YALNIZ\nbu yanıtta döner (`Cache-Control: no-store`; tekrar oynatılan yanıt bağlantısız, `secret_redacted: true`); `email` davette\nyeni bağlantı yalnız e-postayla gider ve yanıtta `accept_url` yoktur. Gövde yoktur.\nGönderimler arası en az 10 dk, en çok 5 gönderim (`429 invite_rate_limited`); `expires_at` uzamaz. Bekleyen olmayan davet\n`409 conflict`; davet e-postası bağlı değilse `email` teslimli davet `501 not_implemented`. Yazma `invitation.resent` audit'idir.",
        "operationId": "resendInvitation",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_invitation_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvitationCreated"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "501": {
            "$ref": "#/components/responses/E501"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/invitations/{invitation_id}:resend",
        "tags": [
          "invitations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "invitations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/invitations/{invitation_id}:revoke": {
      "post": {
        "description": "Bekleyen daveti iptal eder; bağlantı geçersizleşir ve e-posta silinir. Gövde yoktur. Bekleyen olmayan davet `409\nconflict`. Yazma `invitation.revoked` audit'idir.",
        "operationId": "revokeInvitation",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_invitation_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Invitation"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/invitations/{invitation_id}:revoke",
        "tags": [
          "invitations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "invitations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/invitations:batch": {
      "post": {
        "description": "1–100 davet oluşturur. Her öğe `POST /v1/invitations` ile aynı kurallardadır ve ayrı yazılır; bir\nöğenin hatası diğerlerini durdurmaz. Yanıt `200`'dür ve `items` istek sırasındadır: öğe `status` `201` (yeni davet), `200`\n(bekleyen davet yeniden gönderildi) ya da hatanın HTTP durumudur; hatalı öğe `error` taşır (`code`, `status`, alan\nişaretçileri `/items/<i>/…`). `link_only` öğelerin `accept_url`'i YALNIZ bu yanıtta döner (`Cache-Control: no-store`);\n`Idempotency-Key` ile tekrar oynatılan yanıt bağlantı içermez ve `secret_redacted: true` döner. `organization_id`'siz öğe\nortam davetidir. `email` teslimli öğe davet e-postasıyla gider, davet e-postası bağlı değilse `501 not_implemented`\nöğe hatasıdır; bu ortamda olmayan `application_id` `404 not_found` öğe hatasıdır. Boş ya da 100'den uzun `items` `422`'dir. Her yazılan davet `invitation.created`\naudit'idir.\nAyrıcalıklı (`is_privileged`) rollü öğe kimlik bilgisi `roles:write` taşımıyorsa `403 insufficient_permissions` öğe hatasıdır.",
        "operationId": "createInvitationBatch",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvitationBatchCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvitationBatchResult"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/invitations:batch",
        "tags": [
          "invitations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "invitations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/jobs/consent-imports": {
      "post": {
        "description": "Başka sistemden alınmış hukuki metin kabullerini toplu yazar. Eşzamanlıdır: 1–500 kayıt tek işlemde ya hepsiyle yazılır ya hiç yazılmaz. Her kayıt `method = import` taşır ve `occurred_at` kaynak sistemdeki an olarak korunur (zorunlu, gelecekte olamaz). Sürüm, içerik özeti ve dil belgeden alınır. Bir kaydın hatası `422 validation_failed`, işaretçi `/records/<sıra>/<alan>`: bilinmeyen kullanıcı `unknown_user`, uygulama `unknown_application`, belge `unknown_subject`. `Idempotency-Key` zorunludur; aynı anahtarla yeniden deneme aynı yanıtı döner ve ikinci kez yazmaz. Plan kapısı yoktur.",
        "operationId": "createConsentImportJob",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKeyRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConsentImportRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsentImportResult"
                }
              }
            },
            "description": "Kayıtlar yazıldı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/jobs/consent-imports",
        "tags": [
          "jobs"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "consent-records:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/jobs/password-resets": {
      "post": {
        "description": "Toplu zorunlu parola sıfırlama işi oluşturur. Kullanıcılar ya `user_ids` ile (1–100.000 `usr_…`; tekrarlar bir kez sayılır) ya da `hash_algos` ile (parolası bu algoritmalarla saklanan ve işten önce değişmiş kullanıcılar) seçilir; ikisi birlikte verilemez. `connection_id` filtresi henüz desteklenmez ve `422` `not_supported` döner. Kip `on_login`: seçilen parolalar sonraki başarılı girişte zorunlu sıfırlamaya düşer. Kip `lazy_then_bulk_reset`: son tarihe kadar (`deadline_days` 1–365, varsayılan 30) girişte zorunlu sıfırlama; son tarihte hâlâ dönüşmemiş kullanıcıların parola özeti silinir ve sıfırlama e-postası doğrulanmış birincil adrese gönderilir. `deadline_days` yalnız bu kipte verilir. İş yanıttan sonra arka planda işaretlenir; durum ve sayaçlar `GET /v1/jobs/password-resets/{job_id}` ile izlenir. Bu ortamda bulunmayan ya da parolası olmayan kullanıcı `not_found` sayılır. Ortamda tamamlanmamış 20 iş varken yeni iş `409` döner. `Idempotency-Key` zorunludur: aynı kimlik bilgisi, aynı anahtar ve aynı istek aynı işi döndürür (`Idempotent-Replayed: true`); aynı anahtar başka bir istekle `422` `idempotency_key_reuse` döner. Yönetim audit'ine `password_reset_job.created` yazılır ve müşteri olayı `password_reset.scheduled` üretilir. `user-credentials:write` izni gerekir; pano kullanıcısı için adım yükseltme ister.",
        "operationId": "createPasswordResetJob",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKeyRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PasswordResetJobCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PasswordResetJob"
                }
              }
            },
            "description": "İş oluşturuldu (ya da aynı `Idempotency-Key` ile önceki iş döndü); işaretleme arka planda yürür.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/jobs/password-resets",
        "tags": [
          "jobs"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "user-credentials:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/jobs/password-resets/{job_id}": {
      "get": {
        "description": "Toplu zorunlu parola sıfırlama işinin durumunu ve sayaçlarını döndürür. Durum `marking` (işaretleniyor), `waiting` (`lazy_then_bulk_reset` son tarihi bekleniyor), `resetting` (son tarih adımı yürüyor) ya da `completed`'dır. Kişisel veri dönmez. Başka ortamın ya da var olmayan iş `404` döner. `user-credentials:write` izni gerekir.",
        "operationId": "getPasswordResetJob",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_job_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PasswordResetJob"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/jobs/password-resets/{job_id}",
        "tags": [
          "jobs"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "user-credentials:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/jobs/user-deletions": {
      "post": {
        "description": "Bu ortamın kullanıcılarını toplu silen bir iş oluşturur. Kullanıcılar ya `user_ids` (1–10.000 `usr_…`, tekrarlar bir kez sayılır) ya da `organization_id` (org'un etkin ve askıdaki üyeleri, iş oluşturulurken alınır; 10.000'den fazla üye `422`) ile seçilir; ikisi birlikte verilemez. Önce `dry_run: true` ile çağrılır: hiçbir şey yazılmaz ve `200` ile bu ortamda bulunan kullanıcı sayısı (`matched_count`) döner. Gerçek istek `confirm_count` taşır ve bu sayı o anki `matched_count`'a eşit olmalıdır; değilse `409` `confirmation_mismatch` döner ve iş oluşturulmaz. İş oluşturulunca `202` ile iş nesnesi döner; her kullanıcı `DELETE /v1/users/{user_id}` ile aynı silme yolundan geçer (silme kaydının `initiated_via` değeri `bulk_job`): kullanıcı hemen `pending_deletion` olur, kalıcı silme ve bağlı verilerin temizliği aynı takvimle yapılır. Bu ortamda bulunmayan (başka ortamın ya da var olmayan) kullanıcı silinmez, sonucu `not_found` olur. Ortamda aynı anda tek iş koşar; koşan iş varken yeni iş `429` `rate_limited` ve `Retry-After` döner. `Idempotency-Key` zorunludur: aynı anahtar ve aynı istek aynı işi döndürür, aynı anahtar başka bir istekle `422` `idempotency_key_reuse` döner. Hem `users:delete` hem `jobs:write` izni gerekir. Yönetim audit'ine `user_deletion_job.created` ve `user_deletion_job.completed`, her kullanıcı için `user.deletion_scheduled` (meta veride `job_id`) yazılır.",
        "operationId": "createUserDeletionJob",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKeyRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserDeletionJobCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDeletionJobCreateResult"
                }
              }
            },
            "description": "Kuru çalıştırma (`dry_run: true`): yalnız `matched_count`, iş oluşturulmadı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDeletionJobCreateResult"
                }
              }
            },
            "description": "İş oluşturuldu (ya da aynı `Idempotency-Key` ile önceki iş döndü); silme arka planda yürür.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/jobs/user-deletions",
        "tags": [
          "jobs"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:delete",
          "jobs:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/jobs/user-deletions/{job_id}": {
      "get": {
        "description": "Toplu kullanıcı silme işinin durumunu ve sayaçlarını döndürür. Durum `running`, `completed` ya da `completed_with_errors`'tır (en az bir kullanıcı `failed`). Başka ortamın ya da var olmayan iş `404` döner. `users:delete` izni gerekir.",
        "operationId": "getUserDeletionJob",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_job_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDeletionJob"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/jobs/user-deletions/{job_id}",
        "tags": [
          "jobs"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:delete"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/jobs/user-deletions/{job_id}/results": {
      "get": {
        "description": "İşin kullanıcı başına sonuçlarını istek sırasıyla (eskiden yeniye tek yön) döndürür: `succeeded` (silme isteği yazıldı; `deletion_id` `DELETE /v1/users/{user_id}` yanıtındaki kimliktir), `not_found` (kullanıcı bu ortamda yok), `failed` (yeniden denemelere rağmen silinemedi; `error_code` = `internal`) ya da `pending`. Kişisel veri dönmez. Yalnız `after` imleci desteklenir; `before` ve `order` `422` döner. `users:delete` izni gerekir.",
        "operationId": "listUserDeletionJobResults",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_job_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDeletionJobResultList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/jobs/user-deletions/{job_id}/results",
        "tags": [
          "jobs"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:delete"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/jobs/user-exports": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "createUserExportJob",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKeyRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedJob"
                }
              }
            },
            "description": "Kabul edildi; işlem asenkron.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/jobs/user-exports",
        "tags": [
          "jobs"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:export",
          "jobs:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/jobs/user-exports/{job_id}": {
      "get": {
        "description": "Kullanıcı verisi dışa aktarma işinin durumunu döndürür. Durum `queued`, `running`, `completed`, `failed` ya da `expired`'dır; `file` yalnız `completed` ve `expired` işlerde dolar, `failure_reason` yalnız `failed` işte (`too_large`, `user_deleted`, `source_unavailable`, `attempts_exhausted`). Son kullanıcının hesap portalından istediği dışa aktarmalar bu uçta görünmez. Başka ortamın ya da var olmayan iş `404` döner. `users:export` izni gerekir.",
        "operationId": "getUserExportJob",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_job_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserExportJob"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/jobs/user-exports/{job_id}",
        "tags": [
          "jobs"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:export"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/jobs/user-exports/{job_id}/download": {
      "get": {
        "description": "Tamamlanmış kullanıcı dışa aktarma işinin paketine tek kullanımlık indirme bağlantısı verir: `302`, `Location` 15 dakika geçerli, tek kullanımlık belirteç taşıyan `api` indirme adresidir (dosya ortam DEK'iyle şifreli olduğundan nesne deposunun ön imzalı URL'si verilmez). Hedef `/v1` dışındadır ve kimlik bilgisi istemez: belirteç tek kimlik bilgisidir, ilk açılışta harcanır (aktarım yarıda kalsa da) ve `Location` gizli tutulmalıdır. Hedef `200` ile `application/zip` gövdesi (`Content-Disposition: attachment; filename=\"user-export-job_….zip\"`, `Referrer-Policy: no-referrer`, `Cache-Control: no-store`) döner; belirteç geçersiz, kullanılmış ya da süresi dolmuşsa `404 not_found`, `HEAD` `405`. Her bağlantı verilmeden önce yönetim audit'ine `user_export.downloaded` kaydı yazılır. `include_ip` ile oluşturulmuş işin dosyası `audit-events:read_ip` izni de ister (yoksa `403 insufficient_permissions`). İş tamamlanmamışsa ya da dosyanın süresi dolmuşsa `409 conflict`, iş yoksa `404 not_found` döner.",
        "operationId": "downloadUserExportJob",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_job_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "302": {
            "description": "İmzalı, kısa ömürlü indirme bağlantısına yönlendirme.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "Location": {
                "$ref": "#/components/headers/Location"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/jobs/user-exports/{job_id}/download",
        "tags": [
          "jobs"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:export"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/jobs/user-imports": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "createUserImportJob",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKeyRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedJob"
                }
              }
            },
            "description": "Kabul edildi; işlem asenkron.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/jobs/user-imports",
        "tags": [
          "jobs"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:import"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/jobs/user-imports/{job_id}": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: izin satırda yazılmamış",
        "operationId": "getUserImportJob",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_job_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/jobs/user-imports/{job_id}",
        "tags": [
          "jobs"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:import"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/jobs/user-imports/{job_id}/errors": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: izin satırda yazılmamış",
        "operationId": "listUserImportJobErrors",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_job_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CursorList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/jobs/user-imports/{job_id}/errors",
        "tags": [
          "jobs"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:import"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/jobs/user-imports/{job_id}/file": {
      "put": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: izin satırda yazılmamış",
        "operationId": "uploadUserImportJobFile",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_job_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/jobs/user-imports/{job_id}/file",
        "tags": [
          "jobs"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:import"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/jobs/user-imports/{job_id}:cancel": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: izin satırda yazılmamış",
        "operationId": "cancelUserImportJob",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_job_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/jobs/user-imports/{job_id}:cancel",
        "tags": [
          "jobs"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:import"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/jobs/user-imports/{job_id}:start": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: izin satırda yazılmamış",
        "operationId": "startUserImportJob",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_job_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/jobs/user-imports/{job_id}:start",
        "tags": [
          "jobs"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:import"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/legal-documents": {
      "get": {
        "description": "Ortamın yayımlanmış hukuki belgelerini imleçli listeler; sıralama her zaman yeniden eskiye (yayın sırası), yalnız\nileri sayfalama (`after`) vardır. Süzgeçler `kind` ve `application_id`'dir (`application_id` verilince yalnız o\nuygulamaya özel belgeler döner; verilmezse ortam geneli ve uygulamaya özel hepsi).",
        "operationId": "listLegalDocuments",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/LegalDocumentKind"
          },
          {
            "$ref": "#/components/parameters/LegalDocumentApplicationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalDocumentList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/legal-documents",
        "tags": [
          "legal-documents"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "legal-documents:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Müşterinin son kullanıcılarına sunduğu bir hukuki belge sürümünü yayımlar. Platform `url`'yi çıkış\nvekiliyle bir kez çeker ve gövdenin SHA-256 özetini `content_sha256` olarak saklar: yalnız HTTPS, özel ve platform\nadresleri engelli, en çok 5 MiB, 10 sn; 200 dışı yanıt ya da boş gövde çekilemedi sayılır ve `422\nlegal_document_unreachable` döner (belge yazılmaz). Çekme altyapısı bu dağıtımda yapılandırılmamışsa `503`.\n`url`, `version`, `locale` ve özet yayından sonra değişmez; aynı (`application_id`, `kind`, `version`, `locale`)\nikinci kez `409 conflict` verir. `effective_at` verilmezse yayın anıdır; geçmişte olamaz. `locale` ortamın dil\nkaydında olmalıdır; ortamda olmayan `application_id` `422` (kod `unknown_application`) verir.",
        "operationId": "createLegalDocument",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegalDocumentCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalDocument"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/legal-documents",
        "tags": [
          "legal-documents"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "legal-documents:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/legal-documents/{legal_document_id}": {
      "get": {
        "description": "Bir hukuki belge sürümünü döndürür. Biçimsiz ya da başka ortamın kimliği `404 not_found` döner.",
        "operationId": "getLegalDocument",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_legal_document_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalDocument"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/legal-documents/{legal_document_id}",
        "tags": [
          "legal-documents"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "legal-documents:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "Belgenin yalnız `requires_reacceptance` ve henüz yürürlüğe girmemiş `effective_at` alanlarını RFC 7396\nbirleştirme yamasıyla değiştirir. Yürürlükteki belgenin `effective_at`'ı değişmez (`422`,\nkod `immutable`); yeni `effective_at` geçmişte olamaz. Öbür alanlar şemada yoktur (`400 unknown_field`); alanlar\n`null` olamaz. Değişiklik içermeyen yama yazma yapmaz ve belgeyi olduğu gibi döner. Belge sürümü (ETag) yoktur.",
        "operationId": "updateLegalDocument",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_legal_document_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/LegalDocumentPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalDocument"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/legal-documents/{legal_document_id}",
        "tags": [
          "legal-documents"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "legal-documents:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/log-streams": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "listLogStreams",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CursorList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/log-streams",
        "tags": [
          "log-streams"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "log-streams:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "createLogStream",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/log-streams",
        "tags": [
          "log-streams"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "log-streams:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/log-streams/{log_stream_id}": {
      "delete": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "deleteLogStream",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_log_stream_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/log-streams/{log_stream_id}",
        "tags": [
          "log-streams"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "log-streams:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "getLogStream",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_log_stream_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/log-streams/{log_stream_id}",
        "tags": [
          "log-streams"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "log-streams:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "updateLogStream",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_log_stream_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/log-streams/{log_stream_id}",
        "tags": [
          "log-streams"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "log-streams:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/log-streams/{log_stream_id}/deliveries": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "listLogStreamDeliveries",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_log_stream_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CursorList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/log-streams/{log_stream_id}/deliveries",
        "tags": [
          "log-streams"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "log-streams:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/log-streams/{log_stream_id}:pause": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "pauseLogStream",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_log_stream_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/log-streams/{log_stream_id}:pause",
        "tags": [
          "log-streams"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "log-streams:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/log-streams/{log_stream_id}:replay": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "replayLogStream",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_log_stream_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/log-streams/{log_stream_id}:replay",
        "tags": [
          "log-streams"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "log-streams:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/log-streams/{log_stream_id}:resume": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "resumeLogStream",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_log_stream_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/log-streams/{log_stream_id}:resume",
        "tags": [
          "log-streams"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "log-streams:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/log-streams/{log_stream_id}:rotate-secret": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "rotateLogStreamSecret",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_log_stream_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/log-streams/{log_stream_id}:rotate-secret",
        "tags": [
          "log-streams"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "log-streams:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/log-streams/{log_stream_id}:test": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "testLogStream",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_log_stream_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/log-streams/{log_stream_id}:test",
        "tags": [
          "log-streams"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "log-streams:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/log-streams/{log_stream_id}:verify": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "verifyLogStream",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_log_stream_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/log-streams/{log_stream_id}:verify",
        "tags": [
          "log-streams"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "log-streams:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/logs": {
      "get": {
        "description": "Ortam loglarını (kimlik doğrulama, oturum, token, MFA, saldırı koruması… kayıtları) süzgeçle imleçli listeler; sıralama her zaman `occurred_at` azalandır (yeniden eskiye), `order` parametresi yoktur. Saklama penceresi ortamın planından sunucuda uygulanır; pencere dışı `from` `400 range_outside_retention` döner. `type` önek eşleşmesidir ve en çok 20 kez verilir. Sorgulama kehaneti olmaması için `ip` süzgeci `audit-events:read_ip`, `q` süzgeci `users:read_pii` izni ister; izin yoksa istek `403 insufficient_permissions` ile reddedilir. Toplam sayı döndürülmez. Görünürlük: `ip`, `ip_asn`, `user_agent` ve `user_agent_family` yalnız kimlik bilgisi `audit-events:read_ip` iznini taşıyorsa, `identifier_hint` yalnız `users:read_pii` iznini taşıyorsa yanıtta bulunur; izin yoksa alan hiç yazılmaz (maskeli değer dönmez). `ip_country` her zaman döner.",
        "operationId": "listLogs",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/LogFrom"
          },
          {
            "$ref": "#/components/parameters/LogTo"
          },
          {
            "$ref": "#/components/parameters/LogType"
          },
          {
            "$ref": "#/components/parameters/LogOutcome"
          },
          {
            "$ref": "#/components/parameters/LogUserId"
          },
          {
            "$ref": "#/components/parameters/LogOrgId"
          },
          {
            "$ref": "#/components/parameters/LogApplicationId"
          },
          {
            "$ref": "#/components/parameters/LogConnectionId"
          },
          {
            "$ref": "#/components/parameters/LogDirectoryId"
          },
          {
            "$ref": "#/components/parameters/LogSessionId"
          },
          {
            "$ref": "#/components/parameters/LogRequestId"
          },
          {
            "$ref": "#/components/parameters/LogCorrelationId"
          },
          {
            "$ref": "#/components/parameters/LogIp"
          },
          {
            "$ref": "#/components/parameters/LogIpCountry"
          },
          {
            "$ref": "#/components/parameters/LogQuery"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LogList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/logs",
        "tags": [
          "logs"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "logs:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/logs/{log_id}": {
      "get": {
        "description": "Tek ortam logu kaydını `details` dahil döner. Kayıt yoksa, başka ortamınsa ya da saklama penceresi dışındaysa `404 not_found` döner. Görünürlük: `ip`, `ip_asn`, `user_agent` ve `user_agent_family` yalnız kimlik bilgisi `audit-events:read_ip` iznini taşıyorsa, `identifier_hint` yalnız `users:read_pii` iznini taşıyorsa yanıtta bulunur; izin yoksa alan hiç yazılmaz (maskeli değer dönmez). `ip_country` her zaman döner.",
        "operationId": "getLog",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_log_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Log"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/logs/{log_id}",
        "tags": [
          "logs"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "logs:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/management-clients": {
      "get": {
        "description": "Ortamdaki yönetim M2M istemci kayıtlarını imleçli olarak listeler; sıra `application_id`'dir (varsayılan azalan, `order=asc` ile artan). Kayıt bir `management` uygulamasının yönetim API'sindeki izin tavanı ve IP izin listesidir; imza anahtarları bu kaynakta yoktur. Yalnız API anahtarıyla çağrılır.",
        "operationId": "listManagementClients",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagementClientList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/management-clients",
        "tags": [
          "management-clients"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "management-clients:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Bir `management` türündeki uygulamaya (`app_…`) yönetim istemcisi kaydı ekler. `permissions` bilinen `<kaynak>:<eylem>` izinleridir (boş olamaz, en çok 200; bilinmeyen izin 422). `allowed_cidrs` (en çok 20) geçerli CIDR'dir; verilmezse çağıran anahtarın listesi kullanılır. Uygulama bu ortamda yoksa (başka ortamınki dahil) 404, türü `management` değilse 422 (`/application_id`), kaydı zaten varsa 409 `conflict`. Kısıtlı anahtar kendi izinlerini ve ağlarını aşan kayıt yazamaz (403 `permission_escalation`). `jwks_uri` ve `public_keys` bu kaynakta yoktur (400 `unknown_field`): imza anahtarları uygulamanın kimlik bilgisi uçlarındadır. Yanıt `ETag` taşır; her yazma yönetim audit kaydına hedefle (`management_client`) girer, içerik girmez.",
        "operationId": "createManagementClient",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ManagementClientCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagementClient"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/management-clients",
        "tags": [
          "management-clients"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "management-clients:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/management-clients/{application_id}": {
      "delete": {
        "description": "Kaydı siler; uygulama silinmez. `If-Match` zorunludur: yoksa `428`, sürüm eşleşmezse `412`. Kayıt yoksa ya da başka ortamdaysa 404. Kısıtlı anahtar kendisinden geniş bir kaydı silemez (403 `permission_escalation`).",
        "operationId": "deleteManagementClient",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/management-clients/{application_id}",
        "tags": [
          "management-clients"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "management-clients:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Bir uygulamanın yönetim istemcisi kaydını döner; yanıt `ETag` taşır. Kayıt yoksa ya da başka ortamdaysa 404.",
        "operationId": "getManagementClient",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagementClient"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/management-clients/{application_id}",
        "tags": [
          "management-clients"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "management-clients:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "Kaydı birleştirme yamasıyla (RFC 7396) günceller. `If-Match` zorunludur: yoksa `428`, sürüm eşleşmezse `412`. Yazılabilir alanlar `permissions` ve `allowed_cidrs`'tir; başka alan `400 unknown_field`. `permissions` null olamaz (422); `allowed_cidrs` null ya da `[]` çağıranın listesini alır. Hiçbir alanı değiştirmeyen yama kaydı, sürümü ve audit kaydını değiştirmez. Kısıtlı anahtar kendisinden geniş bir kaydı değiştiremez (403 `permission_escalation`).",
        "operationId": "updateManagementClient",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ManagementClientUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagementClient"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/management-clients/{application_id}",
        "tags": [
          "management-clients"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "management-clients:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/org-custom-role-permissions": {
      "get": {
        "description": "Ortamın org özel rollerine açtığı izin listesini döndürür. Liste boşken org rolü oluşturulamaz. Okuma plan\nhakkına bağlı değildir.",
        "operationId": "getOrgCustomRolePermissions",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgCustomRolePermissions"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/org-custom-role-permissions",
        "tags": [
          "org-custom-role-permissions"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "roles:read"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "Ortamın org özel rol izin listesini tam küme olarak değiştirir (en çok 1000; `permission_ids`). Listeye izin eklemek\n`org_custom_roles` plan hakkı ister (Business; yoksa `403 plan_feature_unavailable`); listeyi daraltmak her planda\nserbesttir ve listeden çıkan izinler org rollerinden aynı işlemde düşer. Bilinmeyen izin `422 unknown_permission`,\nyasaklı izin `422 permission_not_allowed`. Değişiklik yönetim audit'ine `org_custom_role_permissions.updated` olarak düşer.",
        "operationId": "putOrgCustomRolePermissions",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrgCustomRolePermissions"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgCustomRolePermissions"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/org-custom-role-permissions",
        "tags": [
          "org-custom-role-permissions"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "roles:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organization-defaults": {
      "get": {
        "description": "Ortamın org varsayılanlarını döndürür: org\nyönetici rolü ve yeni üyenin varsayılan rolü, kullanıcı başına üyelik sınırı, davet geçerlilik süresi, self servis org\nsilmenin bekleme süresi, org silinince üyelere ne olacağı (`on_org_delete_members`), org özel rolleri ve org'un kendini\nsilmesi anahtarları. Yanıt `ETag` başlığı taşır.",
        "operationId": "getOrganizationDefaults",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationDefaults"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/organization-defaults",
        "tags": [
          "organization-defaults"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "Ortamın org varsayılanlarını RFC 7396 birleştirme yamasıyla günceller (`application/merge-patch+json`). `If-Match`\nzorunludur (yoksa `428`, eşleşmezse `412`). Hiçbir alan `null` olamaz (`422`, kod `invalid`). Rol alanları ortamın\nrolü olmalıdır (`422 unknown_role`); yeni org yönetici rolü org yönetiminin sistem izinlerini taşımalıdır (`422\npermission_reserved`) ve hiçbir org etkin yöneticisiz kalmamalıdır (`409 last_org_admin`). Aralıklar:\n`max_memberships_per_user` 1–1000, `invitation_ttl_days` 1–30, `org_self_service_deletion_grace_days` 0–30\n(`422 out_of_range`); `on_org_delete_members` `detach` ya da `delete_exclusive_provisioned`'dır.\n`delete_exclusive_provisioned` org silinince yalnız o org'a JIT ya da SCIM ile gelmiş ve başka org üyeliği olmayan\nkullanıcıları silme kuyruğuna alır. Org özel rol yazmaları anahtar açıkken de `org_custom_roles` plan\nhakkına bağlıdır. Değişiklik içermeyen yama yazma yapmaz ve sürümü artırmaz. Değişiklik yönetim audit'ine\n`organization_defaults.updated` olarak değişen alan adlarıyla düşer, değerler yazılmaz.",
        "operationId": "updateOrganizationDefaults",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationDefaultsPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationDefaults"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/organization-defaults",
        "tags": [
          "organization-defaults"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organization-domains": {
      "get": {
        "description": "Ortamın org alan adlarını eskiden yeniye (kimlik sırası) imleçli listeler; yalnız ileri sayfalama (`after`) vardır\n(`before` ve `asc` dışı `order` `422`). Sayfa 1–100 kayıt, varsayılan 20. `organization_id`, `domain` (Unicode ya da\nA-label, tam eşleşme) ve `status` süzgeçtir.",
        "operationId": "listOrganizationDomains",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/OrganizationDomainOrganizationFilter"
          },
          {
            "$ref": "#/components/parameters/OrganizationDomainDomainFilter"
          },
          {
            "$ref": "#/components/parameters/OrganizationDomainStatusFilter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationDomainList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/organization-domains",
        "tags": [
          "organization-domains"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organization-domains:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Org'a alan adı ekler. `domain` Unicode ya da A-label olabilir; küçük harf A-label'a çevrilir. `dns_txt`\n(varsayılan) kayıt `pending` doğar ve yanıttaki TXT kaydı (`txt_record_name` = `_akp-verify.<alan>`,\n`txt_record_value` = `idp-verify=<token>`) DNS'e eklenince `:verify` ya da zamanlanmış denetimle doğrulanır; 72 saatte\ndoğrulanmayan kayıt `expired` olur. `manual` yöntemi müşterinin sahiplik beyanıdır, kayıt oluşturulduğu anda\n`verified`'dır ve beyan yönetim audit'ine yazılır. Genel sonek (PSL) ya da ücretsiz e-posta sağlayıcısı `422\ndomain_not_claimable`; alan bu org'da zaten varsa `409 conflict`, başka org'da doğrulanmışsa (manual) `409\ndomain_already_verified`; org'da 100 kayıt varsa `409 domain_limit_reached`; devre dışı ya da silinmeyi bekleyen\norg'da `409 organization_disabled` / `organization_pending_deletion`. Yanıt `ETag` taşır; `Idempotency-Key` isteğe\nbağlıdır.",
        "operationId": "createOrganizationDomain",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationDomainCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationDomain"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/organization-domains",
        "tags": [
          "organization-domains"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organization-domains:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organization-domains/{domain_id}": {
      "delete": {
        "description": "Alan kaydını kalıcı siler; capture ve SSO yönlendirmesi kayıtla gider. `If-Match` isteğe bağlıdır; varsa eşleşmeli\n(`412`). Kayıt yoksa `404`. Silme yönetim audit'ine yazılır ve `organization_domain.deleted` olayı yayımlanır.",
        "operationId": "deleteOrganizationDomain",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_domain_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/organization-domains/{domain_id}",
        "tags": [
          "organization-domains"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organization-domains:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Alan kaydını döndürür; yanıt `ETag` taşır. Kayıt yoksa ya da başka ortamdaysa `404`.",
        "operationId": "getOrganizationDomain",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_domain_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationDomain"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/organization-domains/{domain_id}",
        "tags": [
          "organization-domains"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organization-domains:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "Alanın capture ve SSO yönlendirme ayarını birleştirme yamasıyla (RFC 7396) günceller: `capture_mode` (`off`|`suggest`|\n`auto_join`) ve `sso_routing_enabled`; başka alan `400 unknown_field`, null `422`. İkisi de yalnız `verified` kayıtta\naçılır (`409 domain_not_verified`). `If-Match` isteğe bağlıdır; varsa eşleşmeli (`412`). Hiçbir alanı değiştirmeyen\nyama kaydı değiştirmez.",
        "operationId": "updateOrganizationDomain",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_domain_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationDomainUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationDomain"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/organization-domains/{domain_id}",
        "tags": [
          "organization-domains"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organization-domains:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organization-domains/{domain_id}:verify": {
      "post": {
        "description": "Doğrulamayı hemen çalıştırır; gövde yoktur. `pending` ve `unverified` kayıt DNS'te denetlenir (TXT kaydı bulunursa\n`verified`; değilse kayıt durumunu korur ve `last_failure_code` dolar, yanıt yine `200`'dür). `expired` ve `revoked`\nkayıt yeni token'la `pending`'e döner (yeni TXT değeri). `verified` ve `manual` kayıt değişmeden döner. Alan başka\norg'da doğrulanmışsa kayıt doğrulanmaz (`last_failure_code` = `already_verified`). Denetim eşzamanlı bir yazmayla\nçakışırsa `409 conflict` (yeniden deneyin); devre dışı ya da silinmeyi bekleyen org'da `409\norganization_disabled` / `organization_pending_deletion`; hücre DNS çözücüsü yapılandırılmamışsa `503`. Yanıt `ETag` taşır.",
        "operationId": "verifyOrganizationDomain",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_domain_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationDomain"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/organization-domains/{domain_id}:verify",
        "tags": [
          "organization-domains"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organization-domains:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations": {
      "get": {
        "description": "Ortamın org'larını imleçli listeler; sıralama her zaman yeniden eskiye (`created_at`, sonra kimlik), yalnız ileri\nsayfalama (`after`) vardır (`before` ve `desc` dışı `order` `422`). Sayfa 1–100 kayıt, varsayılan 20. `slug`,\n`external_id` ve `status` tam eşleşme süzgeçleridir; eski slug rezervi listede çözülmez. `domain` süzgeci doğrulanmış\nalan adları özelliğiyle gelir; o güne kadar `422 unsupported` döner (sessizce yok sayılmaz). Silinmiş org listede yoktur.",
        "operationId": "listOrganizations",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/OrganizationSlugFilter"
          },
          {
            "$ref": "#/components/parameters/OrganizationExternalIdFilter"
          },
          {
            "$ref": "#/components/parameters/OrganizationStatusFilter"
          },
          {
            "$ref": "#/components/parameters/OrganizationDomainFilter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/organizations",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "List organizations in the environment, newest first (cursor pagination; exact-match filters: slug, external_id, status). Read-only. Organization metadata is never returned.",
          "destructive": false,
          "read_only": true,
          "tool": "organizations_list"
        },
        "x-idp-permissions": [
          "organizations:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Ortamda org oluşturur. `name` zorunludur; `slug` verilmezse addan türetilir (çakışırsa `-2` … `-20`\nsonekiyle). Slug ortamda tekildir: kullanımdaysa `409 slug_taken`, ayrılmış sözcükse ya da başka org'un son 90 gündeki eski\nslug'ıysa `409 slug_reserved`. `external_id` ortamda tekildir (`409 external_id_taken`). `metadata` en çok 16 KiB, 5\ndüzey derinlik ve 100 üst düzey anahtarlı JSON nesnesidir ve yalnız bu API'de döner. Yanıt `ETag` taşır.\n`organization.created` olayı yayımlanır ve yönetim audit'ine yazılır. Ortamın org tavanı doluysa `403 quota_exceeded`. `Idempotency-Key` isteğe bağlıdır.",
        "operationId": "createOrganization",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/organizations",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}": {
      "delete": {
        "description": "Org'u anında ve kalıcı olarak siler. Slug 90 gün\nrezerve kalır. `organization.deleted` olayı yayımlanır ve yönetim audit'ine yazılır. Bilinmeyen ya da zaten silinmiş org\n`404`'tür.",
        "operationId": "deleteOrganization",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/organizations/{org_id}",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Org'u döndürür; yanıt `ETag` taşır. Biçimsiz, bilinmeyen, silinmiş ya da başka ortamın org kimliği `404`'tür.",
        "operationId": "getOrganization",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/organizations/{org_id}",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "Get one organization by id (org_...): name, slug, external_id, status and lifecycle timestamps. Read-only. Organization metadata is never returned.",
          "destructive": false,
          "read_only": true,
          "tool": "organizations_get"
        },
        "x-idp-permissions": [
          "organizations:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "Org'u birleştirme yamasıyla (RFC 7396) günceller. `If-Match` zorunludur: yoksa `428`, sürüm eşleşmezse `412`. Yazılabilir\nalanlar `name`, `slug`, `external_id`, `metadata`, `brand_color`, `max_memberships` ve `default_zoneinfo`'dur; başka\nalan `400 unknown_field`. `name` ve `slug` temizlenemez (null `422`); `external_id`, `brand_color` ve\n`default_zoneinfo` null ile temizlenir,\n`max_memberships` null sınırsızdır, `metadata` iç içe birleşir ve null `{}` yapar. Slug 30 günde bir değişebilir\n(`409 slug_change_rate_limited`); eski slug 90 gün başka org'a verilmez. Silinmeyi bekleyen org güncellenemez (`409\norganization_pending_deletion`). Hiçbir alanı değiştirmeyen yama kaydı ve sürümü değiştirmez.",
        "operationId": "updateOrganization",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/organizations/{org_id}",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/admin-relationships": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "listOrganizationAdminRelationships",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CursorList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/organizations/{org_id}/admin-relationships",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "createOrganizationAdminRelationship",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/organizations/{org_id}/admin-relationships",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/admin-relationships/{relationship_id}:approve": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "approveOrganizationAdminRelationship",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_relationship_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/organizations/{org_id}/admin-relationships/{relationship_id}:approve",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/admin-relationships/{relationship_id}:terminate": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "terminateOrganizationAdminRelationship",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_relationship_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/organizations/{org_id}/admin-relationships/{relationship_id}:terminate",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/app-access": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "listOrganizationAppAccess",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CursorList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/organizations/{org_id}/app-access",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "createOrganizationAppAccess",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/organizations/{org_id}/app-access",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/app-access/{entry_id}": {
      "delete": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "deleteOrganizationAppAccess",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_entry_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/organizations/{org_id}/app-access/{entry_id}",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "putOrganizationAppAccess",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_entry_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/organizations/{org_id}/app-access/{entry_id}",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/applications/{application_id}": {
      "get": {
        "description": "Uygulamanın org'daki erişim satırını döndürür. Satır hiç yazılmamışsa\n`status` `disabled`, `version` 0 ve zamanlar null'dır (ETag `\"0\"`). Uygulamanın `org_access_mode`'u\n`enabled_organizations` ya da `assigned_only` ise org bağlamlı giriş yalnız `enabled` satırda geçer. Org, uygulama ya da\nortam eşleşmezse `404`. Yanıt `ETag` taşır.",
        "operationId": "getOrganizationApplication",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationApplication"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/organizations/{org_id}/applications/{application_id}",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "Uygulamayı org'da etkinleştirir (`enabled`) ya da devre dışı bırakır (`disabled`). İşlem değer bazında idempotenttir:\naynı durum sürümü değiştirmez. `If-Match` isteğe bağlıdır; verilirse güncel `ETag` ile eşleşmelidir (hiç yazılmamış\nsatırda `\"0\"`), eşleşmezse `412 precondition_failed`; `\"0\"` yalnız satır hâlâ hiç yazılmamışsa yazar, arada başka\nbir istek yazdıysa `412`'dir. Silinmeyi bekleyen org'da etkinleştirme `409\norganization_pending_deletion`'dır (devre dışı bırakma serbesttir).\nDevre dışı bırakmak atamaları silmez; `assigned_only` uygulamada atamalar yeniden etkinleştirmede geçerli olur. Yanıt\n`ETag` taşır; yazma yönetim audit'ine `organization_application.enabled` / `.disabled` olarak düşer.",
        "operationId": "putOrganizationApplication",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationApplicationPutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationApplication"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/organizations/{org_id}/applications/{application_id}",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/applications/{application_id}/assignments": {
      "get": {
        "description": "Uygulamanın org'daki atamalarını eskiden yeniye (kimlik sırası) imleçli listeler; yalnız ileri sayfalama (`after`) vardır\n(`before` ve `asc` dışı `order` `422`). Sayfa 1–100 kayıt, varsayılan 20. İmleç org ve uygulamaya bağlıdır; başka yolun\nimleci `422 invalid_cursor`'dır. Tek atama okuma ucu yoktur; atama değişmez, yalnız silinir.",
        "operationId": "listOrganizationApplicationAssignments",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationAssignmentList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/organizations/{org_id}/applications/{application_id}/assignments",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Uygulamaya org içinde bir üyelik (`membership`, `mem_…`) ya da dizin grubu (`directory_group`, `dsg_…`) atar.\n`assigned_only` kipindeki uygulamada org bağlamlı giriş, etkin satıra ek olarak üyeliğin kendisinin ya da dizin\ngrubunun atanmış olmasını ister. Uygulama org'da etkin değilse `409 application_not_enabled`; aynı hedef zaten\natanmışsa `409 conflict`; hedef bu org'da yoksa `404`; silinmeyi bekleyen org'da `409 organization_pending_deletion`.\nDizin grupları SCIM ile gelir; grup silinince atamaları da silinir. Bu sürümde SCIM grupları directory'ye\nyansıtılmadığından `directory_group` hedefi `404`'tür. `Idempotency-Key` isteğe bağlıdır.",
        "operationId": "createOrganizationApplicationAssignment",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationAssignmentCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationAssignment"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/organizations/{org_id}/applications/{application_id}/assignments",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/applications/{application_id}/assignments/{assignment_id}": {
      "delete": {
        "description": "Atamayı siler; yanıt gövdesizdir. Atama yoksa ya da başka org, uygulama veya ortamdaysa `404`. Silme yönetim audit'ine\n`application_assignment.deleted` olarak düşer.",
        "operationId": "deleteOrganizationApplicationAssignment",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_application_id"
          },
          {
            "$ref": "#/components/parameters/path_assignment_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/organizations/{org_id}/applications/{application_id}/assignments/{assignment_id}",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/memberships": {
      "get": {
        "description": "Org'un üyeliklerini son güncelleme sırasıyla (eskiden yeniye; eşitlikte kimlik) imleçli listeler; yalnız ileri\nsayfalama vardır (`before` ve `asc` dışı `order` `422`). Süzgeçler: `status`, `role_id` (`rol_…`), `updated_after` (RFC\n3339). İmleç org ve süzgeçlere bağlıdır; başka listenin imleci `400 invalid_cursor`'dır. Org bu ortamda yoksa `404`.",
        "operationId": "listOrganizationMemberships",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/MembershipStatusFilter"
          },
          {
            "$ref": "#/components/parameters/MembershipRoleFilter"
          },
          {
            "$ref": "#/components/parameters/MembershipUpdatedAfter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMembershipList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/organizations/{org_id}/memberships",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Kullanıcıyı (`usr_…`) org'a doğrudan üye ekler (kaynak `admin_api`, durum `active`). `role_ids` boşsa org'un varsayılan\nüye rolü atanır; roller ortam rolü ya da bu org'un rolü olmalıdır (`403 role_not_assignable`). `expires_at` verilirse\ngelecekte olmalıdır. Kullanıcı zaten üyeyse `409 membership_already_exists`; anonim kullanıcı `422\nanonymous_user_not_allowed`; etkin olmayan kullanıcı `403 user_not_active`; org devre dışıysa `409\norganization_disabled`; org ya da kullanıcı üyelik sınırı aşılırsa `409 organization_membership_limit_reached` / `409\nmembership_limit_reached`. Yanıt `ETag` taşır; yazma `organization_membership.created` audit'idir. `Idempotency-Key`\nisteğe bağlıdır.\nAyrıcalıklı (`is_privileged`) rol atamak `organizations:write`'a ek olarak `roles:write` ister; yoksa `403 insufficient_permissions` (`required_permissions`: iki izin) ve yazma olmaz.",
        "operationId": "createOrganizationMembership",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationMembershipCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMembership"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/organizations/{org_id}/memberships",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/memberships/{membership_id}": {
      "delete": {
        "description": "Üyeliği kaldırır (neden `removed_by_admin`); yanıt gövdesizdir. Org'un son etkin yöneticisi kaldırılamaz. `If-Match` isteğe bağlıdır; verilirse güncel `ETag` ile eşleşmelidir (`412`). Kaldırma yönetim\naudit'ine `organization_membership.deleted` olarak düşer.",
        "operationId": "deleteOrganizationMembership",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_membership_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/organizations/{org_id}/memberships/{membership_id}",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Üyeliği rolleriyle döndürür (`mem_…`). Üyelik yoksa ya da başka org veya ortamdaysa `404`. Yanıt `ETag` taşır.",
        "operationId": "getOrganizationMembership",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_membership_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMembership"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/organizations/{org_id}/memberships/{membership_id}",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "Üyeliğin `role_ids` (elle atanmış rollerin tam kümesi) ya da `expires_at` alanını RFC 7396 birleştirme yamasıyla\ndeğiştirir; ikisi aynı istekte de değişebilir ve tek transaction'da uygulanır: ya ikisi birden yazılır ya hiçbiri. `expires_at` gelecekte ve\nüyeliğin oluşturulmasından en çok 365 gün sonra olmalıdır (`422 out_of_range`); `null` bitişi kaldırır; kaldırılmış\nüyelikte `422 invalid_state`. `role_ids: null` etkisizdir. Rol kuralları `PUT …/roles` ile aynıdır (`409 last_org_admin`,\n`403 role_not_assignable`, `422 unknown_role`). Değişmeyen alan yazılmaz. `If-Match` isteğe bağlıdır; verilirse\ngüncel `ETag` ile eşleşmelidir (`412`) ve sürüm yazmaya sabitlenir. Yanıt güncel üyeliği ve `ETag`'i taşır; yazma\n`organization_membership.updated` audit'idir.\n`role_ids` ayrıcalıklı (`is_privileged`) rol içeriyorsa `organizations:write`'a ek olarak `roles:write` gerekir; yoksa `403 insufficient_permissions`.",
        "operationId": "updateOrganizationMembership",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_membership_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationMembershipPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMembership"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/organizations/{org_id}/memberships/{membership_id}",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/memberships/{membership_id}/diagnostics": {
      "get": {
        "description": "Üye teşhis görünümü: org yöneticisinin \"üye neden giremiyor\" sorusu için tek yanıtta\nüyelik (durum, kaynak, roller, askı nedeni), org katmanındaki politika özeti (MFA, izinli yöntemler, SSO zorlaması,\nIP listesi var/yok; `null` = org o eksende ortam değerini devralır), `invited` üyelikte kullanıcının birincil\ne-postasına bekleyen davet ve teslim durumu, doğrulayıcı özeti (yalnız sınıflar ve MFA kaydı) ve org bağlamındaki giriş\ndurumu (kilit; son giriş yalnız o org'un oturumlarından), üyenin org'un dizinlerindeki grupları ve erişimi kısıtlı\nuygulamalardaki erişim kararı döner. Salt okumadır. Etiket, AAGUID, IP, kullanıcı aracısı,\ne-posta, CIDR ve başka org bağlamındaki kayıt dönmez. Üyelik yoksa, `removed` ise ya da\nbaşka org veya ortamdaysa `404`. Giriş etkinliği `GET /v1/users/{user_id}/logs?org_id=` ile okunur.",
        "operationId": "getOrganizationMembershipDiagnostics",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_membership_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MembershipDiagnostics"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/organizations/{org_id}/memberships/{membership_id}/diagnostics",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:read",
          "users:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/memberships/{membership_id}/roles": {
      "put": {
        "description": "Üyeliğin elle atanmış rollerini tam küme olarak değiştirir (`role_ids`; boş dizi elle atanmış rolleri kaldırır).\nEşleme ve dizin kaynaklı roller bu işlemle değişmez. `role_version` verilirse üyeliğin güncel `version`'ı olmalıdır;\nuyuşmazlıkta `409 conflict`. Son yöneticinin yönetici rolü düşürülemez (`409 last_org_admin`); atanamayan rol\n`403 role_not_assignable`. Yanıt güncel üyeliği ve `ETag`'i taşır; yazma `organization_membership.updated` audit'idir.\nKümede ayrıcalıklı (`is_privileged`) rol varsa `organizations:write`'a ek olarak `roles:write` gerekir; yoksa `403 insufficient_permissions` (`required_permissions`: iki izin) ve yazma olmaz.\n`revoke_sessions` (varsayılan `true`): bu sürümde seçim yalnız `organization_membership.updated` audit'inin `revoke_sessions` meta verisine kaydedilir, oturum iptal edilmez. Ayrıcalıklı rol kaldırıldığında kullanıcının bu org bağlamındaki refresh ailelerinin iptali authn tarafında planlıdır (`planned`); `false` o iptali kapatacak seçimdir.",
        "operationId": "setOrganizationMembershipRoles",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_membership_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationMembershipRolesPutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMembership"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/organizations/{org_id}/memberships/{membership_id}/roles",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/memberships/{membership_id}:reactivate": {
      "post": {
        "description": "Askıdaki üyeliği yeniden etkinleştirir; org ve kullanıcı etkin olmalıdır. Askıda olmayan üyelik `422 invalid_state`\n(etkin üyelikte değişiklik yazılmaz). Gövde yoktur. `If-Match` isteğe bağlıdır (`412`). Yanıt güncel üyeliği ve `ETag`'i\ntaşır; yazma `organization_membership.updated` (`change=reactivated`) audit'idir.",
        "operationId": "reactivateOrganizationMembership",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_membership_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMembership"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/organizations/{org_id}/memberships/{membership_id}:reactivate",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/memberships/{membership_id}:suspend": {
      "post": {
        "description": "Etkin üyeliği askıya alır (neden `admin_suspended`); askıdaki üye org bağlamında giriş yapamaz ve org\nbağlamlı oturumları kapanır. Org'un son etkin yöneticisi askıya alınamaz; davetli ya da\nkaldırılmış üyelik `422 invalid_state`; zaten askıdaysa değişiklik yazılmaz. Gövde yoktur. `If-Match` isteğe bağlıdır (`412`). Yanıt\ngüncel üyeliği ve `ETag`'i taşır; yazma `organization_membership.updated` (`change=suspended`) audit'idir.",
        "operationId": "suspendOrganizationMembership",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_membership_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMembership"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/organizations/{org_id}/memberships/{membership_id}:suspend",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/policies": {
      "get": {
        "description": "Org'un yazılmış kimlik politikalarını tür sırasıyla listeler. Yazılmamış tür ortamın değerini devralır ve listede yoktur. En çok\naltı öğe olduğundan sayfalanmaz; zarf standart liste biçimindedir, `list_metadata` imleçleri null'dır. Org yoksa ya da başka\nortamdaysa `404`.",
        "operationId": "listOrganizationPolicies",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationPolicyList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/organizations/{org_id}/policies",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/policies/{policy_kind}": {
      "delete": {
        "description": "Politikayı siler; org o eksende ortamın değerine döner. `If-Match` zorunludur: yoksa `428`, sürüm eşleşmezse `412`.\nPolitika yoksa `404`. Silme yönetim audit'ine yazılır ve `organization.updated` olayı yayımlanır.",
        "operationId": "deleteOrganizationPolicy",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_policy_kind"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/organizations/{org_id}/policies/{policy_kind}",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Org'un bir türdeki politikasını döndürür; yanıt `ETag` taşır. Tür için politika yazılmamışsa `404` (org o eksende\nortamın değerini devralır); bilinmeyen tür de `404`'tür.",
        "operationId": "getOrganizationPolicy",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_policy_kind"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationPolicy"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/organizations/{org_id}/policies/{policy_kind}",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:read"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "Türün ayar nesnesini tam olarak değiştirir. Politika zaten varsa `If-Match` zorunludur: yoksa `428`, sürüm\neşleşmezse `412` (`*` mevcut politikayla eşleşir). Politika yoksa başlıksız istek onu oluşturur (`201`); başlıklı\nistek `412`'dir. Oluşturma yarışsızdır: aynı türü\neşzamanlı oluşturan ikinci istek `412` alır ve ilk yazı korunur. Ayar alanları türe göre:\n`authentication_methods` → `allowed_connection_ids` (`conn_…`), `allow_passkey`, `allow_password`; `mfa` →\n`required_for` (`none`|`admins`|`all`), `allowed_factors` (`totp`, `webauthn`, `sms`, `email`), `enrollment_grace_days`\n(0–30); `phishing_resistant` → `required_for`, `aaguid_allowlist` (≤ 500); `sso_enforcement` → `mode` (`off`|\n`org_context`|`verified_domains`), `connection_ids` (`conn_…`), `bypass_user_ids` (`usr_…`, ≤ 2); `session` →\n`idle_minutes`, `absolute_minutes`, `refresh_idle_days`, `refresh_absolute_days` (verilmeyen ortamdan); `ip_allowlist`\n→ `cidrs` (≤ 100, maskeli kanonik biçim), `applies_to` (`admins`|`all`). Bilinmeyen alan ya da geçersiz değer `422\nvalidation_failed` (`errors[]` işaretçisi `/settings/…`). Ayar ortamın ayarından gevşekse `422\npolicy_weaker_than_parent` (`errors[]` gevşek alanı gösterir); `authentication_methods` hiçbir yöntem bırakmıyorsa\n`422 at_least_one_method`; `authentication_methods` ya da açık `sso_enforcement`, org bağlamında kullanılabilen bir\nuygulama ve ortamla ortak birinci faktör bırakmıyorsa `422 policy_conflict`;\n`verified_domains` kipi org'da doğrulanmış alan ister (`409 domain_not_verified`); `sso_enforcement`'ı açmak\n(`off`'tan ya da politika yokken) `connection_ids`'den en az birinin güncel yapılandırmasının son 24 saatte başarılı\ntest girişini ister;\nsilinmeyi bekleyen org'da `409 organization_pending_deletion`. Plan kapısı sunucudadır: `session` ve `ip_allowlist`\ntürleri ile AAGUID listesi Enterprise ister (`403 plan_feature_unavailable`, `feature` ve `required_plan` ile; geliştirme\nortamında açıktır). Ayar içeriği yönetim audit'ine yazılır; `organization.updated` olayı içerik taşımaz.",
        "operationId": "putOrganizationPolicy",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_policy_kind"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationPolicyPutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationPolicy"
                }
              }
            },
            "description": "Güncellendi.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationPolicy"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/organizations/{org_id}/policies/{policy_kind}",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/policies/{policy_kind}:preview": {
      "post": {
        "description": "Aday ayarı kaydetmeden değerlendirir. Gövde `putOrganizationPolicy` ile aynıdır ve aynı doğrulamadan, aynı\nplan kapısından geçer: geçersiz aday aynı hatayı döner (`422 validation_failed`, `422 policy_weaker_than_parent`,\n`422 at_least_one_method`, `409 domain_not_verified`, `409 connection_test_required`,\n`409 organization_pending_deletion`, `403 plan_feature_unavailable`). Hiçbir şey yazılmaz: `If-Match` ve `Idempotency-Key` yoktur, audit ve olay\nyazılmaz. Geçerli adayda yanıt, ayarın giriş anında uygulanacağı kullanıcıların sayısını (`affected_count`) ve\nkimliğe göre sıralı en çok 20 örneği (`sample`, yalnız `usr_…`) verir. Sayım tabanı `basis = users_in_scope`'tur:\norg'un etkin kullanıcılı etkin üyeleri; `sso_enforcement.mode = verified_domains`'te ayrıca org'un doğrulanmış\nalanlarından birinde e-postası olan etkin ortam kullanıcıları; break-glass kullanıcıları hariç; `required_for`/\n`applies_to = none` ya da `mode = off` ise 0. Sayı kullanıcının ayarı bugün karşılayıp karşılamadığını süzmez;\nsüzülmeyen koşullar `not_evaluated`'dadır: `admin_scope` (`admins` kapsamı bugün tüm üyelere uygulanır),\n`credentials`, `mfa_enrollment`, `passkey_enrollment`, `federated_sign_in`, `client_ip`. İstisna\n`phishing_resistant`'tır: kapsam boş değil ve en çok 10.000 kullanıcıysa sayı ve örnek\n`basis = users_without_webauthn` ile kapsamdakilerden bugün oltalamaya dayanıklı giremeyecek olanlardır (ayarın ya\nda ortamın AAGUID listesinin kabul ettiği etkin bir WebAuthn kimlik bilgisi, yani passkey ya da birinci faktörle\ngüvenlik anahtarı olmayanlar); `passkey_enrollment` yerine `credential_policy` (ortamın attestation zorunluluğu,\ncihaza bağlı passkey kuralı ve FIDO MDS model durumu uygulanmadı) yazılır. Daha büyük kapsamda ya da kimlik\ndoğrulama servisi bağlı değilse `users_in_scope` ve `passkey_enrollment` kalır; kayıt olgusu sorulamazsa\n`503 service_unavailable` döner (tahmini sayı dönmez).",
        "operationId": "previewOrganizationPolicy",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_policy_kind"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationPolicyPreviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationPolicyPreview"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/organizations/{org_id}/policies/{policy_kind}:preview",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/roles": {
      "get": {
        "description": "Org'a özgü rolleri kimlik sırasıyla (eskiden yeniye) imleçli listeler; yalnız ileri sayfalama (`after`)\nvardır (`before` ve `asc` dışı `order` `422`). Sayfa 1–100 kayıt, varsayılan 20. İmleç org'a\nbağlıdır; başka listenin imleci `400 invalid_cursor`'dır. Org rolleri yalnız bu org'da görünür.",
        "operationId": "listOrganizationRoles",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/organizations/{org_id}/roles",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "roles:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Org'a özgü rolü oluşturur. `key` küçük harf, rakam, `_` ve `-` ile 1–64 karakterdir, kapsamında tekildir\n(`409 role_key_conflict`) ve sonradan değişmez. `is_privileged` ayrıcalıklı rolü\nişaretler: ayrıcalıklı rolü self-serviste yalnız `org_admin_role_id` rolünü taşıyan atayabilir; dış grup eşlemesi\n`roles:write` ve onay ister. `assignable_in_self_service` verilmezse `true`dur. Ortamda 1.000 ortam rolü, org başına 50 org rolü\nsınırı aşılırsa `409 role_limit_reached`. Org rolleri `org_custom_roles` plan hakkı ister (Business ve üstü; yoksa `403 plan_feature_unavailable`, ortamda kapalıysa `403 org_custom_roles_disabled`); org rolü ayrıcalıklı olamaz (`422`, `/is_privileged`) ve ortamın org rolü izin listesi boşsa oluşturulamaz. Org bu ortamda yoksa `404`.\nYanıt `ETag` taşır; yazma yönetim audit'ine `role.created` olarak düşer. `Idempotency-Key`\nisteğe bağlıdır.",
        "operationId": "createOrganizationRole",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoleCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Role"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/organizations/{org_id}/roles",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "roles:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/roles/{role_id}": {
      "delete": {
        "description": "Rolü siler; yanıt gövdesizdir. Atanmış rol `force=true` olmadan `409 role_in_use`'dur; `force=true` üyelik\natamalarını aynı işlemde kaldırır; org'un yönetici ya da varsayılan üye rolü olarak kullanılan rol yine silinmez (`409 role_in_use`).\n`If-Match` isteğe bağlıdır; verilirse güncel `ETag` ile eşleşmelidir (`412`). Silme yönetim audit'ine `role.deleted`\nolarak düşer.",
        "operationId": "deleteOrganizationRole",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_role_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/RoleForceDelete"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/organizations/{org_id}/roles/{role_id}",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "roles:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Rolü döndürür (`rol_…`). Rol yoksa, başka ortamda ya da başka org'daysa `404`. Yanıt `ETag`\ntaşır.",
        "operationId": "getOrganizationRole",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_role_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Role"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/organizations/{org_id}/roles/{role_id}",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "roles:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "Rolü birleştirme yamasıyla (RFC 7396) günceller. `If-Match` zorunludur: yoksa `428`, sürüm eşleşmezse `412`.\nYazılabilir alanlar `name`, `description`, `is_privileged` ve `assignable_in_self_service`'tir; `key` değişmez (başka\nalan `400 unknown_field`). Org rolü ayrıcalıklı yapılamaz. Rol ayrıcalıklı\nyapılırsa ona bağlı dış grup eşlemeleri onaysız kalır ve `:approve` ile onaylanana dek rol vermez. Hiçbir\nalanı değiştirmeyen yama kaydı ve sürümü değiştirmez. Yanıt `ETag` taşır; yazma `role.updated` audit'idir.",
        "operationId": "updateOrganizationRole",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_role_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/RolePatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Role"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/organizations/{org_id}/roles/{role_id}",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "roles:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/roles/{role_id}/permissions": {
      "put": {
        "description": "Org rolünün izin kümesini tam küme olarak değiştirir (en çok 100). Her izin ortamın org özel rol izin listesinde\nolmalıdır (`422 permission_not_allowed`; `GET /v1/org-custom-role-permissions`); org rolleri kapalıysa\n`403 org_custom_roles_disabled`, plan hakkı yoksa `403 plan_feature_unavailable` (`org_custom_roles`, Business).\nBaşka org'un ya da ortamın rolü `404`'tür. `If-Match` isteğe bağlıdır (`412`). Yanıt güncel rolü ve `ETag`'i taşır;\ndeğişiklik `role.updated` (`change=permissions`) audit'idir.",
        "operationId": "setOrganizationRolePermissions",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/path_role_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RolePermissionsPutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Role"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/organizations/{org_id}/roles/{role_id}/permissions",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "roles:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}/sessions:revoke": {
      "post": {
        "description": "Org'un bütün kullanıcılarının bu org bağlamında açılmış etkin oturumlarını, bu org'la verilmiş ya da bu oturumlara bağlı refresh token ailelerini iptal eder; org'un canlı access token'ları introspection ve iptal denetiminde artık kabul edilmez. Gövdede `reason` zorunludur (1–256 karakter, kontrol karakteri yok); yalnız yönetim audit kaydına not olarak yazılır, oturumların iptal nedeni `admin`'dir. Org bu ortamda yoksa 404 döner. Zaten iptal edilmiş oturumlar sayılmaz; tekrar çağrı başarıdır. Tek oturum ya da tek kullanıcı için `POST /v1/users/{user_id}/sessions:revoke` kullanılır.",
        "operationId": "revokeOrganizationSessions",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeOrganizationSessionsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevokeOrganizationSessionsResponse"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/organizations/{org_id}/sessions:revoke",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "sessions:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}:cancel-deletion": {
      "post": {
        "description": "Org yöneticisinin self-servis silme isteğini vade (`deletion_due_at`) gelmeden geri alır. Gövde yoktur. Silinmeyi beklemeyen org'da değişiklik yapmadan `200` döner. `organization.deletion_cancelled` olayı yayımlanır. Yanıt güncel org'u ve `ETag`'i taşır.",
        "operationId": "cancelOrganizationDeletion",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/organizations/{org_id}:cancel-deletion",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}:disable": {
      "post": {
        "description": "Org'u devre dışı bırakır: üyeler org bağlamında oturum açamaz, kayıt ve üyelikler korunur. Gövde yoktur. Zaten devre dışı org'da değişiklik yapmadan `200` döner; silinmeyi bekleyen org'da `409 organization_pending_deletion`. `organization.disabled` olayı yayımlanır ve yönetim audit'ine yazılır. Yanıt güncel org'u ve `ETag`'i taşır.",
        "operationId": "disableOrganization",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/organizations/{org_id}:disable",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/organizations/{org_id}:enable": {
      "post": {
        "description": "Devre dışı org'u yeniden etkinleştirir. Gövde yoktur. Zaten etkin org'da değişiklik yapmadan `200` döner; silinmeyi bekleyen org'da `409 organization_pending_deletion` (önce `:cancel-deletion`). `organization.enabled` olayı yayımlanır. Yanıt güncel org'u ve `ETag`'i taşır.",
        "operationId": "enableOrganization",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_org_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/organizations/{org_id}:enable",
        "tags": [
          "organizations"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "organizations:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/permissions": {
      "get": {
        "description": "Bir API'nin izinlerini (OAuth scope'ları) imleçli sayfalarla listeler. `api_id` zorunludur; ortam yalnız kimlik bilgisinden gelir, olmayan ya da başka ortama ait API `404`'tür. Sıralama izin kimliği (oluşturma sırası) ile kararlıdır (`order`, varsayılan `desc`). İmleç `api_id` ve sıralamaya bağlıdır; değişirse `400 invalid_cursor`.",
        "operationId": "listPermissions",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          },
          {
            "description": "İzinleri listelenecek API (önekli dış kimlik `api_…`). Yoksa `422 required`, tekrarlanırsa `422 repeated`, biçimsizse `422 invalid_value` (`/api_id`).",
            "in": "query",
            "name": "api_id",
            "required": true,
            "schema": {
              "maxLength": 64,
              "minLength": 1,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PermissionList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/permissions",
        "tags": [
          "permissions"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "apis:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "API'ye yeni bir izin (OAuth scope'u) ekler. `api_id` ve `value` zorunludur; `value` `kaynak:eylem` biçimindedir, API içinde tekildir, oluşturulduktan sonra değişmez ve `idp_` öneki sistem API'sine ayrılmıştır. `display_name`, `description` ve `consent_text_i18n` onay ekranında gösterilen düz metinlerdir: kontrol karakteri, satır/paragraf ayırıcı ve yön geçersiz kılma karakteri `422 invalid` olur; baştaki ve sondaki boşluk kırpılır, kırpılınca boş kalan alan `null` olur. Olmayan ya da başka ortama ait API `404`'tür. Sistem API'sine izin eklenemez (`409 conflict`); API başına en çok 1.000 izin vardır (aşımı `403 quota_exceeded`).",
        "operationId": "createPermission",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PermissionCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Permission"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/permissions",
        "tags": [
          "permissions"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "apis:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/permissions/{permission_id}": {
      "delete": {
        "description": "İzni siler; rollerdeki ve uygulama izin listelerindeki atamaları da kaldırılır. Sistem API'sinin izinleri silinemez (`409 conflict`). Olmayan, başka ortama ait ya da biçimsiz kimlik `404`'tür.",
        "operationId": "deletePermission",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_permission_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/permissions/{permission_id}",
        "tags": [
          "permissions"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "apis:write"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "İzni RFC 7396 birleştirme yamasıyla günceller (`application/merge-patch+json`). Yamada bulunmayan alan korunur; `display_name`, `description` ve `consent_text_i18n` `null` ile temizlenir, `sensitivity` temizlenemez (`422 required`). `consent_text_i18n` bütün harita olarak değişir: dil başına birleştirme yapılmaz, verilen harita eskisinin yerine geçer. `value` yalnız mevcut değerle aynıysa kabul edilir (`422 immutable`). Boş yama `422 required`'dır. İzin satırında sürüm yoktur; `If-Match` kullanılmaz.",
        "operationId": "updatePermission",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_permission_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PermissionUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Permission"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/permissions/{permission_id}",
        "tags": [
          "permissions"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "apis:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/platform-incidents/{incident_id}/affected-users": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "listPlatformIncidentAffectedUsers",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_incident_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CursorList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/platform-incidents/{incident_id}/affected-users",
        "tags": [
          "platform-incidents"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "platform-incidents:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/privacy-requests": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "listPrivacyRequests",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CursorList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/privacy-requests",
        "tags": [
          "privacy-requests"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "privacy-requests:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "createPrivacyRequest",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/privacy-requests",
        "tags": [
          "privacy-requests"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "privacy-requests:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/privacy-requests/{privacy_request_id}": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "getPrivacyRequest",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_privacy_request_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/privacy-requests/{privacy_request_id}",
        "tags": [
          "privacy-requests"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "privacy-requests:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "updatePrivacyRequest",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_privacy_request_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/privacy-requests/{privacy_request_id}",
        "tags": [
          "privacy-requests"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "privacy-requests:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/reports/active-users": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: bkz. getActivityReport",
        "operationId": "getActiveUsersReport",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/reports/active-users",
        "tags": [
          "reports"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "reports:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/reports/activity": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "getActivityReport",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/reports/activity",
        "tags": [
          "reports"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "reports:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/reports/auth-methods": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: bkz. getActivityReport",
        "operationId": "getAuthMethodsReport",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/reports/auth-methods",
        "tags": [
          "reports"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "reports:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/reports/availability": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: Enterprise",
        "operationId": "getAvailabilityReport",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/reports/availability",
        "tags": [
          "reports"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "reports:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/reports/deprecation-usage": {
      "get": {
        "description": "Kullanımdan kalkan işlemlerin çağrı sayımlarını `from`–`to` aralığında (UTC günü, ikisi dahil) `deprecation_id`, `client_id`, `sdk_package`, `sdk_version` başına toplar; sıra bu dört alanın bayt sırasıdır. `from` yoksa `to` − 30 gün, `to` yoksa bugün (UTC). Rapor ortamın kendi çağrılarını kapsar; satırlarda IP, User-Agent ve kullanıcı kimliği yoktur. `sunset_at` kullanımdan kaldırma kayıt defterindendir (bilinmiyorsa `null`). Geçmiş derinliği planın derinliğidir (Free 30 gün, ücretli 13 ay, Enterprise 25 ay) ve en çok 400 gündür; daha eski `from` `422 report_range_exceeds_plan` döner ve izin verilen en eski günü `errors[0].detail` içinde taşır. `from` > `to` ya da biçimsiz tarih `400 invalid_filter`, başka ortama ya da başka aralığa ait imleç `400 invalid_cursor` döner. `Accept: text/csv` aynı kolonları CSV olarak döner; CSV yanıtında sonraki sayfanın imleci `Link: <…>; rel=\"next\"` başlığındadır. Kullanım kaydı henüz yoksa ya da kayıt defteri boşsa liste boştur. Rapor faturalama girdisi değildir; sayımlar dakikalık toplanır ve çökmede en çok 60 sn'lik sayım kaybolabilir.",
        "operationId": "getDeprecationUsageReport",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/ReportFromDate"
          },
          {
            "$ref": "#/components/parameters/ReportToDate"
          },
          {
            "$ref": "#/components/parameters/ReportLimit"
          },
          {
            "$ref": "#/components/parameters/ReportCursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeprecationUsageReport"
                }
              },
              "text/csv": {
                "schema": {
                  "description": "Başlık satırı + `deprecation_id,client_id,sdk_package,sdk_version,call_count,last_seen_at,sunset_at` kolonları (RFC 4180).",
                  "type": "string"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/reports/deprecation-usage",
        "tags": [
          "reports"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "reports:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/reports/inactive-members": {
      "get": {
        "description": "Org'un `active` üyeliklerinden, son `days` günde (7–365, varsayılan 30) org bağlamında başarılı kimlik doğrulaması olmayanları listeler. SCIM'siz bağlantılarda deprovizyonun dayanağıdır; seçilen üyelikler `POST /v1/organizations/{org_id}/memberships/{membership_id}:suspend` ile askıya alınır. \"Başarılı kimlik doğrulama\" bu org'un bağlamında tamamlanan giriştir; org seçilmeden yapılan giriş sayılmaz. Etkinleşmesi (`activated_at`) eşikten yeni olan üyelik listelenmez. Kayıt yalnız ortam için işlenen ilk girişten (`data_since`) sonrasını bilir: `complete` `false` iken listedeki üyeler `data_since`'ten önce girmiş olabilir; `data_since` `null` ise ortamda henüz kayıt yoktur. Bir sayfa en çok 500 üyeliği tarar ve `limit`'ten az satırla dönebilir; `next_cursor` `null` olana dek devam edin. Sıra üyeliğin son güncellenme sırasıdır. Bilinmeyen ya da başka ortamın org'u `404`, eksik ya da biçimsiz `organization_id` ve aralık dışı `days` `422 validation_failed`, başka ortama ya da başka sorguya ait imleç `400 invalid_cursor` döner.",
        "operationId": "getInactiveMembersReport",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/InactiveMembersOrganization"
          },
          {
            "$ref": "#/components/parameters/InactiveMembersDays"
          },
          {
            "$ref": "#/components/parameters/ReportLimit"
          },
          {
            "$ref": "#/components/parameters/InactiveMembersCursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InactiveMembersReport"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/reports/inactive-members",
        "tags": [
          "reports"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "reports:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/reports/privacy-requests": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: izin planda yazılmamış",
        "operationId": "getPrivacyRequestsReport",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/reports/privacy-requests",
        "tags": [
          "reports"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "reports:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/reports/security": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "getSecurityReport",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/reports/security",
        "tags": [
          "reports"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "attack-protection:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/reports/security-posture": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "getSecurityPostureReport",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/reports/security-posture",
        "tags": [
          "reports"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "reports:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/roles": {
      "get": {
        "description": "Ortam rollerini kimlik sırasıyla (eskiden yeniye) imleçli listeler; yalnız ileri sayfalama (`after`)\nvardır (`before` ve `asc` dışı `order` `422`). Sayfa 1–100 kayıt, varsayılan 20. İmleç ortam listesine\nbağlıdır; başka listenin imleci `400 invalid_cursor`'dır. Org rolleri bu listede yoktur.",
        "operationId": "listRoles",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/roles",
        "tags": [
          "roles"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "roles:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Ortam rolü oluşturur. `key` küçük harf, rakam, `_` ve `-` ile 1–64 karakterdir, kapsamında tekildir\n(`409 role_key_conflict`) ve sonradan değişmez. `is_privileged` ayrıcalıklı rolü\nişaretler: ayrıcalıklı rolü self-serviste yalnız `org_admin_role_id` rolünü taşıyan atayabilir; dış grup eşlemesi\n`roles:write` ve onay ister. `assignable_in_self_service` verilmezse `true`dur. Ortamda 1.000 ortam rolü, org başına 50 org rolü\nsınırı aşılırsa `409 role_limit_reached`. Yanıt `ETag` taşır; yazma yönetim audit'ine `role.created` olarak düşer. `Idempotency-Key`\nisteğe bağlıdır.",
        "operationId": "createRole",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoleCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Role"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/roles",
        "tags": [
          "roles"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "roles:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/roles/{role_id}": {
      "delete": {
        "description": "Rolü siler; yanıt gövdesizdir. Atanmış rol `force=true` olmadan `409 role_in_use`'dur; `force=true` üyelik\natamalarını aynı işlemde kaldırır; org'un yönetici ya da varsayılan üye rolü olarak kullanılan rol yine silinmez (`409 role_in_use`).\n`If-Match` isteğe bağlıdır; verilirse güncel `ETag` ile eşleşmelidir (`412`). Silme yönetim audit'ine `role.deleted`\nolarak düşer.",
        "operationId": "deleteRole",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_role_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/RoleForceDelete"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/roles/{role_id}",
        "tags": [
          "roles"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "roles:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Rolü döndürür (`rol_…`). Rol yoksa, başka ortamda ya da bir org'a aitse `404`. Yanıt `ETag`\ntaşır.",
        "operationId": "getRole",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_role_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Role"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/roles/{role_id}",
        "tags": [
          "roles"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "roles:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "Rolü birleştirme yamasıyla (RFC 7396) günceller. `If-Match` zorunludur: yoksa `428`, sürüm eşleşmezse `412`.\nYazılabilir alanlar `name`, `description`, `is_privileged` ve `assignable_in_self_service`'tir; `key` değişmez (başka\nalan `400 unknown_field`). Rol ayrıcalıklı\nyapılırsa ona bağlı dış grup eşlemeleri onaysız kalır ve `:approve` ile onaylanana dek rol vermez. Hiçbir\nalanı değiştirmeyen yama kaydı ve sürümü değiştirmez. Yanıt `ETag` taşır; yazma `role.updated` audit'idir.",
        "operationId": "updateRole",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_role_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/RolePatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Role"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/roles/{role_id}",
        "tags": [
          "roles"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "roles:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/roles/{role_id}/permissions": {
      "put": {
        "description": "Rolün izin kümesini tam küme olarak değiştirir (`permission_ids`; boş dizi bütün izinleri kaldırır, sıra önemsizdir,\ntekrar `422 duplicate`). Ortam rolü en çok 500, org rolü en çok 100 izin taşır (`422 too_many`); bilinmeyen izin\n`422 unknown_permission`. Org yönetici rolü yapılan ortam rolünden sistem izni çıkarılamaz (`422 permission_reserved`).\n`If-Match` isteğe bağlıdır; verilirse güncel `ETag` ile eşleşmelidir (`412`) ve sürüm yazmaya sabitlenir. Aynı küme\ntekrar yazılırsa kayıt ve sürüm değişmez. Yanıt güncel rolü ve `ETag`'i taşır; değişiklik yönetim audit'ine\n`role.updated` (`change=permissions`) olarak düşer.",
        "operationId": "setRolePermissions",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_role_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RolePermissionsPutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Role"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/roles/{role_id}/permissions",
        "tags": [
          "roles"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "roles:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/sessions/{session_id}": {
      "get": {
        "description": "Tek oturumu döner (her durumda: `active`, `expired`, `revoked`). Oturum bu ortamda yoksa 404. Tam IP adresi görünür ve görüntüleme yönetim audit'ine yazılır. Çerez, token ya da cihaz parmak izi dönmez.",
        "operationId": "getSession",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_session_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Session"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/sessions/{session_id}",
        "tags": [
          "sessions"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "sessions:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/sessions/{session_id}:revoke": {
      "post": {
        "description": "Oturumu ve ona bağlı refresh token ailelerini iptal eder; o oturumla verilmiş access token'lar iptal işaretçisiyle (`sid`) geçersiz sayılır. Gövde yoktur. Oturum bu ortamda yoksa 404. Zaten iptal edilmiş ya da süresi dolmuş oturumda bir şey değişmez ve `already_inactive: true` döner. İptal yönetim audit'ine yazılır.",
        "operationId": "revokeSession",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_session_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevokeSessionResponse"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/sessions/{session_id}:revoke",
        "tags": [
          "sessions"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "sessions:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/signing-keys": {
      "get": {
        "description": "Ortamın JWKS'inde yayımdaki token imza anahtarlarını döndürür: `next` (yayımlanmış, henüz imzalamayan),\n`active` (imzalayan) ve `retired` (imzalamayı bırakmış, 7 gün doğrulama için yayımda). Sıra `next`, `active`,\nsonra `retired` (yeniden eskiye). JWKS'ten çıkmış (`removed`) ve acil rotasyonla iptal edilmiş (`revoked`)\nanahtarlar dönmez. Liste JWKS kadar küçüktür ve sayfalanmaz; `list_metadata` imleçleri her zaman null'dır. Yanıt\nyalnız açık bilgidir: `kid` RFC 7638 JWK SHA-256 thumbprint'idir (base64url); özel anahtar hiçbir yanıtta yoktur.",
        "operationId": "listSigningKeys",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SigningKeyList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "501": {
            "$ref": "#/components/responses/E501"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/signing-keys",
        "tags": [
          "signing-keys"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "signing-keys:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/signing-keys/policy": {
      "get": {
        "description": "Ortamın imza anahtarı politikasını döndürür: algoritma, otomatik rotasyon aralığı, saklama biçimi\nve sonraki otomatik rotasyon zamanı. Politika hiç yazılmadıysa varsayılanlar (`RS256`, 180 gün, `wrapped`) ve\n`ETag: \"0\"` döner; `updated_at` null'dır. Yanıt `ETag` başlığı taşır (`PATCH` için `If-Match`).",
        "operationId": "getSigningKeyPolicy",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SigningKeyPolicy"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "501": {
            "$ref": "#/components/responses/E501"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/signing-keys/policy",
        "tags": [
          "signing-keys"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "signing-keys:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "İmza anahtarı politikasını değiştirir (RFC 7396 birleştirme yaması; yalnız verilen alanlar değişir). `If-Match`\nzorunludur (yoksa `428`, eşleşmezse `412`). Kurallar: `rotation_interval_days` 30–365; `algorithm` `RS256`,\n`ES256`, `PS256` ya da `EdDSA`; `storage: transit` (dışa aktarılamaz anahtar saklama) Enterprise içindir ve bu\nsürümde `422` döner. Alanlar null olamaz.\n\nAlgoritma değişimi kesintisizdir: yeni algoritmayla yeni bir `next` anahtar JWKS'te yayımlanır; bu anahtar en\nerken 7 gün sonra etkinleşebilir (öncesindeki `immediate` rotasyon `409 next_key_too_young`). Doğrulayıcılar\ntoken'ın algoritmasını `kid`'in JWK'sinden almalıdır.",
        "operationId": "updateSigningKeyPolicy",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SigningKeyPolicyPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SigningKeyPolicy"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "501": {
            "$ref": "#/components/responses/E501"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/signing-keys/policy",
        "tags": [
          "signing-keys"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "signing-keys:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/signing-keys:rotate": {
      "post": {
        "description": "Ortamın token imza anahtarını ya da bir federasyon anahtarını hemen döndürür.\n\n- `mode: immediate`: olağan rotasyon adımı hemen çalışır: önceden yayımlanmış `next` imzalamaya başlar, eski\n  `active` 7 gün `retired` kalır, yeni bir `next` yayımlanır. `next`'in algoritması etkin anahtarınkinden farklıysa\n  (algoritma değişimi) ve `next` 7 günden gençse `409 next_key_too_young`. Ortamın `next`'i yoksa `409 conflict`.\n- `mode: emergency` (anahtarın ele geçtiği şüphesi): eski `active` `revoked` olur ve JWKS'ten **anında** çıkar;\n  `next` etkinleşir ve yeni `next` üretilir. `revoke_next: true` `next`'i de iptal eder ve hiç yayımlanmamış yeni\n  bir anahtarı etkinleştirir. `revoke_sessions: true` ortamın tüm refresh token ailelerini ve oturumlarını da\n  iptal eder (kullanıcılar yeniden giriş yapar). `reason` zorunludur: yazdırılabilir ASCII, 1–512 bayt (olay ya\n  da kayıt numarası; sır ya da kişisel veri yazmayın). Acil kip, `signing-keys:write`'a ek olarak kimlik bilgisinde\n  açıkça verilmiş `signing-keys:emergency` izni ister: yalnız bu izni taşıyan kısıtlı anahtar ya da M2M istemcisi\n  çağırabilir; tüm izinli gizli anahtar (`idp_sk_`) acil kipte `403 insufficient_permissions` alır.\n- `use`: döndürülecek anahtar; varsayılan `token_signing` (access/ID token imza anahtarı). Federasyon\n  anahtarları ortam başınadır: `saml_sp_signing` ve `saml_sp_encryption` SAML SP imza ve şifreleme anahtarları, `oidc_rp_signing` kurumsal OIDC bağlantılarının `private_key_jwt`\n  anahtarı. Federasyon anahtarında `immediate`, takvimin 30 gün önceden yayımladığı\n  `next` anahtarı hemen etkinleştirir; eski anahtar 30 gün daha yayımda kalır (`retired_kids`). `next` yoksa\n  `409 conflict`, 7 günden kısa süredir yayımdaysa `409 next_key_too_young`. `emergency` etkin anahtarı\n  yayımdan anında çıkarır ve özel anahtarını yok eder; yayımdaki `next` (ya da yoksa veya `revoke_next: true`\n  ise hiç yayımlanmamış yeni anahtar) etkinleşir. Metadata'yı ya da sertifikayı elle yüklemiş IdP'lerde yeni\n  sertifika yüklenene kadar giriş başarısız olabilir; bu durumda bağlantı başına\n  `connection.sp_certificate_rotation_started` web kancası olayı üretilir. Federasyon anahtarında\n  `revoke_sessions` kullanılamaz; yanıtta `next_kid` null'dır (sonraki anahtarı yıllık takvim yayımlar).\n  Ortamda o kullanımın etkin anahtarı yoksa (SAML ya da `private_key_jwt` hiç kullanılmadıysa) `409 conflict`.\n- `connection_id` (yalnız `saml_sp_signing` ve `saml_sp_encryption`): ortam kümesi yerine o SAML bağlantısının\n  kendine ait SP anahtar kümesini aynı kip, izin ve kurallarla döndürür. Web\n  kancası olayı yalnız o bağlantı için üretilir, ortamın ve diğer bağlantıların anahtarları değişmez; audit\n  kaydının hedefi ortamdır, bağlantı `metadata.connection_id`'de yazılır. Bilinmeyen ya da başka ortamın bağlantısı `404 not_found`, ortamın anahtarlarını kullanan bağlantı\n  `409 connection_keys_not_dedicated`; `token_signing` ya da `oidc_rp_signing` ile `422 /connection_id\n  not_allowed`. Alan verilmezse ortamın kümesi döner.\n\nYeni token imza anahtarlarının algoritması ortam politikasınındır (`GET /v1/signing-keys/policy`); federasyon\nanahtarları her zaman RSA-3072'dir. Başarılı token anahtarı rotasyonu `signing_key.rotated` ya da\n`signing_key.revoked` web kancası olayını, her rotasyon yönetim audit kaydını üretir. Bu uç\n\"anahtar ve sır üretimi\" hız sınırı ailesindedir. `Idempotency-Key` önerilir: başlık sahip servise de\niletilir, ağ hatasından sonraki tekrar ikinci bir rotasyon yapmaz.",
        "operationId": "rotateSigningKeys",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SigningKeyRotateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SigningKeyRotation"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "501": {
            "$ref": "#/components/responses/E501"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/signing-keys:rotate",
        "tags": [
          "signing-keys"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "signing-keys:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/sms-provider": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "getSmsProvider",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/sms-provider",
        "tags": [
          "sms-provider"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "sms-provider:read"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "putSmsProvider",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/sms-provider",
        "tags": [
          "sms-provider"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "sms-provider:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/sms-provider:test": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "testSmsProvider",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/sms-provider:test",
        "tags": [
          "sms-provider"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "sms-provider:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/sms-templates/{family}/{locale}": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "getSmsTemplate",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_family"
          },
          {
            "$ref": "#/components/parameters/path_locale"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/sms-templates/{family}/{locale}",
        "tags": [
          "sms-templates"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "sms-templates:read"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "putSmsTemplate",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_family"
          },
          {
            "$ref": "#/components/parameters/path_locale"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/sms-templates/{family}/{locale}",
        "tags": [
          "sms-templates"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "sms-templates:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/sms-templates/{family}/{locale}:publish": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "publishSmsTemplate",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_family"
          },
          {
            "$ref": "#/components/parameters/path_locale"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/sms-templates/{family}/{locale}:publish",
        "tags": [
          "sms-templates"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "sms-templates:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/sms-templates/{family}/{locale}:rollback": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "rollbackSmsTemplate",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_family"
          },
          {
            "$ref": "#/components/parameters/path_locale"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/sms-templates/{family}/{locale}:rollback",
        "tags": [
          "sms-templates"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "sms-templates:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/support-access-grants": {
      "get": {
        "description": "Ortamın platform destek erişim izinlerini\nimleçli listeler; sıralama her zaman yeniden eskiye, yalnız ileri sayfalama (`after`) vardır (`before` ve `desc`\ndışı `order` `422`). `status` süzgeci `active`, `revoked` ya da `expired`'dır; `expired` iptal edilmemiş ve\n`expires_at` anı geçmiş izindir.",
        "operationId": "listSupportAccessGrants",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/SupportAccessGrantStatus"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupportAccessGrantList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/support-access-grants",
        "tags": [
          "support-access-grants"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "List the support access grants this environment gave to KeenAuth support staff (sag_...), newest first: scope, status (active, revoked, expired), expiry, ticket reference and allowed staff regions. Read-only.",
          "destructive": false,
          "read_only": true,
          "tool": "support_access_grants_list"
        },
        "x-idp-permissions": [
          "support-access-grants:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "KeenAuth destek personeline bu ortam için süreli erişim izni verir. `scope` `read` (yalnız okuma) ya da\n`read_write_config` (yapılandırma yazma; kullanıcı verisi yazımı yoktur), `duration_hours` 1–72 saat,\n`ticket_ref` destek talebi başvurusudur (1–200 yazdırılabilir ASCII karakter, başta ve sonda boşluk yok).\n`allowed_regions_of_staff` (`eu`, `us`) erişimi yalnız o bölgelerde konumlu personele sınırlar; yalnız\nEnterprise planında (`403 plan_feature_unavailable`). İzin yalnız panodan, `owner` ya da `admin` rolüyle ve son\n300 saniye içinde adım yükseltmeyle verilir; API anahtarı ve makine istemcisi `403\ninsufficient_permissions` alır. Personelin izni kullanması ve her erişimi yönetim audit'ine yazılır;\n`support_access_grant.created` olayı yayımlanır. `Idempotency-Key` isteğe bağlıdır.",
        "operationId": "createSupportAccessGrant",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupportAccessGrantCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupportAccessGrant"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/support-access-grants",
        "tags": [
          "support-access-grants"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "support-access-grants:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/support-access-grants/{grant_id}": {
      "delete": {
        "description": "Destek erişim iznini süresi dolmadan iptal eder: `revoked_at` yazılır, personelin bu izne dayanan erişimi biter ve\n`support_access_grant.revoked` olayı yayımlanır. Kayıt silinmez (audit). Zaten iptal edilmiş ya da süresi dolmuş\nizinde değişiklik yapılmaz ve yine `204` döner. Yalnız panodan, `owner` ya da `admin` rolüyle ve son 300\nsaniye içinde adım yükseltmeyle; API anahtarı ve makine istemcisi `403 insufficient_permissions` alır.",
        "operationId": "deleteSupportAccessGrant",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_grant_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/support-access-grants/{grant_id}",
        "tags": [
          "support-access-grants"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "support-access-grants:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Bir destek erişim iznini döndürür. Biçimsiz ya da başka ortamın kimliği `404 not_found` döner.",
        "operationId": "getSupportAccessGrant",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_grant_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupportAccessGrant"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/support-access-grants/{grant_id}",
        "tags": [
          "support-access-grants"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "Get one support access grant by id (sag_...): scope, status, expiry, revocation time, ticket reference and allowed staff regions. Read-only.",
          "destructive": false,
          "read_only": true,
          "tool": "support_access_grants_get"
        },
        "x-idp-permissions": [
          "support-access-grants:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/support-artifacts": {
      "post": {
        "description": "Destek talebine HAR ya da log eki yükler. Ek yüklemenin tek yolu pano \"Destek\"\nsayfasıdır: API anahtarı ve yönetim istemcisi izin taşısa bile `403 insufficient_permissions` alır. Gövde ham ektir\n(`application/octet-stream`); `Content-Encoding: gzip` kabul edilir (tel üzerinde en çok 11 MiB, açılmış ek en\nçok 50 MB; aşımda `413`). Pano eki tarayıcıda temizleyip gönderir; sunucu eki ikinci kez tarar: `Cookie`,\n`Set-Cookie`, `Authorization`, `DPoP` başlıkları, OAuth/OIDC/SAML token alanları, `__Host-` çerezleri, JWT'ler ve\nKeenAuth önekli sırlar `[redacted]` olur. Bulunan yönetim API anahtarı (`idp_sk_`, `idp_rk_`) sızıntı akışıyla\nhemen iptal edilir; iptal edilemezse ek saklanmaz (`503`, yeniden deneyin). Yalnız temizlenmiş içerik\nortamın veri anahtarıyla şifreli saklanır ve 30 gün sonra silinir. `kind=har` gövdesi HAR belgesi değilse `422`\n(`/body` `invalid_har`). Bilet başına en çok 10 ek (`403 quota_exceeded`). Yanıt içerik ve değer taşımaz; bulgular\nyalnız tür ve sayıdır. `Idempotency-Key` isteğe bağlıdır.",
        "operationId": "createSupportArtifact",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "description": "Destek talebi başvurusu (1–64 karakter: harf, rakam, `_ . : -`; ilk karakter harf ya da rakam).",
            "in": "query",
            "name": "ticket_ref",
            "required": true,
            "schema": {
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$",
              "type": "string"
            }
          },
          {
            "description": "`har` (HAR 1.2 JSON belgesi) ya da `log` (düz metin).",
            "in": "query",
            "name": "kind",
            "required": true,
            "schema": {
              "enum": [
                "har",
                "log"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "description": "Ek; en çok 50 MB (gzip ile sıkıştırılmışsa tel üzerinde en çok 11 MiB).",
                "format": "binary",
                "type": "string"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupportArtifact"
                }
              }
            },
            "description": "Temizlendi ve saklandı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/support-artifacts",
        "tags": [
          "support-artifacts"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "support-artifacts:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/token-exchange-policies": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "listTokenExchangePolicies",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CursorList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/token-exchange-policies",
        "tags": [
          "token-exchange-policies"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "applications:write"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "createTokenExchangePolicy",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/token-exchange-policies",
        "tags": [
          "token-exchange-policies"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "applications:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/token-exchange-policies/{policy_id}": {
      "delete": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "deleteTokenExchangePolicy",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_policy_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/token-exchange-policies/{policy_id}",
        "tags": [
          "token-exchange-policies"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "applications:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "getTokenExchangePolicy",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_policy_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/token-exchange-policies/{policy_id}",
        "tags": [
          "token-exchange-policies"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "applications:write"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "updateTokenExchangePolicy",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_policy_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/token-exchange-policies/{policy_id}",
        "tags": [
          "token-exchange-policies"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "applications:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/usage": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "getUsage",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/usage",
        "tags": [
          "usage"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "usage:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users": {
      "get": {
        "description": "Kişisel veri içermeyen süzgeçlerle kullanıcıları imleçli listeler (`created_at` ve kimlik sırasıyla). E-posta, telefon, ad ve kullanıcı adı süzgeçleri bu uçta yoktur; bunlar için `POST /v1/users:search` kullanılır. Toplam sayı döndürülmez. Kimlik bilgisi `users:read_pii` iznini taşımıyorsa yanıttaki kişisel veri maskelenir: `email` `a***@e***.com` biçiminde, `phone_number` son 2 hane dışında `*`, `name`, `given_name`, `family_name`, `middle_name` ve `nickname` baş harfler, `username` ilk karakter ve `***`, `birthdate` `****-**-**`, `address` `{\"redacted\": true}` olur; `user_metadata` ve `app_metadata` maskelenmez.",
        "operationId": "listUsers",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          },
          {
            "$ref": "#/components/parameters/UserStatusFilter"
          },
          {
            "$ref": "#/components/parameters/UserExternalIdFilter"
          },
          {
            "$ref": "#/components/parameters/UserCreatedAfter"
          },
          {
            "$ref": "#/components/parameters/UserCreatedBefore"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/users",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "List users in the environment (cursor pagination; filters: status, external_id, created_after, created_before). PII fields (email, phone, names) are masked in the result.",
          "destructive": false,
          "read_only": true,
          "tool": "users_list"
        },
        "x-idp-permissions": [
          "users:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Ortamda yeni bir kullanıcı oluşturur. E-posta, telefon numarası ya da kullanıcı adından en az biri gerekir. Kullanıcı ortama bağlıdır; aynı e-posta iki ortamda iki ayrı kullanıcıdır. Yanıt `ETag` başlığında kullanıcı sürümünü taşır.",
        "operationId": "createUser",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}": {
      "delete": {
        "description": "Kullanıcının silinmesini başlatır. Kullanıcı hemen `pending_deletion` durumuna geçer ve silme vadesi şimdidir; kalıcı silme asenkron yürür. Yanıt `202` ve `deletion_id` döner; aynı kullanıcıya tekrarlanan istek aynı kimliği döndürür. Silme iptal penceresi tanınmaz.",
        "operationId": "deleteUser",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDeletion"
                }
              }
            },
            "description": "Kabul edildi; silme asenkron yürür.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/users/{user_id}",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:delete"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Returns a user. The response carries the user version in the `ETag` header. A user that belongs to another environment, does not exist, or has been deleted returns `404`. With `include=deleted`, a deleted user returns `410` with `deleted_at`, `deletion_id`, `backups_purged_by` and, for a merged user, `merged_into`. Without the `users:read_pii` permission the credential receives masked personal data: `email` as `a***@e***.com`, `phone_number` with every digit but the last 2 replaced by `*`, `name`, `given_name`, `family_name`, `middle_name` and `nickname` as initials, `username` as its first character and `***`, `birthdate` as `****-**-**`, `address` as `{\"redacted\": true}`; `user_metadata` and `app_metadata` are not masked.",
        "operationId": "getUser",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "description": "Set to `deleted` to get a tombstone (`410`) instead of `404` when the user has been deleted.",
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "enum": [
                "deleted"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/users/{user_id}",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "Get one user by id (usr_...). PII fields (email, phone, names) are masked in the result.",
          "destructive": false,
          "read_only": true,
          "tool": "users_get"
        },
        "x-idp-permissions": [
          "users:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "Kullanıcıyı JSON merge-patch (RFC 7396) ile günceller. Metin alanları `null` ya da boş dizeyle temizlenir; `email_verified` ve `phone_verified` temizlenemez; `address` verilirse bütünüyle değişir; `user_metadata` ve `app_metadata` anahtar anahtar birleşir (`null` anahtarı siler); üyenin kendisi `null` verilirse tüm meta veri silinir ve `{}` olur. `If-Match` isteğe bağlıdır: verilirse kullanıcı sürümüyle eşleşmelidir. Durum bu uçtan değişmez; engellemek için `:block` kullanılır. Silinmekte olan kullanıcı güncellenemez.",
        "operationId": "updateUser",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/UserUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/users/{user_id}",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/authenticators": {
      "get": {
        "description": "Kullanıcının doğrulayıcılarının (passkey, TOTP, SMS, e-posta ve push faktörleri) üst verisini tek sayfada listeler; son 90 gündeki iptal edilmiş kayıtlar dahildir, oluşturma zamanına göre sıralıdır. Kullanıcı başına doğrulayıcı sayısı sınırlı olduğundan liste imleçsizdir: `limit`, `after`, `before`, `order` yoktur ve `list_metadata` her zaman `null` döner. Açık anahtar, kimlik bilgisi kimliği, TOTP sırrı ve kurtarma kodu hiçbir durumda dönmez. Kullanıcı bu ortamda yoksa 404 döner. Kimlik bilgisi `users:read_pii` iznini taşımıyorsa `label` baş harflere indirilir. Org kapsamı: `org_id` verilirse kimlik bilgisi ek olarak `organizations:read` iznini taşımalıdır (yoksa `403 insufficient_permissions`, directory ve authn'e gidilmez); kullanıcı o org'un üyesi değilse (`invited`, `active` ya da `suspended` üyeliği yoksa) `404 not_found` döner. Üyeyse yalnız sınıf ve \"MFA kayıtlı mı\" bilgisi döner: yalnız etkin doğrulayıcılar listelenir; `label`, `last_used_at`, `revoked_at`, `revoked_by`, `revoke_reason` `null`, `synced` `false` yazılır (kişinin cihaz bilgisi org'a ait değildir). MFA kaydı `role` `second_factor` ya da `both` olan bir etkin doğrulayıcıdır.",
        "operationId": "listUserAuthenticators",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/UserOrgScope"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserAuthenticatorList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/users/{user_id}/authenticators",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/authenticators/{authenticator_id}": {
      "delete": {
        "description": "Tek doğrulayıcıyı (passkey dahil) iptal eder; `revoked_by` `admin:<aktör>`, `revoke_reason` `admin_removed` olur. Doğrulayıcı zaten iptal edilmişse değişiklik yapmaz ve yine 204 döner. Kullanıcının oturumları kapatılmaz. Kullanıcı ya da doğrulayıcı bu ortamda yoksa (doğrulayıcı bu kullanıcıya ait değilse) 404 döner. Yönetim audit kaydı yazılır ve kullanıcıya güvenlik bildirimi gider.",
        "operationId": "deleteUserAuthenticator",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/path_authenticator_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/users/{user_id}/authenticators/{authenticator_id}",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "user-credentials:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/authenticators/{authenticator_id}:reactivate": {
      "post": {
        "description": "`clone_suspected` durumundaki doğrulayıcıyı (passkey sayaç anomalisi) yönetici kararıyla `active` durumuna döndürür; sayaç gelen son değere eşitlenir ve audit kaydı yazılır. Doğrulayıcı `clone_suspected` değilse 409 döner. Gövde yoktur; yanıt güncel doğrulayıcıdır.",
        "operationId": "reactivateUserAuthenticator",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/path_authenticator_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserAuthenticator"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}/authenticators/{authenticator_id}:reactivate",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "user-credentials:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/authenticators:reset": {
      "post": {
        "description": "Kullanıcının tüm ikinci faktörlerini iptal eder ve kurtarma kodlarını siler; kullanıcı sonraki girişte faktörü yeniden kaydeder. `include_passkeys` verilmezse `true` kabul edilir; `false` ise passkey'ler (`both` rollü olanlar dahil) korunur. Adımlar en iyi çabayla koşar ve yinelenebilir; bildirim hatası çağrıyı düşürmez (`notified`). Yanıt sayıları taşır, kod ya da sır taşımaz. Bildirim dili `locale` ile verilebilir; boşsa kullanıcının ya da ortamın dili kullanılır.",
        "operationId": "resetUserAuthenticators",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetUserAuthenticatorsRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResetUserAuthenticatorsResponse"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}/authenticators:reset",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "user-credentials:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/connected-accounts": {
      "get": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "listUserConnectedAccounts",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CursorList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/users/{user_id}/connected-accounts",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/connected-accounts/{connected_account_id}": {
      "delete": {
        "description": "İskelet işlem; davranış plan satırındadır.",
        "operationId": "deleteUserConnectedAccount",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/path_connected_account_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/users/{user_id}/connected-accounts/{connected_account_id}",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/consent-records": {
      "get": {
        "description": "Kullanıcının hukuki belge rıza kayıtlarını imleçli listeler; sıralama her\nzaman `occurred_at` azalandır, yalnız ileri sayfalama (`after`) vardır. Biçimsiz kullanıcı kimliği `404 not_found`\ndöner; kaydı olmayan ya da ortamda bulunmayan kullanıcı boş liste alır. Kayıtlar IP, user-agent ya da oturum\nbilgisi taşımaz (kanıt aynı `occurred_at` anındaki ortam logundadır).",
        "operationId": "listUserConsentRecords",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsentRecordList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/users/{user_id}/consent-records",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "consent-records:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Müşterinin kendi kanalında aldığı belge kabulünü kaydeder. Konu yalnız\nhukuki belgedir (`subject_type = document`; rıza amaçları GA+1); `state` `presented`, `accepted` ya da `declined`\nolur. Sürüm, içerik özeti ve dil belgeden alınır, istemci veremez. `occurred_at` verilmezse sunucu anıdır;\nverilirse gelecekte ya da 5 dakikadan eski olamaz (eski kayıtların göçü `POST /v1/jobs/consent-imports` işidir).\nKayıt salt eklemelidir: güncellenmez ve silinmez. Kullanıcı ya da `application_id` ortamda yoksa `404 not_found`;\n`resource` uzantısı eksik olanı söyler (`user` ya da `application`). Belge yoksa `422` (`/subject_id`, kod\n`unknown_subject`).",
        "operationId": "createUserConsentRecord",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConsentRecordCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsentRecord"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}/consent-records",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "consent-records:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/consents": {
      "get": {
        "description": "Kullanıcının uygulamalara verdiği etkin OAuth onaylarını en yeni verilen önce imleçli listeler; geri alınmış ve yerine yenisi geçmiş onaylar gelmez. Yalnız ileri sayfalama vardır (`before` ve `order=asc` 422). İmleç kullanıcıya bağlıdır. Kullanıcı bu ortamda yoksa 404 döner. Gösterilen onay metninin özeti dönmez; toplam sayı döndürülmez.",
        "operationId": "listUserConsents",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserConsentList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/users/{user_id}/consents",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/consents/{consent_id}": {
      "delete": {
        "description": "Kullanıcının bir uygulamaya verdiği OAuth onayını geri alır: kullanıcının o uygulamadaki refresh token aileleri iptal edilir, onaydan önce verilmiş access token'lar artık kabul edilmez ve uygulamanın sonraki token isteği onayı yeniden ister. Onay yoksa, bu kullanıcının değilse ya da zaten geri alınmışsa 404 döner. Geri alma yönetim audit'ine `consent.revoked` olarak yazılır.",
        "operationId": "deleteUserConsent",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/path_consent_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/users/{user_id}/consents/{consent_id}",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/effective-permissions": {
      "get": {
        "description": "Kullanıcının hesaplanmış etkin izinlerini döndürür (destek ve hata ayıklama): doğrudan ortam rollerinden ve `org_id`\nverilirse o org'daki etkin (`active`) üyeliğinin rollerinden gelen izinler, her izin için onu veren roller (`role_ids`).\n`api_id` sonucu bir API'ye daraltır (bilinmeyen API boş liste verir); silinmiş API'lerin izinleri dahil değildir.\nBilinmeyen kullanıcı ya da bu ortamda olmayan `org_id` `404`'tür. Liste sayfalanmaz (API'ye, sonra izin değerine göre\nsıralı).",
        "operationId": "getUserEffectivePermissions",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/EffectivePermissionsOrgId"
          },
          {
            "$ref": "#/components/parameters/EffectivePermissionsApiId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EffectivePermissionList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/users/{user_id}/effective-permissions",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/emails": {
      "get": {
        "description": "Kullanıcının bütün e-posta adreslerini döndürür: önce birincil, sonra oluşturma sırası. Kullanıcı başına en çok 10 adres (birincil dahil) olduğundan liste imleçsizdir: `limit`, `after`, `before`, `order` yoktur ve `list_metadata` her zaman `null` değerlidir. Kimlik bilgisi `users:read_pii` iznini taşımıyorsa adresler maskeli döner. Kullanıcı bu ortamda yoksa, silinmekteyse ya da biçimsizse 404 döner.",
        "operationId": "listUserEmails",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserEmailList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/users/{user_id}/emails",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Kullanıcıya birincil olmayan, doğrulanmamış bir ek e-posta adresi ekler (`201`, `UserEmail`). Adres normalleştirilir (büyük-küçük harf ve boşluk farkı aynı adrestir). Aynı adres kullanıcıda zaten varsa yeni satır yazılmaz ve mevcut satır döner (doğrulanmış ya da birincil olabilir). Başka bir kullanıcıda doğrulanmış adres `409 conflict` (`errors[]`: `/email`, `email_taken`), kullanıcı başına 10 adres sınırı doluysa `409 email_limit_reached` döner. Yeni satır `user.email_added` yönetim audit kaydı alır (aktör isteğin anahtarı; adres kayda yazılmaz). Doğrulama için `POST /v1/users/{user_id}/emails/{email_id}:send-verification` ya da `:verify` kullanılır.",
        "operationId": "addUserEmail",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserEmailCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserEmail"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}/emails",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/emails/{email_id}": {
      "delete": {
        "description": "Kullanıcının birincil olmayan bir e-posta adresini siler. Birincil adres silinemez (`409 primary_identifier_required`; önce başka bir doğrulanmış adres birincil yapılır); ortam e-postayı zorunlu tutarken son doğrulanmış adres silinemez (`409 last_verified_channel`). Adres bu kullanıcının değilse, bilinmiyorsa ya da kimlik biçimsizse `404` döner; aynı silme yinelenirse satır artık olmadığından yine `404` döner. Her silme `user.email_removed` yönetim audit kaydı alır; doğrulanmış adresin silinmesi `user.updated` olayını tetikler. Gövde alınmaz.",
        "operationId": "deleteUserEmail",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/path_email_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/users/{user_id}/emails/{email_id}",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/emails/{email_id}:send-verification": {
      "post": {
        "description": "Kullanıcının belirtilen e-posta satırına doğrulama e-postası gönderir. `email_id` dahili UUID biçimindedir (küçük harf, tireli). E-posta satırı bu kullanıcının değilse 404, e-posta zaten doğrulanmışsa 409 döner. Kullanıcıya gönderim sınırı aşılırsa 429 ve `Retry-After`. Yanıt doğrulama isteğinin son kullanma zamanını taşır; kod ya da bağlantı dönmez.",
        "operationId": "sendUserEmailVerification",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/path_email_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserLocaleRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserVerificationEmailSent"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}/emails/{email_id}:send-verification",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/emails/{email_id}:set-primary": {
      "post": {
        "description": "Kullanıcının doğrulanmış bir adresini birincil yapar; önceki birincil ek adres olarak kalır. Doğrulanmamış adres birincil yapılamaz (`409 primary_requires_verified`). Adres zaten birincilse hiçbir şey yazılmaz ve `200` döner. Değişiklik `user.primary_email_changed` yönetim audit kaydı ve `user.updated` olayı alır. Gövde yoktur (boş ya da `{}`). Yanıt güncel `UserEmail` nesnesidir.",
        "operationId": "setUserPrimaryEmail",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/path_email_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserEmail"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}/emails/{email_id}:set-primary",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/emails/{email_id}:verify": {
      "post": {
        "description": "Yöneticinin doğrulanmış işaretlemesidir: adres doğrulanmış olur ve doğrulama yöntemi `admin_api` saklanır (kullanıcıya kod ya da bağlantı gitmez; sahiplik kanıtı değildir). Adres zaten doğrulanmışsa hiçbir şey yazılmaz ve `200` döner. Aynı adresin başka hesaplardaki doğrulanmamış kopyaları silinir. Değişiklik `user.email_verified` yönetim audit kaydı (aktör isteğin anahtarı) ve `user.updated` olayı alır. Gövde yoktur (boş ya da `{}`). Yanıt güncel `UserEmail` nesnesidir.",
        "operationId": "verifyUserEmail",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/path_email_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserEmail"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}/emails/{email_id}:verify",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/identities": {
      "get": {
        "description": "Kullanıcının bağlı kimliklerini (parola, sosyal, SAML, OIDC ve legacy) tek sayfada, oluşturma zamanına göre sıralı listeler. Kullanıcı başına kimlik sayısı sınırlı olduğundan liste imleçsizdir: `limit`, `after`, `before`, `order` yoktur ve `list_metadata` her zaman `null` değerlidir. Kimliğin dış öznesi (OIDC `sub`, SAML NameID), IdP'nin bildirdiği e-posta ve kimlik bilgisi referansı hiçbir durumda dönmez. Passkey ve tek kullanımlık kod yöntemleri doğrulayıcıdır ve `GET /v1/users/{user_id}/authenticators` altında listelenir. Kullanıcı bu ortamda yoksa 404 döner.",
        "operationId": "listUserIdentities",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserIdentityList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/users/{user_id}/identities",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Federe bir kimliği (sosyal, SAML ya da OIDC bağlantısının dış öznesi) kullanıcıya bağlar; `linked_via` her zaman `admin_api` olur. Bağlantı bu ortamın, kimlik türüyle uyumlu etkin bağlantısı olmalıdır; değilse `422` (`errors[]`: `/connection_id`, `connection_unavailable`). Aynı kimlik bu ya da başka bir kullanıcıya zaten bağlıysa `409 conflict` (`errors[]`: `identity_already_linked`; sahibi söylenmez); kullanıcı başına kimlik sınırı doluysa `409 conflict` (`identity_limit_reached`). Dış özne kişisel veridir: hiçbir yanıtta ve audit kaydında dönmez. Bağlama, `user.identity_linked` yönetim audit kaydı (aktör isteğin anahtarı) ve olay tek işlemde yazılır. İki kullanıcıyı birleştirme (`source_user_id`) bu sürümde yoktur; bilinmeyen alan `400 unknown_field` döner. Yanıt yeni kimliktir (`201`, `UserIdentity`).",
        "operationId": "linkUserIdentity",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserIdentityLinkRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserIdentity"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}/identities",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/identities/{identity_id}": {
      "delete": {
        "description": "Kullanıcının bağlı bir kimliğini (parola, sosyal, SAML, OIDC ya da legacy) kaldırır. Kullanıcının üyesi olduğu bir org bu kimliğin bağlantısıyla SSO zorlasa da kaldırma yapılır: son kullanıcı bu kimliği hesap portalından kaldıramaz (`409 sso_enforced_by_organization`), müşteri bu uçla kaldırır. Kullanıcının son birinci faktör yöntemi kaldırılamaz (`409 last_login_method`). Kullanıcı bu ortamda yoksa, kimlik bu kullanıcının değilse ya da bilinmiyorsa aynı `404 not_found` döner; biçimsiz kullanıcı ya da `idn_` kimliği de 404'tür. Kaldırma, `user.identity_unlinked` yönetim audit kaydı (aktör isteğin anahtarı) ve `user.identity_unlinked` olayı tek işlemde yazılır; kullanıcının doğrulanmış adreslerine bildirim gider. Gövde alınmaz.",
        "operationId": "unlinkUserIdentity",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/path_identity_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/users/{user_id}/identities/{identity_id}",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/logs": {
      "get": {
        "description": "Tek kullanıcının ortam loglarını imleçli listeler (pano \"Kullanıcı → Etkinlik\" görünümü); süzgeçler `from`, `to`, `type` ve `org_id`, sıralama her zaman `occurred_at` azalandır. Kurallar `GET /v1/logs` ile aynıdır: saklama penceresi sunucuda uygulanır, pencere dışı `from` `400 range_outside_retention` döner. Biçimsiz kullanıcı kimliği `404 not_found` döner; kaydı olmayan kullanıcı boş liste alır. Org kapsamı: `org_id` verilirse kimlik bilgisi ek olarak `organizations:read` iznini taşımalıdır (yoksa `403 insufficient_permissions`); kullanıcı o org'un üyesi değilse (`invited`, `active` ya da `suspended` üyeliği yoksa) `404 not_found` döner; üyeyse yalnız o org bağlamında gerçekleşmiş (`org_id`'si o org olan) kayıtlar döner, kullanıcının org dışı ya da başka org bağlamındaki kayıtları dönmez. Görünürlük: `ip`, `ip_asn`, `user_agent` ve `user_agent_family` yalnız kimlik bilgisi `audit-events:read_ip` iznini taşıyorsa, `identifier_hint` yalnız `users:read_pii` iznini taşıyorsa yanıtta bulunur; izin yoksa alan hiç yazılmaz (maskeli değer dönmez). `ip_country` her zaman döner.",
        "operationId": "listUserLogs",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/LogFrom"
          },
          {
            "$ref": "#/components/parameters/LogTo"
          },
          {
            "$ref": "#/components/parameters/LogType"
          },
          {
            "$ref": "#/components/parameters/LogOrgId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LogList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/users/{user_id}/logs",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "logs:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/memberships": {
      "get": {
        "description": "Kullanıcının org üyeliklerini org kimliği sırasıyla (artan) imleçli listeler; yalnız ileri sayfalama vardır (`before`\nve `asc` dışı `order` `422`). Kaldırılmış üyelikler tavansız biriktiği için liste sayfalıdır.\n`status` verilmezse `invited`, `active` ve `suspended` döner; kaldırılmış üyelikler yalnız `status=removed` ile. İmleç\nkullanıcıya ve `status` süzgecine bağlıdır; başka listenin imleci `400 invalid_cursor`'dır. Bilinmeyen kullanıcı\n`404`'tür.",
        "operationId": "listUserMemberships",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/MembershipStatusFilter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMembershipList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/users/{user_id}/memberships",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/roles": {
      "get": {
        "description": "Kullanıcının doğrudan ortam rollerini döndürür (org üyeliği rolleri dahil değildir; onlar için\n`GET /v1/organizations/{org_id}/memberships/{membership_id}`). Bilinmeyen kullanıcı `404`.",
        "operationId": "getUserRoles",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserRoles"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/users/{user_id}/roles",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:read"
        ],
        "x-idp-stability": "beta"
      },
      "put": {
        "description": "Kullanıcının doğrudan ortam rollerini tam küme olarak değiştirir (`role_ids`, en çok 50; boş dizi hepsini kaldırır).\nOrg rolü doğrudan atanamaz (`403 role_not_assignable`; org rolleri üyelik üzerinden atanır), bilinmeyen rol\n`422 unknown_role`. Aynı küme tekrar yazılırsa değişiklik ve olay yazılmaz. Değişiklik refresh ailelerine\n`roles_changed` işareti koyar ve yönetim audit'ine `user.updated` (`change=roles`) olarak düşer.\nKümede ayrıcalıklı (`is_privileged`) rol varsa (yeni eklenen ya da korunan) `users:write`'a ek olarak `roles:write` gerekir; yoksa `403 insufficient_permissions` (`required_permissions`: iki izin) ve yazma olmaz. Ayrıcalıklı rolü kümeden çıkarmak yalnız `users:write` ister.",
        "operationId": "setUserRoles",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserRoles"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserRoles"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PUT /v1/users/{user_id}/roles",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/sessions": {
      "get": {
        "description": "Kullanıcının oturumlarını tek sayfada listeler: son görülme zamanına göre yeniden eskiye, en çok 1.000. Liste imleçsizdir: `limit`, `after`, `before`, `order` yoktur ve `list_metadata` her zaman `null` değerlidir. Varsayılan yalnız etkin oturumlardır; `include_inactive=true` süresi dolmuş ve iptal edilmiş oturumları da (saklama süresi içinde) getirir. Kullanıcı bu ortamda yoksa 404 döner. Tam IP adresi görünür ve her görüntüleme yönetim audit'ine yazılır. Çerez, token ya da cihaz parmak izi dönmez. Org kapsamı: `org_id` verilirse kimlik bilgisi ek olarak `organizations:read` iznini taşımalıdır (yoksa `403 insufficient_permissions`); kullanıcı o org'un üyesi değilse `404 not_found` döner; üyeyse yalnız o org'un politikasıyla açılmış (`org_id`'si o org olan) oturumlar döner, kullanıcının başka org bağlamındaki ya da org'suz oturumları dönmez; `ip_address` ve `user_agent` `null` yazılır.",
        "operationId": "listUserSessions",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/UserOrgScope"
          },
          {
            "description": "`true` ise süresi dolmuş ve iptal edilmiş oturumlar da döner.",
            "in": "query",
            "name": "include_inactive",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/users/{user_id}/sessions",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "sessions:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/sessions:revoke": {
      "post": {
        "description": "Kullanıcının oturumlarını ve bağlı refresh token ailelerini iptal eder. Gövdesiz ya da boş gövde kullanıcının tüm oturumlarını kapatır. En çok bir süzgeç verilir: `session_id` yalnız o oturumu (kullanıcının değilse 404), `org_id` o org bağlamındaki oturumları ve org aileleri, `client_id` (`app_…`) yalnız o uygulamanın bu kullanıcıdaki refresh ailelerini (oturumlar açık kalır) iptal eder. Bu ortamda olmayan `org_id` ya da `client_id` 422 döner. Zaten iptal edilmiş oturumlar sayılmaz; tekrar çağrı başarıdır. İptal yönetim audit'ine yazılır.",
        "operationId": "revokeUserSessions",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeUserSessionsRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevokeUserSessionsResponse"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}/sessions:revoke",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "sessions:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}/sign-in-state": {
      "get": {
        "description": "Kullanıcının giriş durumunu döner: açık ve süresi dolmamış hesap kilitleri (yol başına en çok bir; `locked`, en geç biten kilidin `locked_until` değeri), penceresi sürmekte olan yol başına başarısızlık sayaçları (son başarıdan ya da son kilitten beri) ve saklamadaki oturumlardan son başarılı kimlik doğrulama (`authenticated_at`, `amr`, oturumun son bilinen ülkesi). Saklamada oturum yoksa (hiç giriş yok ya da son oturum 30 günden önce bitti) `last_sign_in` `null` döner. Salt okumadır; kilit kaldırma `POST /v1/users/{user_id}:unlock` ile yapılır. Yanıt sayaç öznesi, adres, IP, cihaz ya da oturum kimliği taşımaz. Kullanıcı bu ortamda yoksa `404`. Org kapsamı: `org_id` verilirse kimlik bilgisi ek olarak `organizations:read` iznini taşımalıdır (yoksa `403 insufficient_permissions`); kullanıcı o org'un üyesi değilse `404 not_found` döner; üyeyse `last_sign_in` yalnız o org bağlamındaki oturumlardan gelir, başarısızlık sayaçları hiçbir org'a atfedilmediğinden `failures` her zaman boş dizidir; kilitler hesabın her bağlamdaki girişini durdurduğu için döner.",
        "operationId": "getUserSignInState",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/UserOrgScope"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserSignInState"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/users/{user_id}/sign-in-state",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}:block": {
      "post": {
        "description": "Kullanıcıyı müşteri engeliyle (`source = admin_api`) engeller; durum `blocked` olur. Zaten engelliyse işlem değişiklik yapmadan başarılıdır. Silinmekte olan kullanıcı engellenemez. Oturumların iptali asenkron yürür.",
        "operationId": "blockUser",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserBlockRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}:block",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}:cancel-deletion": {
      "post": {
        "description": "Bekleme süresindeki silmeyi iptal eder. Açık bir engel varsa kullanıcı `blocked`, yoksa `active` olur. Silinmekte olmayan kullanıcıda etkisizdir ve kullanıcıyı döndürür. Silme vadesi geldiyse silme düzenleyicinindir ve `409` (`conflict=deletion_due`) döner. Gövde alınmaz.",
        "operationId": "cancelUserDeletion",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}:cancel-deletion",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}:export": {
      "post": {
        "description": "Kullanıcının kişisel verisinin dışa aktarma işini başlatır. Yanıt `202` ile iş nesnesidir; durum `GET /v1/jobs/user-exports/{job_id}` ile izlenir, tamamlanan paket `GET /v1/jobs/user-exports/{job_id}/download` ile indirilir. Paket bir ZIP dosyasıdır: `manifest.json` (dosya başına SHA-256 ve kayıt sayısı), profil, e-posta ve telefonlar, `user_metadata` ve `app_metadata`, bağlı kimlikler, doğrulayıcılar, oturumlar, organizasyon üyelikleri, OAuth onayları, rıza kayıtları ve kimlik doğrulama olayları (`auth_events.ndjson`). Parola özeti, TOTP tohumu, kurtarma kodları, oturum token'ları ve ham SAML/ID token pakete girmez. Paket 7 gün saklanır. Oturum ve olay IP adresleri yalnız `include_ip: true` ile girer ve bu `audit-events:read_ip` iznini de ister (yoksa `403 insufficient_permissions`). Ortamda aynı anda en çok 20 iş kuyrukta ya da çalışır durumda olabilir; aşımda `429 rate_limited` ve `Retry-After`. `Idempotency-Key` isteğe bağlıdır: aynı kimlik bilgisi ve aynı anahtar aynı işi döndürür (`Idempotent-Replayed: true`), aynı anahtar başka bir istekle `422 idempotency_key_reuse` döner. Kullanıcı bu ortamda yoksa ya da kimlik biçimsizse `404`. Son kullanıcıya e-posta gönderilmez; paket yönetim API'si dışa aktarmasında müşterinin sorumluluğundadır.",
        "operationId": "exportUser",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserExportCreateRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserExportJob"
                }
              }
            },
            "description": "Kabul edildi; paket arka planda üretilir.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}:export",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:export"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}:force-password-reset": {
      "post": {
        "description": "Kullanıcının parolasını sıfırlamaya zorlar: kullanıcı sonraki başarılı parola girişinde yeni parola belirlemeden devam edemez (`password_reset_required`). Parola özeti silinmez. Kullanıcının parolası yoksa `409` döner. Kullanıcı bu ortamda yoksa (başka ortamın kullanıcısı dahil) `404` döner. Gövde alınmaz (boş gövde ya da `{}`). Tekrarlanabilir: işaret zaten varsa ilk işaretin zamanı korunur. Yönetim audit'ine `user.password_reset_forced` yazılır ve müşteri olayı `password_reset.scheduled` üretilir. `user-credentials:write` izni gerekir; pano kullanıcısı için adım yükseltme ister.",
        "operationId": "forceUserPasswordReset",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "204": {
            "description": "İşaret kondu; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}:force-password-reset",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "user-credentials:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}:impersonate": {
      "post": {
        "description": "İskelet işlem; davranış plan satırındadır. Not: izin planda yazılmamış",
        "operationId": "impersonateUser",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkeletonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkeletonObject"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}:impersonate",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:impersonate"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}:send-password-reset": {
      "post": {
        "description": "Kullanıcının birincil e-postasına parola sıfırlama bağlantısını gönderir (bağlantı ömrü 24 saat). Adres istekte verilmez; bağlantı yanıtta dönmez. Birincil e-posta yoksa ya da doğrulanmamışsa 409 döner; kullanıcıya gönderim sınırı aşılırsa 429 ve `Retry-After`. Gövde isteğe bağlıdır: `locale` e-posta dilini seçer, boşsa kullanıcının ya da ortamın dili kullanılır.",
        "operationId": "sendUserPasswordReset",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserLocaleRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}:send-password-reset",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "user-credentials:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}:send-verification-email": {
      "post": {
        "description": "Kullanıcının birincil e-postasına doğrulama e-postası gönderir. E-posta zaten doğrulanmışsa ya da birincil e-posta yoksa 409 döner. Kullanıcıya gönderim sınırı aşılırsa 429 ve `Retry-After`. Yanıt doğrulama isteğinin son kullanma zamanını taşır; kod ya da bağlantı dönmez. Belirli bir e-posta satırı için `/v1/users/{user_id}/emails/{email_id}:send-verification` kullanılır.",
        "operationId": "sendUserVerificationEmail",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserLocaleRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserVerificationEmailSent"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}:send-verification-email",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "user-credentials:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}:start-recovery": {
      "post": {
        "description": "Beklemesiz hesap kurtarma bağlantısını kullanıcının birincil e-postasına gönderir (ömür 24 saat); `admin_only` kipin yoludur. İstek doğrudan `ready` açılır, açık bir kurtarma isteği aynı işlemde değiştirilir (`superseded`). Ortamda hesap kurtarma `disabled` ise ya da birincil e-posta yoksa 409 döner. Bağlantı yanıtta dönmez; yanıt isteğin kimliğini ve son kullanma zamanını taşır.",
        "operationId": "startUserRecovery",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserLocaleRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartUserRecoveryResponse"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}:start-recovery",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "user-credentials:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}:unblock": {
      "post": {
        "description": "Müşteri engellerini kaldırır. Platform ya da dizin tarafından konmuş bir engel açıksa kullanıcı `blocked` durumunda kalır. Gövde alınmaz.",
        "operationId": "unblockUser",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}:unblock",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "users:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users/{user_id}:unlock": {
      "post": {
        "description": "Kullanıcının bütün kimlik doğrulama yollarındaki açık ve süresi dolmamış kaba kuvvet kilitlerini kapatır: kilit `cleared_by = admin:<aktör>` ile kapanır, yolların sayaçları silinir, her kilit için `user.unlocked` olayı ve kilit kapandıysa tek yönetim audit kaydı (`user.unlocked`) yazılır. Kilidi olmayan kullanıcıda `unlocked: 0` döner ve hiçbir şey yazılmaz; işlem doğası gereği idempotenttir. Aktör yalnız doğrulanmış kimlik bilgisinden gelir. Kullanıcı yoksa `404`.",
        "operationId": "unlockUser",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_user_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserUnlockResult"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users/{user_id}:unlock",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "user-credentials:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/users:search": {
      "post": {
        "description": "Kişisel veri içeren süzgeçlerle (tam e-posta, E.164 telefon, kullanıcı adı, e-posta alan adı, meta veri eşitliği) kullanıcı arar; süzgeçler yalnız gövdede kabul edilir, sorgu dizisinde edilmez. Süzgeçler VE ile birleşir ve en az bir kimlik süzgeci gerekir. Arama çok geniş kalırsa `search_too_broad` döner. Sayfalama parametreleri sorgu dizisindedir (`limit`, `after`, `before`, `order`); bunlar kişisel veri taşımaz. Kimlik bilgisi `users:read_pii` iznini taşımıyorsa yanıttaki kişisel veri maskelenir: `email` `a***@e***.com` biçiminde, `phone_number` son 2 hane dışında `*`, `name`, `given_name`, `family_name`, `middle_name` ve `nickname` baş harfler, `username` ilk karakter ve `***`, `birthdate` `****-**-**`, `address` `{\"redacted\": true}` olur; `user_metadata` ve `app_metadata` maskelenmez. Bu izni taşımayan kimlik bilgisi de kişisel veri süzgeçleriyle (tam eşleşme) arayabilir; sonuç maskeli döner.",
        "operationId": "searchUsers",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserSearchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/users:search",
        "tags": [
          "users"
        ],
        "x-idp-audience": "public",
        "x-idp-mcp": {
          "description": "Search users by exact email, E.164 phone, username, email domain or metadata equality (at least one identity filter required). Read-only; PII in the result is masked.",
          "destructive": false,
          "read_only": true,
          "tool": "users_search"
        },
        "x-idp-permissions": [
          "users:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/webhook-endpoints": {
      "get": {
        "description": "Ortamın web kancası uçlarını imleçli sayfalarla döndürür; varsayılan sıra yeniden eskiye, `order=asc`\neskiden yeniye. Yanıt imza sırrı taşımaz. Plan kapısı yoktur; ortam başına etkin uç sınırı: Free 3 · Startup 20 · Business 20 · Enterprise 50.",
        "operationId": "listWebhookEndpoints",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookEndpointList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/webhook-endpoints",
        "tags": [
          "webhook-endpoints"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "webhook-endpoints:read"
        ],
        "x-idp-stability": "beta"
      },
      "post": {
        "description": "Ortama bir web kancası ucu ekler. `url` zorunludur: yalnız `https`, port yok ya da 443, kullanıcı bilgisi\nve parça yok, IP değişmezi yok, en çok 2.048 karakter (`422 /url invalid_webhook_url`). `event_types` boşsa yüksek hacimli\ntürler dışındaki bütün katalog türleri seçilir. Yanıt `idp_whsec_` önekli imza sırrını (`signing_secret`) yalnız bir kez\ntaşır (`Cache-Control: no-store`); `Idempotency-Key` tekrarında sır dönmez, `secret_redacted: true` döner. Ortam başına etkin uç sınırı: Free 3 · Startup 20 · Business 20 · Enterprise 50.\nAşım ya da plan kodu bilinmeyen ortam `403 quota_exceeded`; `key` ortamda başka uçtaysa `409 conflict`.",
        "operationId": "createWebhookEndpoint",
        "parameters": [
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookEndpointCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookEndpointWithSecret"
                }
              }
            },
            "description": "Oluşturuldu.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/webhook-endpoints",
        "tags": [
          "webhook-endpoints"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "webhook-endpoints:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/webhook-endpoints/{endpoint_id}": {
      "delete": {
        "description": "Ucu siler; bekleyen ve yeniden denenen teslimleri aynı işlemde `cancelled` olur, teslim geçmişi saklama süresince (30 gün)\nkalır. `If-Match` zorunludur (`*` her sürümle eşleşir); okuma ile silme arasında değişen uç `412`'dir.",
        "operationId": "deleteWebhookEndpoint",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_endpoint_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "responses": {
          "204": {
            "description": "Başarılı; gövde yok.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "DELETE /v1/webhook-endpoints/{endpoint_id}",
        "tags": [
          "webhook-endpoints"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "webhook-endpoints:write"
        ],
        "x-idp-stability": "beta"
      },
      "get": {
        "description": "Tek web kancası ucunu döndürür; `ETag` uç sürümüdür ve güncelleme ile silmede `If-Match` değeridir. Başka ortamın ucu ve\nbiçimsiz kimlik `404 not_found`'dur. Yanıt imza sırrı taşımaz.",
        "operationId": "getWebhookEndpoint",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_endpoint_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookEndpoint"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/webhook-endpoints/{endpoint_id}",
        "tags": [
          "webhook-endpoints"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "webhook-endpoints:read"
        ],
        "x-idp-stability": "beta"
      },
      "patch": {
        "description": "Ucu JSON Merge Patch (RFC 7396) ile değiştirir; `If-Match` zorunludur (yoksa `428`, eşleşmezse `412`). `status` yalnız\n`enabled` ya da `disabled_by_user` yazılır; `enabled` etkin uç sınırına sayılır (aşım `403 quota_exceeded`) ve\n`failing_since`'i siler: kapanmış uç böyle yeniden açılır, kapalı dönemdeki olaylar `:replay` ile alınır. `null` yalnız\n`description` ve `event_schema_versions`'ı temizler; diğer alanlarda `422 invalid`. Değişiklik yoksa yazılmaz, sürüm artmaz.",
        "operationId": "updateWebhookEndpoint",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_endpoint_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IfMatchRequired"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookEndpointUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookEndpoint"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "428": {
            "$ref": "#/components/responses/E428"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "PATCH /v1/webhook-endpoints/{endpoint_id}",
        "tags": [
          "webhook-endpoints"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "webhook-endpoints:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/webhook-endpoints/{endpoint_id}/deliveries": {
      "get": {
        "description": "Ucun son 30 günlük teslim geçmişini imleçli sayfalarla döndürür (varsayılan yeniden eskiye, `order=asc` eskiden yeniye);\n`status` ve `event_type` ile süzülür, imleç süzgeçlere bağlıdır. Yalnız meta veri döner: yük gövdesi ve alıcı yanıtı yoktur.",
        "operationId": "listWebhookEndpointDeliveries",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_endpoint_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/Order"
          },
          {
            "description": "Teslim durumuna göre süz.",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "enum": [
                "pending",
                "retrying",
                "succeeded",
                "abandoned",
                "cancelled"
              ],
              "type": "string"
            }
          },
          {
            "description": "Olay türüne göre süz.",
            "in": "query",
            "name": "event_type",
            "required": false,
            "schema": {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookDeliveryList"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "GET /v1/webhook-endpoints/{endpoint_id}/deliveries",
        "tags": [
          "webhook-endpoints"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "webhook-endpoints:read"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/webhook-endpoints/{endpoint_id}/deliveries/{delivery_id}:retry": {
      "post": {
        "description": "`succeeded` ya da `abandoned` durumundaki bir teslimi (son 30 gün) aynı olayla yeni bir teslim olarak hemen kuyruğa alır\n(`replay_no` + 1, `webhook-id` aynı) ve yeni teslimi döndürür. Bekleyen ya da yeniden denenen teslim ve etkin olmayan uç\n`409 conflict`; başka ucun ya da ortamın teslimi `404`. Gövde isteğe bağlıdır; verilirse boş nesnedir.",
        "operationId": "retryWebhookEndpointDelivery",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_endpoint_id"
          },
          {
            "$ref": "#/components/parameters/path_delivery_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookEndpointRetryRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookDelivery"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/webhook-endpoints/{endpoint_id}/deliveries/{delivery_id}:retry",
        "tags": [
          "webhook-endpoints"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "webhook-endpoints:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/webhook-endpoints/{endpoint_id}:replay": {
      "post": {
        "description": "Son 30 gün içinde `[from, to)` aralığındaki olayları (`types` boşsa ucun türleri) yeniden kuyruğa alır; `replay_no` artar,\n`webhook-id` değişmez, alıcı yinelenen olayı kimliğiyle ayıklar. Aralık kuralları `422` döner. Hücrenin olay kaynağı henüz\nhizmet vermiyorsa `503` (`Retry-After`) döner.",
        "operationId": "replayWebhookEndpoint",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_endpoint_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookEndpointReplayRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookEndpointReplayResult"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/webhook-endpoints/{endpoint_id}:replay",
        "tags": [
          "webhook-endpoints"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "webhook-endpoints:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/webhook-endpoints/{endpoint_id}:rotate-secret": {
      "post": {
        "description": "Yeni imza sırrı üretir; sır yanıtta yalnız bir kez döner (`Cache-Control: no-store`; `Idempotency-Key` tekrarında\n`secret_redacted: true`). Eski sır `previous_secret_ttl_hours` (0–168, varsayılan 24) boyunca ikinci imza olarak kullanılır;\n`0` eski sırrı hemen düşürür. `If-Match` isteğe bağlıdır; verilirse uç sürümüyle eşleşmelidir (`412`).",
        "operationId": "rotateWebhookEndpointSecret",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_endpoint_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookEndpointSecretRotateRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookEndpointWithSecret"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "412": {
            "$ref": "#/components/responses/E412"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/webhook-endpoints/{endpoint_id}:rotate-secret",
        "tags": [
          "webhook-endpoints"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "webhook-endpoints:write"
        ],
        "x-idp-stability": "beta"
      }
    },
    "/webhook-endpoints/{endpoint_id}:test": {
      "post": {
        "description": "Uca seçilen türde imzalı sentetik bir olay (`data.test = true`, varsayılan `user.created`) çıkış vekili üzerinden gönderir\nve sonucu döndürür; teslim kaydı açılmaz, alıcının gövdesi döndürülmez. Uç başına dakikada 10 deneme (`429`, `Retry-After`\nhooks'un bekleme süresi). Etkin olmayan uç `409 conflict`.",
        "operationId": "testWebhookEndpoint",
        "parameters": [
          {
            "$ref": "#/components/parameters/path_endpoint_id"
          },
          {
            "$ref": "#/components/parameters/IdpClient"
          },
          {
            "$ref": "#/components/parameters/IdpClientRequestId"
          },
          {
            "$ref": "#/components/parameters/IdpCorrelationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookEndpointTestRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookEndpointTestResult"
                }
              }
            },
            "description": "Başarılı.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "Idempotent-Replayed": {
                "$ref": "#/components/headers/Idempotent-Replayed"
              },
              "Idp-Request-Id": {
                "$ref": "#/components/headers/Idp-Request-Id"
              },
              "Idp-Stability": {
                "$ref": "#/components/headers/Idp-Stability"
              },
              "Link": {
                "$ref": "#/components/headers/Link"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/E400"
          },
          "401": {
            "$ref": "#/components/responses/E401"
          },
          "403": {
            "$ref": "#/components/responses/E403"
          },
          "404": {
            "$ref": "#/components/responses/E404"
          },
          "409": {
            "$ref": "#/components/responses/E409"
          },
          "410": {
            "$ref": "#/components/responses/E410"
          },
          "413": {
            "$ref": "#/components/responses/E413"
          },
          "415": {
            "$ref": "#/components/responses/E415"
          },
          "421": {
            "$ref": "#/components/responses/E421"
          },
          "422": {
            "$ref": "#/components/responses/E422"
          },
          "429": {
            "$ref": "#/components/responses/E429"
          },
          "500": {
            "$ref": "#/components/responses/E500"
          },
          "503": {
            "$ref": "#/components/responses/E503"
          }
        },
        "summary": "POST /v1/webhook-endpoints/{endpoint_id}:test",
        "tags": [
          "webhook-endpoints"
        ],
        "x-idp-audience": "public",
        "x-idp-permissions": [
          "webhook-endpoints:write"
        ],
        "x-idp-stability": "beta"
      }
    }
  },
  "security": [
    {
      "secretKey": []
    },
    {
      "managementClientToken": []
    }
  ],
  "servers": [
    {
      "description": "Bölgesel yönetim API'si; ortam kimlik bilgisinden çözülür.",
      "url": "https://api.{region}.keenauth.com/v1",
      "variables": {
        "region": {
          "default": "eu",
          "enum": [
            "eu",
            "us"
          ]
        }
      }
    }
  ],
  "tags": [
    {
      "description": "`/v1/admin-portal-links` kaynak ailesi.",
      "name": "admin-portal-links"
    },
    {
      "description": "`/v1/age-policy` tekil yapılandırma kaynağı (ortamın yaş politikası).",
      "name": "age-policy"
    },
    {
      "description": "`/v1/api-keys` kaynak ailesi.",
      "name": "api-keys"
    },
    {
      "description": "`/v1/apis` kaynak ailesi.",
      "name": "apis"
    },
    {
      "description": "`/v1/applications` kaynak ailesi.",
      "name": "applications"
    },
    {
      "description": "`/v1/attack-protection` kaynak ailesi.",
      "name": "attack-protection"
    },
    {
      "description": "`/v1/audit-events` kaynak ailesi.",
      "name": "audit-events"
    },
    {
      "description": "`/v1/audit-exports` kaynak ailesi.",
      "name": "audit-exports"
    },
    {
      "description": "`/v1/branding` kaynak ailesi.",
      "name": "branding"
    },
    {
      "description": "`/v1/config-export` kaynak ailesi.",
      "name": "config-export"
    },
    {
      "description": "`/v1/config-plans` kaynak ailesi.",
      "name": "config-plans"
    },
    {
      "description": "`/v1/config-revisions` kaynak ailesi.",
      "name": "config-revisions"
    },
    {
      "description": "`/v1/connections` kaynak ailesi.",
      "name": "connections"
    },
    {
      "description": "`/v1/consent-purposes` kaynak ailesi.",
      "name": "consent-purposes"
    },
    {
      "description": "`/v1/custom-domains` kaynak ailesi.",
      "name": "custom-domains"
    },
    {
      "description": "`/v1/directories` kaynak ailesi.",
      "name": "directories"
    },
    {
      "description": "`/v1/email-provider` kaynak ailesi.",
      "name": "email-provider"
    },
    {
      "description": "`/v1/email-sender-domains` kaynak ailesi.",
      "name": "email-sender-domains"
    },
    {
      "description": "`/v1/email-templates` kaynak ailesi.",
      "name": "email-templates"
    },
    {
      "description": "`/v1/environment` kaynak ailesi.",
      "name": "environment"
    },
    {
      "description": "`/v1/environment-settings` kaynak ailesi.",
      "name": "environment-settings"
    },
    {
      "description": "`/v1/environments` kaynak ailesi.",
      "name": "environments"
    },
    {
      "description": "`/v1/event-types` kaynak ailesi.",
      "name": "event-types"
    },
    {
      "description": "`/v1/events` kaynak ailesi.",
      "name": "events"
    },
    {
      "description": "`/v1/fga` kaynak ailesi.",
      "name": "fga"
    },
    {
      "description": "`/v1/hooks` kaynak ailesi.",
      "name": "hooks"
    },
    {
      "description": "`/v1/identity-settings` kaynak ailesi.",
      "name": "identity-settings"
    },
    {
      "description": "`/v1/invitations` kaynak ailesi.",
      "name": "invitations"
    },
    {
      "description": "`/v1/jobs` kaynak ailesi.",
      "name": "jobs"
    },
    {
      "description": "`/v1/legal-documents` kaynak ailesi.",
      "name": "legal-documents"
    },
    {
      "description": "`/v1/log-streams` kaynak ailesi.",
      "name": "log-streams"
    },
    {
      "description": "`/v1/logs` kaynak ailesi.",
      "name": "logs"
    },
    {
      "description": "`/v1/management-clients` kaynak ailesi.",
      "name": "management-clients"
    },
    {
      "description": "`/v1/org-custom-role-permissions` kaynak ailesi.",
      "name": "org-custom-role-permissions"
    },
    {
      "description": "`/v1/organization-defaults` kaynak ailesi.",
      "name": "organization-defaults"
    },
    {
      "description": "`/v1/organization-domains` kaynak ailesi.",
      "name": "organization-domains"
    },
    {
      "description": "`/v1/organizations` kaynak ailesi.",
      "name": "organizations"
    },
    {
      "description": "`/v1/permissions` kaynak ailesi.",
      "name": "permissions"
    },
    {
      "description": "`/v1/platform-incidents` kaynak ailesi.",
      "name": "platform-incidents"
    },
    {
      "description": "`/v1/privacy-requests` kaynak ailesi.",
      "name": "privacy-requests"
    },
    {
      "description": "`/v1/reports` kaynak ailesi.",
      "name": "reports"
    },
    {
      "description": "`/v1/roles` kaynak ailesi.",
      "name": "roles"
    },
    {
      "description": "`/v1/sessions` kaynak ailesi.",
      "name": "sessions"
    },
    {
      "description": "`/v1/signing-keys` kaynak ailesi.",
      "name": "signing-keys"
    },
    {
      "description": "`/v1/sms-provider` kaynak ailesi.",
      "name": "sms-provider"
    },
    {
      "description": "`/v1/sms-templates` kaynak ailesi.",
      "name": "sms-templates"
    },
    {
      "description": "`/v1/support-access-grants` kaynak ailesi.",
      "name": "support-access-grants"
    },
    {
      "description": "`/v1/support-artifacts` destek eki yüklemesi.",
      "name": "support-artifacts"
    },
    {
      "description": "`/v1/token-exchange-policies` kaynak ailesi.",
      "name": "token-exchange-policies"
    },
    {
      "description": "`/v1/usage` kaynak ailesi.",
      "name": "usage"
    },
    {
      "description": "`/v1/users` kaynak ailesi.",
      "name": "users"
    },
    {
      "description": "`/v1/webhook-endpoints` kaynak ailesi.",
      "name": "webhook-endpoints"
    }
  ]
}
