select 1
1 rows
select 1
1 rows
{
"host": "otlobamel-api.dev-moltaqa.cloud",
"user-agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:115.9.1) Gecko/20100101 Firefox/115.9.1",
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"accept-charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7",
"accept-encoding": "gzip, deflate",
"accept-language": "en-us,en;q=0.5",
"x-forwarded-for": "34.178.109.240",
"x-forwarded-host": "otlobamel-api.dev-moltaqa.cloud",
"x-forwarded-port": "443",
"x-forwarded-proto": "https",
"x-forwarded-server": "fad62b7fb5fb",
"x-real-ip": "34.178.109.240"
}{}"<!doctype html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<meta name=\"robots\" content=\"noindex\">\n<title>Otlob Amel API</title>\n<link rel=\"icon\" href=\"/assets/otlob-amel-logo.png\" type=\"image/png\">\n<style>\n:root {\n --primary: #fe5500; --primary-dark: #252c32; --primary-light: #ff7a33;\n --soft: #fff5ee; --soft-2: #ffe7d6;\n --ink: #292929; --text: #575757; --muted: #6b7280; --line: #e2e8f0;\n --bg: #f2f1f6; --card: #fff;\n --ok: #22c55e; --bad: #ef4444;\n --radius: 14px;\n}\n* { box-sizing: border-box; }\nbody { margin: 0; font: 15px/1.6 system-ui, -apple-system, \"Segoe UI\", Roboto, \"Noto Sans Arabic\", sans-serif; color: var(--text); background: var(--bg); }\na { color: var(--primary-dark); text-decoration: none; }\na:hover { text-decoration: underline; }\ncode, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; }\ncode { background: var(--soft); color: var(--ink); padding: 1px 6px; border-radius: 6px; }\npre { background: #252c32; color: #fff5ee; padding: 16px 18px; border-radius: 12px; overflow-x: auto; margin: 10px 0 0; line-height: 1.55; }\npre code { background: none; color: inherit; padding: 0; }\n.hero { background: linear-gradient(160deg, var(--primary-light), var(--primary) 45%, var(--primary-dark)); color: #fff; padding: 48px 20px 88px; }\n.wrap { max-width: 1040px; margin: 0 auto; }\n.brand { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }\n.brand img { height: 84px; width: 84px; border-radius: 18px; box-shadow: 0 8px 24px rgba(0,40,35,.3); }\n.brand h1 { margin: 0; font-size: 34px; letter-spacing: -0.5px; }\n.brand p { margin: 4px 0 0; opacity: .95; font-size: 16px; }\n.pills { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 26px; }\n.pill { background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.32); border-radius: 999px; padding: 6px 14px; font-size: 13px; display: inline-flex; align-items: center; gap: 8px; }\n.pill b { overflow-wrap: anywhere; }\n.dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }\n.dot.ok { background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,.3); }\n.dot.degraded { background: #ffcbaa; } .dot.down { background: #480c0a; }\nmain.wrap { margin-top: -56px; padding: 0 20px 56px; }\n.grid { display: grid; gap: 16px; }\n.grid + .grid { margin-top: 16px; }\n.three { grid-template-columns: repeat(3, 1fr); }\n@media (max-width: 860px) { .three { grid-template-columns: 1fr; } }\n.card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; box-shadow: 0 6px 24px rgba(1,80,70,.06); }\na.card { color: inherit; display: flex; flex-direction: column; transition: transform .15s, box-shadow .15s, border-color .15s; }\na.card:hover { text-decoration: none; transform: translateY(-2px); border-color: var(--soft-2); box-shadow: 0 12px 32px rgba(1,80,70,.12); }\n.card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }\n.card-body { flex: 1; }\n.card h3 { margin: 12px 0 4px; font-size: 16px; color: var(--ink); }\n.card p { margin: 0; color: var(--muted); font-size: 13.5px; }\n.go { margin-top: 14px; font-size: 13px; font-weight: 600; color: var(--primary-dark); }\n.badge { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 600; color: #b33c00; background: var(--soft-2); border: 1px solid #ffcbaa; border-radius: 999px; padding: 2px 9px; }\n.badge svg, .access svg { width: 13px; height: 13px; flex: none; }\n.soon { font-size: 11.5px; font-weight: 600; color: var(--muted); background: #f4f4f4; border-radius: 999px; padding: 2px 9px; margin-left: 6px; white-space: nowrap; }\n.ms { color: var(--muted); font-size: 12.5px; }\n.sep { margin: 0 8px; color: var(--line); }\n.access { display: flex; align-items: center; gap: 10px; margin: 16px 0 0; padding: 12px 16px; border-radius: 12px; background: var(--soft); border: 1px solid var(--soft-2); color: var(--ink); font-size: 14px; }\n.access svg { width: 16px; height: 16px; color: var(--primary); }\n.icon { width: 38px; height: 38px; border-radius: 10px; background: var(--soft); color: var(--primary); display: grid; place-items: center; }\nsection { margin-top: 36px; }\nh2 { font-size: 20px; color: var(--ink); margin: 0 0 12px; }\ntable { width: 100%; border-collapse: collapse; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; font-size: 14px; }\nth, td { text-align: left; padding: 11px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }\nth { background: var(--soft); color: var(--ink); font-weight: 600; font-size: 13px; }\ntr:last-child td { border-bottom: 0; }\n.two { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; }\n.steps { counter-reset: step; list-style: none; padding: 0; margin: 0; }\n.steps li { counter-increment: step; position: relative; padding-left: 34px; margin-bottom: 14px; }\n.steps li::before { content: counter(step); position: absolute; left: 0; top: 1px; width: 24px; height: 24px; border-radius: 50%; background: var(--primary); color: #fff; font-size: 12.5px; font-weight: 700; display: grid; place-items: center; }\n.status { font-weight: 600; } .status.up { color: var(--ok); } .status.down { color: var(--bad); }\n.muted { color: var(--muted); font-size: 13.5px; }\ndetails { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 4px 16px; }\ndetails summary { cursor: pointer; padding: 12px 0; font-weight: 600; color: var(--ink); }\ndetails table { border: 0; border-radius: 0; margin-bottom: 12px; }\n.nowrap { white-space: nowrap; }\n@media (max-width: 640px) { .hero { padding-top: 32px; } table { display: block; overflow-x: auto; white-space: nowrap; } .brand img { height: 64px; width: 64px; } .brand h1 { font-size: 28px; } }\nfooter { color: var(--muted); font-size: 13px; text-align: center; padding: 8px 20px 32px; }\n</style>\n</head>\n<body>\n<header class=\"hero\">\n <div class=\"wrap\">\n <div class=\"brand\">\n <img src=\"/assets/otlob-amel-logo.png\" alt=\"Otlob Amel\" width=\"84\" height=\"84\">\n <div>\n <h1>Otlob Amel API</h1>\n <p>One REST API for the customer app, the provider app and the control panel.</p>\n </div>\n </div>\n <div class=\"pills\">\n <span class=\"pill\"><span class=\"dot ok\"></span>All systems operational</span>\n <span class=\"pill\">Version 0.0.1 · 131b86a</span>\n <span class=\"pill\"><span class=\"nowrap\">Base URL</span> <b>https://otlobamel-api.dev-moltaqa.cloud</b></span>\n </div>\n </div>\n</header>\n\n<main class=\"wrap\">\n <div class=\"grid three\">\n <a class=\"card\" href=\"/docs\">\n <div class=\"card-top\"><div class=\"icon\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\"/><path d=\"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z\"/></svg></div><span class=\"badge\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"/></svg>Login required</span></div>\n <div class=\"card-body\"><h3>API reference (Swagger)</h3><p>Every endpoint with its request, responses and errors. Try requests right in the browser.</p></div>\n <span class=\"go\">Open docs <span aria-hidden=\"true\">→</span></span>\n </a>\n <a class=\"card\" href=\"/docs/postman.json\">\n <div class=\"card-top\"><div class=\"icon\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"/><polyline poin… [truncated 12624 bytes]