{"service":"gnd-lookup-api","auth":"AWS_IAM (SigV4)","operations":[{"method":"GET","path":"/tickets","params":["q","limit"],"backend":"tickety","desc":"Keyword/FBN ticket search"},{"method":"GET","path":"/tickets/{id}","backend":"tickety","desc":"Single ticket by id"},{"method":"GET","path":"/tickets/{id}/comments","params":["threadNames","maxResults"],"backend":"tickety","desc":"Read CORRESPONDENCE + WORKLOG comment threads"},{"method":"POST","path":"/tickets/{id}/comments","backend":"tickety","desc":"Add a comment. Body: {comment, threadName?, author?:{namespace,value}}"},{"method":"POST","path":"/tickets/{id}/resolve","backend":"tickety","desc":"Resolve a ticket. Body: {status?=Resolved, resolution?, author?}"},{"method":"POST","path":"/sim/tickets","backend":"sim (direct Maxis issues-ext)","desc":"CREATE a SIM/issues.amazon.com ticket DIRECT (sync) — returns 201 {ticketId, url} INLINE. Body: {title, description, folder(assignedFolder id or CTI), severity?}. NOT Tickety."},{"method":"GET","path":"/sim/tickets","params":["q","limit","publicOnly"],"backend":"sim (direct Maxis issues-ext)","desc":"Search SIM issues (own folders + public). Metadata only; title PUBLIC-gated."},{"method":"GET","path":"/sim/tickets/{id}","backend":"sim (direct Maxis issues-ext)","desc":"Read a single SIM ticket — metadata only (status/severity/dates/folder/assignee/accessLevel); title only when PUBLIC. NEVER description/comments/resolution."},{"method":"POST","path":"/sim/tickets/{id}/edits","backend":"sim (direct Maxis issues-ext)","desc":"Edit a SIM ticket. Body: {status?, description?, comment?, author?=elysium-intelligence app}"},{"method":"GET","path":"/sim/requests/{requestId}","backend":"sim (back-compat)","desc":"Poll a (legacy async) SIM create. Direct creates are now synchronous — use the ticketId from POST /sim/tickets."},{"method":"GET","path":"/mcm","params":["fbn","rack","term","limit"],"backend":"mcm (arts-mcm-cache via arts-backend)","desc":"List Modeled Change Management changes by fbn/rack/term"},{"method":"GET","path":"/mcm/{id}","backend":"mcm (arts-mcm-cache via arts-backend)","desc":"One MCM change — metadata + history feed"},{"method":"GET","path":"/devices/{hostname}","backend":"nsm","desc":"NSM GetDevice — full device record"},{"method":"GET","path":"/devices/{hostname}/lifecycle","backend":"nsm","desc":"NSM device lifecycle + operational_date"},{"method":"GET","path":"/assets/{assetId}","params":["region","devices"],"backend":"tavern+nsm","desc":"Rolled-up NSM asset status by asset id — OPERATIONAL/PARTIAL/PENDING + counts (?devices=true adds roster; ?region=<airport> for non-PDX)"},{"method":"GET","path":"/racks/{assetId}/devices","params":["region"],"backend":"tavern+nsm","desc":"Rack roster + per-device operational_date (pass ?region=<airport> for non-PDX sites)"},{"method":"GET","path":"/switches/{assetId}","params":["region"],"backend":"tavern","desc":"Switch_assets roster (pass ?region=<airport>)"},{"method":"GET","path":"/lookup","params":["q"],"backend":"auto","desc":"Smart router — autodetects ticket/rack/device/keyword"}]}