{"openapi":"3.0.3","info":{"title":"Courier Manager Platform API","version":"1.0.0","description":"API public B2B pentru marketplace de curierat. Autentificare prin Bearer JWT (cont tenant/admin) sau header X-Api-Key (cmp_live_…). Cheile API au scopes implicite: quotes, shipments, tracking, wallet. Tracking public maschează telefonul, adresa și rambursul. Evenimente webhook: shipment.booked, tracking.updated, wallet.low, recipient.notified, shipment.exception, shipment.out_for_delivery. Parolele și cheile complete nu sunt reținute în loguri."},"servers":[{"url":"/v1","description":"Gateway public"}],"tags":[{"name":"Auth","description":"Înregistrare și autentificare"},{"name":"Identity","description":"Tenant, utilizatori, chei API"},{"name":"Shipping","description":"Oferte, AWB, tracking, adrese"},{"name":"Billing","description":"Wallet, facturi, rambursuri"},{"name":"Catalog","description":"Curieri și servicii"},{"name":"Notifications","description":"Webhook-uri și jurnal notificări"},{"name":"Admin","description":"Endpoint-uri superadmin / debug"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"apiKey":{"type":"apiKey","in":"header","name":"X-Api-Key"}}},"security":[{"bearerAuth":[]},{"apiKey":[]}],"paths":{"/openapi.json":{"get":{"summary":"Specificație OpenAPI (același document)","tags":["Catalog"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[]}},"/auth/register":{"post":{"summary":"Creează tenant + owner","tags":["Auth"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[]}},"/auth/login":{"post":{"summary":"Login tenant (email/parolă)","tags":["Auth"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[]}},"/auth/admin/login":{"post":{"summary":"Login superadmin","tags":["Auth"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[]}},"/me":{"get":{"summary":"Profilul utilizatorului curent","tags":["Identity"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]}},"/tenants/{id}":{"get":{"summary":"Detaliu tenant","tags":["Identity"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"patch":{"summary":"Actualizează datele firmei","tags":["Identity"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/users":{"get":{"summary":"Listează utilizatorii tenantului","tags":["Identity"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]},"post":{"summary":"Adaugă utilizator (owner)","tags":["Identity"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]}},"/api-keys":{"get":{"summary":"Listează prefixele cheilor API (și scopes)","tags":["Identity"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]},"post":{"summary":"Generează cheie API. Body opțional: scopes[] (quotes,shipments,tracking,wallet). Secretul se afișează o singură dată","tags":["Identity"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]}},"/api-keys/{id}":{"delete":{"summary":"Revocă o cheie API","tags":["Identity"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/quotes":{"post":{"summary":"Compară tarifele curierilor (cu marjă platformă)","tags":["Shipping"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]}},"/shipments":{"get":{"summary":"Listează expedieri","tags":["Shipping"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]},"post":{"summary":"Generează AWB dintr-o ofertă (debit wallet)","tags":["Shipping"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]}},"/shipments/bulk":{"post":{"summary":"Import CSV / creare AWB în masă","tags":["Shipping"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]}},"/shipments/{id}":{"get":{"summary":"Detaliu expediere","tags":["Shipping"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/shipments/{id}/cancel":{"post":{"summary":"Anulează expedierea","tags":["Shipping"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/shipments/{id}/label":{"get":{"summary":"Descarcă eticheta AWB (PDF/HTML)","tags":["Shipping"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/tracking/{awb}":{"get":{"summary":"Tracking autenticat: detaliu complet (adresă, telefon, COD, token public)","tags":["Shipping"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}],"parameters":[{"name":"awb","in":"path","required":true,"schema":{"type":"string"}}]}},"/public/tracking/{awb}":{"get":{"summary":"Tracking public, fără login. Doar oraș destinatar mascat, fără telefon/adresă/COD. Auto-detect curier din prefix AWB.","tags":["Shipping"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[],"parameters":[{"name":"awb","in":"path","required":true,"schema":{"type":"string"}},{"name":"token","in":"query","required":false,"schema":{"type":"string"},"description":"Token share opțional; 404 dacă nu corespunde"},{"name":"courier","in":"query","required":false,"schema":{"type":"string"},"description":"Fallback curier: fan|sameday|cargus|dpd|gls"}]}},"/pickup-points":{"get":{"summary":"Lockere / puncte fixe (stub per oraș dacă nu există date)","tags":["Shipping"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[],"parameters":[{"name":"city","in":"query","required":false,"schema":{"type":"string"}},{"name":"courier_code","in":"query","required":false,"schema":{"type":"string"}},{"name":"type","in":"query","required":false,"schema":{"type":"string"},"description":"locker sau punct_fix"}]}},"/addresses":{"get":{"summary":"Carnet de adrese","tags":["Shipping"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]},"post":{"summary":"Adaugă adresă","tags":["Shipping"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]}},"/addresses/{id}":{"delete":{"summary":"Șterge adresă","tags":["Shipping"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/rules":{"post":{"summary":"Reguli de rutare / preferințe curier","tags":["Shipping"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]}},"/wallet":{"get":{"summary":"Sold și ledger","tags":["Billing"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]}},"/wallet/credit":{"post":{"summary":"Creditare wallet","tags":["Billing"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]}},"/tariffs":{"get":{"summary":"Tarife / marje vizibile tenantului","tags":["Billing"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]}},"/invoices":{"get":{"summary":"Listează facturi","tags":["Billing"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]}},"/invoices/{id}":{"get":{"summary":"Descarcă / detaliu factură","tags":["Billing"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/cod":{"get":{"summary":"Rambursuri (COD) colectate","tags":["Billing"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]}},"/cod/advance":{"post":{"summary":"Avans rambursuri","tags":["Billing"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]}},"/cod/payout":{"post":{"summary":"Plată / mapare rambursuri","tags":["Billing"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]}},"/catalog":{"get":{"summary":"Catalog curieri și servicii","tags":["Catalog"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]}},"/webhook":{"get":{"summary":"Arată webhook-ul tenantului","tags":["Notifications"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]},"post":{"summary":"Configurează URL webhook","tags":["Notifications"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]}},"/notifications":{"get":{"summary":"Jurnal notificări (email/webhook) al tenantului","tags":["Notifications"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]},{"apiKey":[]}]}},"/admin/tenants":{"get":{"summary":"Listează toți tenantii","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}]}},"/admin/tenants/{id}":{"get":{"summary":"Detaliu tenant: users + prefixe API key","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"patch":{"summary":"Actualizează status/plan/notes tenant","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/admin/impersonate":{"post":{"summary":"Impersonare owner tenant","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}]}},"/admin/requests":{"get":{"summary":"Log request-uri API (filtre: tenant_id, path, status)","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}],"parameters":[{"name":"tenant_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"path","in":"query","required":false,"schema":{"type":"string"},"description":"Substring în path"},{"name":"status","in":"query","required":false,"schema":{"type":"integer"},"description":"HTTP status"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}}]}},"/admin/audit":{"get":{"summary":"Audit log identity","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}],"parameters":[{"name":"tenant_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}}]}},"/admin/api-keys":{"get":{"summary":"Toate cheile API (prefix + last_used, fără secret)","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}],"parameters":[{"name":"tenant_id","in":"query","required":false,"schema":{"type":"integer"}}]}},"/admin/jobs":{"get":{"summary":"Job-uri adapter curier (request/response JSON)","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}],"parameters":[{"name":"courier_code","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}}]}},"/admin/log":{"get":{"summary":"Toate logurile webhook/email/SMS stub (http_status, error_text, attempt)","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}}]}},"/admin/couriers/{code}/toggle":{"post":{"summary":"Activează / dezactivează un curier","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}],"parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string"}}]}},"/admin/tracking/tick":{"post":{"summary":"Rulează un tick de tracking","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}]}},"/admin/shipments/{id}/status":{"post":{"summary":"Forțează status expediere","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/admin/wallet/credit":{"post":{"summary":"Creditare wallet (superadmin)","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}]}},"/admin/tariffs":{"get":{"summary":"Listează regulile de tarif / marjă","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}]},"put":{"summary":"Creează sau actualizează o regulă de tarif","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}]}},"/admin/invoices":{"get":{"summary":"Toate facturile (toți tenantii)","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}]}},"/admin/invoices/generate":{"post":{"summary":"Generează facturi pe perioadă","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}]}},"/admin/overview":{"get":{"summary":"Overview financiar platformă","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}]}},"/admin/shipments":{"get":{"summary":"Toate expedierile (debug admin)","tags":["Admin"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"422":{"description":"Validation error"}},"security":[{"bearerAuth":[]}]}}}}