Search by name, SuiNS, address, digest, object ID, coin type or checkpoint.

API
intel.cases.create

Method

intel.cases.create

Save an investigation as a case file.

Details

Endpoint
POST /v1/intel/cases
Credits
Free
Rate class
Light. Counts against your light requests per second.
Also called
/v1/omen/cases

Saves a graph investigation (graph state, notes, annotations and timeline) under your account and returns it with its id. Private unless visibility is link. Up to 1000 cases per account and 2 MB per case. Free; needs a login.

Parameters

NameTypeDescription
titlestringUp to 140 characters.
visibilitystringprivate (owner only, the default) or link (anyone with the link can read it).One of "private", "link".
graphobjectThe visualizer's graph state: nodes with positions, pins, groups, hidden nodes, filters and mode.
notesstringMarkdown notes.
annotationsarray of any[{ id, target: { kind: node, id } | { kind: edge, key }, text }]
entriesarray of anyManual timeline entries: [{ id, atMs, text }].
flowsarray of anyThe case's flows for the timeline: [{ key, from, to, fromName, toName, usd, count, coins, firstCheckpoint, lastCheckpoint }]. Times are filled in from the checkpoints.
nodeCountintegerVisible nodes, shown in the case list.

Request

Send your key in the x-api-key header, or leave it out to use the keyless tier.

curl
curl -X POST "https://api.tide.ad/v1/intel/cases" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d '{
  "title": "Drained wallet, Nov 3",
  "notes": "Funds left through two hops."
}'
TypeScript
const res = await fetch("https://api.tide.ad/v1/intel/cases", {
  method: "POST",
  headers: {
    "x-api-key": process.env.TIDE_API_KEY!,
    "content-type": "application/json",
  },
  body: JSON.stringify({
    "title": "Drained wallet, Nov 3",
    "notes": "Funds left through two hops."
  }),
});
const data = await res.json();

Response

No example response is available for this method yet.