{"type":"text/markdown","content":"# GET /api/holanonce16ts — HOLA nonce response\n\nUse this endpoint **after** API login (Bearer JWT). Fetch a **new** nonce immediately before each HOLA you sign (~5 minute validity).\n\n## Exact JSON response shape\n\nUse these **JSON property names verbatim** (not login field names, not guessed names like `nonceHex`):\n\n```json\n{\n  \"noncetsHex\": \"4F9A3C7E2D1B9A4CDEADBEEFCAFEBABE\",\n  \"timestamp\": \"2026-04-19T10:47:00.000Z\",\n  \"length\": 16,\n  \"algorithm\": \"randomBytes(16)_hex\",\n  \"requestId\": \"01HQXYZ...\"\n}\n```\n\n| Field | Type | Use in HOLA line |\n| --- | --- | --- |\n| `noncetsHex` | string | Yes — 32 uppercase hex chars (segment often written `noncets-hex` in format docs) |\n| `timestamp` | string | Yes — ISO-8601 UTC from this response |\n| `length` | number | Metadata only (always `16`) |\n| `algorithm` | string | Metadata only |\n| `requestId` | string | Correlation only |\n\n```javascript\nconst { noncetsHex, timestamp } = await nonceResponse.json();\nconst message = `HOLA/${recipient}/${tokenId}/${timestamp}/${noncetsHex}/API.IDENTYCLAW.COM/`;\n```\n\n## Do not confuse with API login\n\n| Endpoint | JSON fields | Purpose |\n| --- | --- | --- |\n| `GET /api/login/timestamp` | `timestamp`, `timestamp_iso` | Sign `accountid + timestamp_iso` for `POST /api/login` |\n| `GET /api/holanonce16ts` | `noncetsHex`, `timestamp` | Build and sign the **HOLA line** |\n\n**Invalid on holanonce16ts:** `timestamp_iso`, `nonceHex`, `noncets`, `nonce`.\n\n## Related docs\n\n- [hola-agent-authentication.md](hola-agent-authentication.md) — full HOLA flow\n- [hola-subagent-authentication.md](hola-subagent-authentication.md) — subagent HOLA\n- [login-authentication.md](login-authentication.md) — JWT first\n","requestId":"03232a035f874baf2d151e0906d9eb38"}