---
title: "Upload a binary task file attachment"
method: POST
path: "/api/fs/tasks/{taskId}/files"
tags: ["FS"]
---

# Upload a binary task file attachment

`POST /api/fs/tasks/{taskId}/files`

Accepts a raw binary request body. Pass the display/path name as the `name` query parameter.

## Path parameters

- `taskId` string, uuid, required

## Query parameters

- `name` string, required
- `intent` string
- `description` string
- `isPrimary` 'true' | 'false'

## Response `201`

Uploaded task attachment

- TaskAttachment
  - `id` string, uuid, required
  - `taskId` string, uuid, required
  - `agentId` string, nullable, required
  - `name` string, required
  - `kind` 'agent-fs' | 'url' | 'shared-fs' | 'page', required
  - `url` string
  - `path` string
  - `pageId` string
  - `providerId` string
  - `providerKey` string
  - `capabilities` object
  - `orgId` string
  - `driveId` string
  - `mimeType` string
  - `sizeBytes` integer
  - `sha256` string
  - `intent` string
  - `description` string
  - `isPrimary` boolean
  - `createdAt` string, date-time, required
  - `createdBy` string
  - `updatedBy` string

## Other responses

- `400` — Validation error
- `403` — Caller cannot mutate this task
- `404` — Task not found
- `413` — Upload exceeds 50 MiB

---

[API](https://skmtc.net/desplega-ai/apis/agent-swarm-api.md) · [All operations](https://skmtc.net/desplega-ai/apis/agent-swarm-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/desplega-ai/agent-swarm-api/versions/0375890be8c4/schema)
