Build another client while reusing the Rust core.

LocalSlack devices expose a small Axum API on the local network. Use these request and response shapes as a Postman collection starter when building another platform around the same peer core.

POST/api/v1/prepare-upload

Prepare upload session

Request

{
  "files": [
    {
      "id": "avatar-png",
      "name": "avatar.png",
      "size": 248120,
      "sha256": "9b2f..."
    }
  ],
  "sender": {
    "id": "design-macbook",
    "name": "Design MacBook"
  }
}

Response

{
  "session_id": "local-17162001",
  "token": "upload-token",
  "accepted_files": ["avatar-png"]
}
POST/api/v1/upload/{sessionId}/{fileId}

Stream file bytes

Request

Binary body with x-localslack-token header

Response

{
  "ok": true,
  "file_id": "avatar-png",
  "bytes_received": 248120,
  "sha256_verified": true
}
POST/api/v1/clipboard

Send clipboard text

Request

{
  "text": "Standup notes are ready.",
  "sender": {
    "id": "qa-laptop",
    "name": "QA Laptop"
  }
}

Response

{
  "ok": true,
  "event": "clipboard-received"
}
DELETE/api/v1/cancel/{sessionId}

Cancel transfer

Request

No JSON body required

Response

{
  "ok": true,
  "cancelled": "local-17162001"
}