multica-ai/multica · error
upload response missing attachment id
Error message
upload response missing attachment id
What it means
Error "upload response missing attachment id" thrown in multica-ai/multica.
Source
Thrown at server/internal/cli/client.go:483
resp, err := c.HTTPClient.Do(req)
err = wrapTransport(req, err)
if err != nil {
return "", err
}
defer resp.Body.Close()
if resp.StatusCode >= 400 {
return "", newHTTPError(http.MethodPost, "/api/upload-file", resp)
}
var result map[string]any
if err := json.NewDecoder(resp.Body).Decode(&result); err != nil {
return "", fmt.Errorf("decode upload response: %w", err)
}
id, _ := result["id"].(string)
if id == "" {
return "", fmt.Errorf("upload response missing attachment id")
}
return id, nil
}
// UploadChatAttachment uploads a file via multipart form to /api/upload-file
// tagged with a chat task (task_id). The server binds the row to the assistant
// reply that task produces on completion. Returns the full AttachmentResponse
// (id + markdown_url) so the agent can embed the image inline in its reply.
func (c *APIClient) UploadChatAttachment(ctx context.Context, fileData []byte, filename, taskID string) (AttachmentResponse, error) {
var body bytes.Buffer
writer := multipart.NewWriter(&body)
part, err := writer.CreateFormFile("file", filepath.Base(filename))
if err != nil {
return AttachmentResponse{}, fmt.Errorf("create form file: %w", err)
}
if _, err := part.Write(fileData); err != nil {
return AttachmentResponse{}, fmt.Errorf("write file data: %w", err)View on GitHub (pinned to 2c0912b6ec)
Solutions
- Retry the upload; if it persists, report the missing attachment id as a server bug.
When it happens
Trigger: Thrown at server/internal/cli/client.go:483 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15).
Data as JSON: /api/errors/58cf727b5b944563.
Report an issue: GitHub.