Attach a file, through a link or your sandbox
upload_linkAttach a file (a ticket PDF, a booking screenshot, a QR code) to an item; or, with as "photo", a picture of a place, stay or option that your human says is of it, shown as its photo. Only when your human asks, with a file they gave you. If your host passes files to tools (ChatGPT), use attach_file instead. Returns put_url and url:
With a shell that reaches the internet (Claude's code tool, Claude Code, Codex), send the file's bytes yourself: curl -fsS -T -H "X-File-Name: " "<put_url>". It takes one file, within 10 minutes, and replies with it.
Otherwise, or if that fails, give your human url: it opens that record's card on the web with the upload ready. On Claude, when your sandbox couldn't reach app.tripmo.me, also tell them they can allow it (Settings > Capabilities, code execution's allowed domains) so files go straight in next time. Never paste a file's contents (base64) into a call. PDF or an image, up to 20 MB. More in guide "files". To list a record's files, query with include ["files"]; to remove one, write {op:"delete", id:"fil_…"}.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"trip": "<trip>",
"record": "<record>"
},
"name": "upload_link"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| as | No | Leave it out, or "file", for a ticket, a confirmation, a screenshot or a QR code. "photo" only when your human says it's a picture of the place (an image): it then shows as the item's photo. | |
| trip | Yes | The trip id, e.g. "trp_8Kd2…", from list_trips. | |
| record | Yes | The item (itm_…) the file goes on. |