upload_ticket_attachment
Attach a file or generated text to a ticket as evidence. Use a file path for existing files, or provide text content with a filename for new data.
Instructions
Attach a file to a ticket — the way an agent puts evidence on a ticket rather than describing it. Two ways to give it the bytes, and exactly one must be used. file_path reads a file from the machine THIS SERVER runs on (normally the agent's own machine, since the client starts this as a subprocess) and is the right one for anything that already exists on disk; it costs no context, so prefer it. text is for content the agent has just written — a log, a CSV, a diff — and needs filename alongside it. Laver refuses anything that is not one of application/pdf, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.openxmlformats-officedocument.wordprocessingml.document, image/gif, image/jpeg, image/png, image/webp, text/csv, text/plain, and refuses a file whose BYTES do not match the type its name claims, so renaming a zip to .png fails at the server rather than here. 25 MB is the ceiling. A workspace over its storage quota is a 402, which no retry fixes. Uploading is a write: a read-only role is a 403.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Literal file content, for something the agent wrote rather than something on disk. Requires `filename` | |
| filename | No | The name to store it under. Required with `text`; defaults to the basename of `file_path`. Its extension decides the content type | |
| file_path | No | Path to an existing file on the machine running this server. Mutually exclusive with `text` | |
| task_uuid | Yes | The ticket's uuid, from list_tickets, get_board or search | |
| content_type | No | Overrides the type guessed from the filename's extension |