PlatformsSlackFiles

filesInfo

Domainfiles
Kindquery
doc_id—
Path/api/files.info
Sends`------WebKitFormBoundaryfB0CNISI5mABPHiN
Content-Disposition: form-data; name`
Readsok, file.id, file.created, file.timestamp, file.mimetype, file.filetype, file.pretty_type, file.user, file.user_team, file.editable, file.size, file.mode and 28 more
Called fromruns/inspect/20261103T065639_mattSlack/script29.js:146 ONID, runs/inspect/20261103T065639_mattSlack/script3.js:2954 ONID, runs/inspect/20261103T065639_mattSlack/script31.js:2988 anonymous
reaev_12ba4cbff16bcfff03c965806d7b9ef2b8cd4fa735ec9b7a8a1cf8c7cfa9bb71

Seen 1 time(s) in 1 run(s).

ActionOur stepTimesStatusTookAfter step startErrors
inspectstep 6: goto /client/T0C4VCD06MR/D0C8VAE7REU1200346 ms6930 ms—

What it sent and what came back (the newest 1 from our runs)

Read from each run's own recording (rule 73), secrets and signed link tokens taken out. Kept in ~/.logCli/rea/clientFacts.json, so it stays after the run is pruned.

runs/inspect/20261103T065639_mattSlack, step 6: goto /client/T0C4VCD06MR/D0C8VAE7REU: 200, 346 ms

Sent:

{
  "query": {
    "_x_id": "2c6eaecf-1793689122.015",
    "_x_gantry": "true",
    "_x_desktop_ia": "4",
    "_x_csid": "aVvVPXA0sak",
    "slack_route": "T0C4VCD06MR",
    "_x_version_ts": "1793684253",
    "_x_foreground": "true",
    "_x_frontend_build_type": "current",
    "fp": "6f",
    "_x_num_retries": "0"
  },
  "body": {
    "------WebKitFormBoundaryfB0CNISI5mABPHiN\r\nContent-Disposition: form-data; name": "\"token\"\r\n\r\nxoxc-12165421006739-12156263517591-12492529441700-5bffe6e6a317b9bbab53d938a4526d20e882de6ab372cd46f9f90868bb0322a0\r\n------WebKitFormBoundaryfB0CNISI5mABPHiN\r\nContent-Disposition: form-data; name=\"file\"\r\n\r\nF0CDBB09HT5\r\n------WebKitFormBoundaryfB0CNISI5mABPHiN\r\nContent-Disposition: form-data; name=\"page\"\r\n\r\n1\r\n------WebKitFormBoundaryfB0CNISI5mABPHiN\r\nContent-Disposition: form-data; name=… (1085 chars)"
  }
}

Answered:

{
  "ok": true,
  "file": {
    "id": "F0CDBB09HT5",
    "created": 1793354470,
    "timestamp": 1793354470,
    "mimetype": "application/vnd.slack-docs",
    "filetype": "quip",
    "pretty_type": "Canvas",
    "user": "U0A9JFXK21L",
    "user_team": "T0A9H4FM18V",
    "editable": true,
    "size": 0,
    "mode": "quip",
    "is_external": false,
    "external_type": "",
    "is_public": false,
    "public_url_shared": false,
    "display_as_bot": false,
    "username": "",
    "name": "Untitled",
    "title": "Untitled",
    "is_modified_by_ai": false,
    "url_private": "https://files.slack.com/files-pri/T0A9H4FM18V-F0CDBB09HT5/canvas",
    "url_private_download": "https://files.slack.com/files-pri/T0A9H4FM18V-F0CDBB09HT5/download/canvas",
    "permalink": "https://rheosgroup.slack.com/docs/T0A9H4FM18V/F0CDBB09HT5",
    "permalink_public": "https://slack-files.com/T0A9H4FM18V-F0CDBB09HT5-ae8c59ce98",
    "url_static_preview": "https://rheosgroup.slack.com/docs/T0A9H4FM18V/F0CDBB09HT5/mobile",
    "quip_thread_id": "YZR9AAL1PgV",
    "update_notification": null,
    "source_team": "T0A9H4FM18V",
    "favorites": [],
    "is_starred": false,
    "skipped_shares": true,
    "is_restricted_sharing_enabled": false,
    "has_rich_preview": false,
    "file_access": "visible",
    "access": "write",
    "org_or_workspace_access": "none",
    "canvas_creator_id": "U0A9JFXK21L",
    "team_pref_version_history_enabled": true,
    "canvas_printing_enabled": true,
    "is_ai_suggested": false,
    "editors": [],
    "show_badge": false,
    "comments_count": 0
  },
  "comments": [],
  "paging": {
    "count": 0,
    "total": 0,
    "page": 1,
    "pages": 0
  }
}

What it does

Fetches one file object (file.id, file.mimetype, file.filetype, file.size, file.user, file.mode...): it fired once, 6.9 s into step 6 (goto the DM), 346 ms, 200.

What our machine does with it

The engine does not call it: file_of in python/slackApi/engine.py uses the url_private_download or url_private already on the message's file (from conversations.history or the websocket) and fetches it with fetch_authenticated. The vendored gabriel/client/files.py has files.info but nothing in the engine uses it.

What can go wrong

Slack answers {ok: false, error: ...} (usually still HTTP 200) when it refuses; the recording shows only 200 with no errors here. file_not_found would mean the file was deleted; a send or read in log-cli does not depend on it.