{
  "info": {
    "name": "Greek Vocative API",
    "description": "Greek Vocative API — μετατροπή ονομάτων σε κλητική.\n\n**Variables:**\n- `api_url` — προσυμπληρωμένο: `https://posmelene.dicha.me`\n- `api_key` — το Bearer API key σου (από dashboard)",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "version": "3.0.0"
  },
  "variable": [
    { "key": "api_url", "value": "https://posmelene.dicha.me", "type": "string" },
    { "key": "api_key", "value": "",                             "type": "string" }
  ],
  "item": [
    {
      "name": "Vocative — Μόνο όνομα",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Authorization", "value": "Bearer {{api_key}}" },
          { "key": "Content-Type",  "value": "application/json" }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"first_name\": \"Γιώργης\"\n}",
          "options": { "raw": { "language": "json" } }
        },
        "url": {
          "raw": "{{api_url}}/onoma",
          "host": ["{{api_url}}"],
          "path": ["onoma"]
        },
        "description": "Μετατρέπει ένα μικρό όνομα στην κλητική.\n\nΔέχεται Ελληνικά ή Greeklish.\n\n**Response fields:**\n- `vocative` — κεφαλαίο πρώτο γράμμα (π.χ. Γιώργη) → για email\n- `vocative_upper` — all caps χωρίς τόνους (π.χ. ΓΙΩΡΓΗ) → για SMS\n- `confidence` — `curated`/`rule_high` = αξιόπιστο, `pending_approval` = AI πρόταση"
      },
      "response": [
        {
          "name": "200 OK",
          "status": "OK",
          "code": 200,
          "body": "{\n  \"input\": \"Γιώργης\",\n  \"nominative\": \"Γιώργης\",\n  \"vocative\": \"Γιώργη\",\n  \"vocative_lower\": \"γιώργη\",\n  \"vocative_upper\": \"ΓΙΩΡΓΗ\",\n  \"confidence\": \"curated\",\n  \"source\": \"lookup\",\n  \"gender\": \"M\",\n  \"name_order_swapped\": false,\n  \"name_detection\": \"single\",\n  \"last_name\": null,\n  \"last_name_vocative\": null,\n  \"full_name\": \"Γιώργης\"\n}"
        }
      ]
    },
    {
      "name": "Vocative — Πλήρες όνομα (2 πεδία)",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Authorization", "value": "Bearer {{api_key}}" },
          { "key": "Content-Type",  "value": "application/json" }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"first_name\": \"Γιώργης\",\n  \"last_name\": \"Παπαδόπουλος\"\n}",
          "options": { "raw": { "language": "json" } }
        },
        "url": {
          "raw": "{{api_url}}/onoma",
          "host": ["{{api_url}}"],
          "path": ["onoma"]
        },
        "description": "Στέλνεις `first_name` και `last_name` χωριστά — **προτιμητέο** όταν το CRM σου έχει ξεχωριστά πεδία.\n\nΠαρακάμπτει εντελώς το name-order detection (μηδενικό ρίσκο λάθους).\n\n**Επιπλέον response fields:**\n- `last_name` — επώνυμο κανονικοποιημένο σε ελληνικά\n- `last_name_vocative` — κλητική επωνύμου (π.χ. Παπαδόπουλε)\n- `full_name` — ονομαστική ονόματος + επωνύμου\n- `name_detection` — `\"explicit\"` όταν το last_name δόθηκε χωριστά"
      },
      "response": [
        {
          "name": "200 OK",
          "status": "OK",
          "code": 200,
          "body": "{\n  \"input\": \"Γιώργης\",\n  \"nominative\": \"Γιώργης\",\n  \"vocative\": \"Γιώργη\",\n  \"vocative_lower\": \"γιώργη\",\n  \"vocative_upper\": \"ΓΙΩΡΓΗ\",\n  \"confidence\": \"curated\",\n  \"source\": \"lookup\",\n  \"gender\": \"M\",\n  \"name_order_swapped\": false,\n  \"name_detection\": \"explicit\",\n  \"last_name\": \"Παπαδόπουλος\",\n  \"last_name_vocative\": \"Παπαδόπουλε\",\n  \"full_name\": \"Γιώργης Παπαδόπουλος\"\n}"
        }
      ]
    },
    {
      "name": "Vocative — Πλήρες όνομα (1 πεδίο)",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Authorization", "value": "Bearer {{api_key}}" },
          { "key": "Content-Type",  "value": "application/json" }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"first_name\": \"Παπαδόπουλος Γιώργης\"\n}",
          "options": { "raw": { "language": "json" } }
        },
        "url": {
          "raw": "{{api_url}}/onoma",
          "host": ["{{api_url}}"],
          "path": ["onoma"]
        },
        "description": "Στέλνεις ολόκληρο το όνομα σε ένα πεδίο — το API ανιχνεύει αυτόματα ποιο μέρος είναι μικρό όνομα και ποιο επώνυμο.\n\nΧρήσιμο όταν το CRM σου έχει μόνο ένα πεδίο `name`. Δέχεται και ανεστραμμένη σειρά (επώνυμο πρώτο) και Greeklish.\n\n`name_order_swapped: true` σημαίνει ότι τα λεξιλόγια αντιστράφηκαν."
      },
      "response": [
        {
          "name": "200 OK",
          "status": "OK",
          "code": 200,
          "body": "{\n  \"input\": \"Γιώργης\",\n  \"nominative\": \"Γιώργης\",\n  \"vocative\": \"Γιώργη\",\n  \"vocative_lower\": \"γιώργη\",\n  \"vocative_upper\": \"ΓΙΩΡΓΗ\",\n  \"confidence\": \"curated\",\n  \"source\": \"lookup\",\n  \"gender\": \"M\",\n  \"name_order_swapped\": true,\n  \"name_detection\": \"lookup\",\n  \"last_name\": \"Παπαδόπουλος\",\n  \"last_name_vocative\": \"Παπαδόπουλε\",\n  \"full_name\": \"Γιώργης Παπαδόπουλος\"\n}"
        }
      ]
    },
    {
      "name": "Vocative — Batch",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Authorization", "value": "Bearer {{api_key}}" },
          { "key": "Content-Type",  "value": "application/json" }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"names\": [\"Γιώργης\", \"Μαρία\", \"Νίκος\", \"Ελένη\"]\n}",
          "options": { "raw": { "language": "json" } }
        },
        "url": {
          "raw": "{{api_url}}/onoma/batch",
          "host": ["{{api_url}}"],
          "path": ["onoma", "batch"]
        },
        "description": "Batch μετατροπή — έως 500 ονόματα σε ένα request.\n\nΕπιστρέφει array `results` με ένα αντικείμενο ανά όνομα, συν `total` και `ai_calls`."
      },
      "response": [
        {
          "name": "200 OK",
          "status": "OK",
          "code": 200,
          "body": "{\n  \"results\": [\n    { \"input\": \"Γιώργης\", \"vocative\": \"Γιώργη\",  \"vocative_lower\": \"γιώργη\",  \"vocative_upper\": \"ΓΙΩΡΓΗ\",  \"confidence\": \"curated\", \"source\": \"lookup\", \"gender\": \"M\" },\n    { \"input\": \"Μαρία\",   \"vocative\": \"Μαρία\",   \"vocative_lower\": \"μαρία\",   \"vocative_upper\": \"ΜΑΡΙΑ\",   \"confidence\": \"curated\", \"source\": \"lookup\", \"gender\": \"F\" },\n    { \"input\": \"Νίκος\",   \"vocative\": \"Νίκο\",    \"vocative_lower\": \"νίκο\",    \"vocative_upper\": \"ΝΙΚΟ\",    \"confidence\": \"curated\", \"source\": \"lookup\", \"gender\": \"M\" },\n    { \"input\": \"Ελένη\",   \"vocative\": \"Ελένη\",   \"vocative_lower\": \"ελένη\",   \"vocative_upper\": \"ΕΛΕΝΗ\",   \"confidence\": \"curated\", \"source\": \"lookup\", \"gender\": \"F\" }\n  ],\n  \"total\": 4,\n  \"ai_calls\": 0\n}"
        }
      ]
    }
  ]
}
