{
    "info": {
        "_postman_id": "8b3c4f7a-d2e1-4f5a-9b8c-12e1e985243c",
        "name": "Teknik Danışman API v1",
        "description": "Multi-tenant IT/HR yönetim platformu için REST API v1.\n\n**Auth:** Bearer token. `Authorization: Bearer tdk_...`\n\n**Rate limit:** 100 req/dk per key (sliding window)\n\n**Pagination:** Cursor-based — response'taki `next_cursor` ile sayfalandır.\n\n**Idempotency:** POST/PUT/DELETE için `Idempotency-Key: <unique>` önerilir.\n\nDocs: https://teknikdanisman.net/api.php\nWebhook events: https://teknikdanisman.net/webhooks_catalog.php",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "auth": {
        "type": "bearer",
        "bearer": [
            {
                "key": "token",
                "value": "{{api_key}}",
                "type": "string"
            }
        ]
    },
    "variable": [
        {
            "key": "base_url",
            "value": "https://teknikdanisman.net/api/v1",
            "type": "string"
        },
        {
            "key": "api_key",
            "value": "tdk_REPLACE_WITH_YOUR_KEY",
            "type": "string"
        }
    ],
    "item": [
        {
            "name": "System",
            "item": [
                {
                    "name": "Health check (ping)",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "auth": {
                            "type": "noauth"
                        },
                        "url": {
                            "raw": "{{base_url}}/ping.php",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "ping.php"
                            ]
                        },
                        "description": "API'nin ayakta olduğunu doğrular. Auth gerektirmez.\n\n```json\n{\"ok\":true,\"api_version\":\"v1\",\"service\":\"teknik-danisman\",\"time\":\"2026-06-22T14:23:01Z\"}\n```"
                    }
                }
            ]
        },
        {
            "name": "Customers",
            "item": [
                {
                    "name": "List customers",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{base_url}}/customers.php?limit=25",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "customers.php"
                            ],
                            "query": [
                                {
                                    "key": "limit",
                                    "value": "25",
                                    "description": "Max 100"
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Önceki yanıttaki next_cursor"
                                },
                                {
                                    "key": "q",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Şirket/yetkili/e-posta'da arama"
                                }
                            ]
                        },
                        "description": "Cursor-based pagination. Response: `{data:[],has_more,next_cursor,limit}`"
                    }
                },
                {
                    "name": "Get one customer",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{base_url}}/customers.php?id=1",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "customers.php"
                            ],
                            "query": [
                                {
                                    "key": "id",
                                    "value": "1",
                                    "description": "Müşteri ID"
                                }
                            ]
                        }
                    }
                }
            ]
        },
        {
            "name": "Employees",
            "item": [
                {
                    "name": "List employees",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{base_url}}/employees.php?limit=25",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "employees.php"
                            ],
                            "query": [
                                {
                                    "key": "limit",
                                    "value": "25"
                                },
                                {
                                    "key": "customer_id",
                                    "value": "",
                                    "disabled": true
                                },
                                {
                                    "key": "status",
                                    "value": "aktif",
                                    "disabled": true,
                                    "description": "aktif | pasif | ayrildi"
                                },
                                {
                                    "key": "q",
                                    "value": "",
                                    "disabled": true
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "Stok placeholder kayıtları hariç tutulur."
                    }
                },
                {
                    "name": "Get one employee",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{base_url}}/employees.php?id=1",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "employees.php"
                            ],
                            "query": [
                                {
                                    "key": "id",
                                    "value": "1"
                                }
                            ]
                        }
                    }
                }
            ]
        },
        {
            "name": "Hardware",
            "item": [
                {
                    "name": "List hardware",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{base_url}}/hardware.php?limit=25",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "hardware.php"
                            ],
                            "query": [
                                {
                                    "key": "limit",
                                    "value": "25"
                                },
                                {
                                    "key": "customer_id",
                                    "value": "",
                                    "disabled": true
                                },
                                {
                                    "key": "employee_id",
                                    "value": "",
                                    "disabled": true
                                },
                                {
                                    "key": "status",
                                    "value": "active",
                                    "disabled": true,
                                    "description": "active | idle | scrap"
                                },
                                {
                                    "key": "device_type",
                                    "value": "",
                                    "disabled": true
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "disabled": true
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Get one hardware",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{base_url}}/hardware.php?id=1",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "hardware.php"
                            ],
                            "query": [
                                {
                                    "key": "id",
                                    "value": "1"
                                }
                            ]
                        }
                    }
                }
            ]
        },
        {
            "name": "Renewals",
            "item": [
                {
                    "name": "Renew service (+1 year)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Idempotency-Key",
                                "value": "{{$guid}}",
                                "description": "Postman dynamic — istek başına yeni UUID"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"resource\": \"service\",\n    \"id\": 42\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{base_url}}/renew.php",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "renew.php"
                            ]
                        },
                        "description": "Domain/hosting/SSL servisini +1 yıl yeniler.\n\nPanel'deki \"Yenilendi\" butonu ile **aynı `RenewalService`'i** kullanır (strangler-fig dogfood)."
                    }
                },
                {
                    "name": "Renew license (+1 year)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Idempotency-Key",
                                "value": "{{$guid}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"resource\": \"license\",\n    \"id\": 17\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{base_url}}/renew.php",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "renew.php"
                            ]
                        },
                        "description": "Yazılım lisansının `renewal_date` kolonuna +1 yıl ekler."
                    }
                }
            ]
        }
    ]
}