{"info":{"title":"DARK0RBITS","version":"2.0.0"},"openapi":"3.0.0","paths":{"/api/canary/hits":{"get":{"parameters":[{"in":"query","name":"token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok"}},"summary":"Full hit log with geo per hit"}},"/api/canary/list":{"get":{"responses":{"200":{"description":"ok"}},"summary":"Your traps + hit counts + honeytoken creds"}},"/api/card":{"post":{"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"num":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Luhn + BIN validation"}},"/api/chaff":{"get":{"parameters":[{"in":"query","name":"seed","required":true,"schema":{"type":"string"}},{"in":"query","name":"region","required":true,"schema":{"type":"string"}},{"in":"query","name":"domain","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok"}},"summary":"Deterministic throwaway persona generator"}},"/api/chain/entries":{"get":{"parameters":[{"in":"query","name":"log","required":true,"schema":{"type":"string"}},{"in":"query","name":"verify","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok"}},"summary":"Entries for a chain, optional verification"}},"/api/chain/list":{"get":{"responses":{"200":{"description":"ok"}},"summary":"Your chains + integrity verdicts"}},"/api/deaddrop/create":{"post":{"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"body":{"type":"string"},"burn_after_reads":{"type":"string"},"password":{"type":"string"},"ttl_hours":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Encrypted burn-after-read note"}},"/api/dms/checkin":{"post":{"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"token":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Check in a switch by token (no login needed). 200 'checked in' resets the window."}},"/api/dms/create":{"post":{"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"custodian":{"type":"string"},"interval_hours":{"type":"string"},"label":{"type":"string"},"payloads":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Arm a dead man switch: label, interval_hours 24/48/72/168, 1-5 payloads, optional custodian note. Returns token + checkin curl."}},"/api/dms/list":{"get":{"responses":{"200":{"description":"ok"}},"summary":"List your dead man switches with status ARMED/LATE/TRIGGERED and sealed drop URLs."}},"/api/domain":{"get":{"parameters":[{"in":"query","name":"d","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok"}},"summary":"Domain recon: RDAP + DNS + CT subdomains"}},"/api/eh":{"post":{"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"raw":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Email header forensics v2 (origin, delays, verdicts, flags)"}},"/api/forensics":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"image":{"format":"binary","type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Deep image forensics: EXIF IFDs, GPS decoded, XMP, thumbnail, ELA"}},"/api/ghost/decode":{"post":{"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"password":{"type":"string"},"text":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Extract zero-width hidden message"}},"/api/ghost/encode":{"post":{"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"cover":{"type":"string"},"password":{"type":"string"},"secret":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Zero-width text steganography \u2014 embed secret in cover"}},"/api/hash":{"get":{"parameters":[{"in":"query","name":"s","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok"}},"summary":"Hashes"}},"/api/hdr":{"get":{"parameters":[{"in":"query","name":"url","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok"}},"summary":"HTTP headers"}},"/api/ip":{"get":{"parameters":[{"in":"query","name":"target","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok"}},"summary":"IP intel (caller or ?target=)"}},"/api/phone":{"get":{"parameters":[{"in":"query","name":"num","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok"}},"summary":"Phone OSINT: carrier, line type, region, timezones, leads"}},"/api/proxy/test":{"post":{"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"pass":{"type":"string"},"user":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Test Pleiades gateway creds"}},"/api/score":{"get":{"parameters":[{"in":"query","name":"ip","required":false,"schema":{"type":"string"}},{"in":"query","name":"email","required":false,"schema":{"type":"string"}},{"in":"query","name":"bin","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok"}},"summary":"Composite fraud score 0-100"}},"/api/shot/create":{"post":{"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"url":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Queue page capture"}},"/api/shot/status/{id}":{"get":{"responses":{"200":{"description":"ok"}},"summary":"Shot result (png_b64 or text_fallback)"}},"/api/sms/cancel":{"get":{"parameters":[{"in":"query","name":"pid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok"}},"summary":"Cancel + refund"}},"/api/sms/check":{"get":{"parameters":[{"in":"query","name":"pid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok"}},"summary":"Poll SMS code"}},"/api/sms/history":{"get":{"responses":{"200":{"description":"ok"}},"summary":"Rental history"}},"/api/sms/rent":{"post":{"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"country":{"type":"string"},"service":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Rent number 30 min"}},"/api/steg/extract":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"image":{"format":"binary","type":"string"},"password":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Extract text from PNG"}},"/api/steg/hide":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"image":{"format":"binary","type":"string"},"password":{"type":"string"},"text":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"LSB-hide text in PNG"}},"/api/tchain/create":{"post":{"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"name":{"type":"string"},"nhops":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Breadcrumb tripwire chain (each trap reveals the next)"}},"/api/tchain/status":{"get":{"parameters":[{"in":"query","name":"chain_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok"}},"summary":"Trap chain per-hop status"}},"/api/tracer/case":{"post":{"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"name":{"type":"string"},"recipients":{"type":"string"},"text":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Leak tracer: watermarked copies per recipient"}},"/api/tracer/history":{"get":{"parameters":[{"in":"query","name":"limit","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok"}},"summary":"Recent traceroute runs for this account"}},"/api/tracer/identify":{"get":{"parameters":[{"in":"query","name":"case_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"text","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok"}},"summary":"Identify the leaker from a fragment"}},"/api/tracer/run":{"post":{"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"maxhops":{"type":"string"},"port":{"type":"string"},"target":{"type":"string"},"timeout":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Traceroute from this host to target with per-hop geo"}},"/api/track/create":{"post":{"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"filename":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Create $1 invoice for trackable"}},"/api/track/events":{"get":{"parameters":[{"in":"query","name":"token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok"}},"summary":"Trackable open events"}},"/api/user":{"get":{"parameters":[{"in":"query","name":"u","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok"}},"summary":"Username OSINT probe across 16 platforms"}},"/canary":{"post":{"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"kind":{"type":"string"},"rearm":{"type":"string"},"tag":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Create canary trap (tag, kind, rearm)"}},"/chain":{"post":{"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"name":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Create a custody chain (name)"}},"/chain/add":{"post":{"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"data":{"type":"string"},"log":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"ok"}},"summary":"Append an entry to a chain (log, data)"}},"/chain/export":{"get":{"parameters":[{"in":"query","name":"log","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok"}},"summary":"Portable JSON receipt of a chain"}},"/drop/{token}":{"get":{"responses":{"200":{"description":"ok"}},"summary":"Read a dead-drop (burns one read)"}},"/signup":{"get":{"responses":{"200":{"description":"ok"}},"summary":"No-KYC signup page (username + password only)"}}}}
