request_upload
Mints a one-time upload address for a CSV on your disk and returns the import id, the address, when it expires (15 minutes), the byte limit, and a ready-made curl command to run in your own shell. size_bytes must be the file’s exact size, because the address is opened for that length. The file goes straight to storage, so it never travels through the conversation. Takes the dataset name, the object role and whose records the file holds; run validate_csv on the header first.
What it needs
| Argument | Type | Required | Description |
|---|---|---|---|
name | string | Yes | |
object_role | string | Yes | |
data_origin | string | Yes | |
size_bytes | any | No | |
description | any | No |
What it returns
An import id, the storage address to send the file to, when that address expires, the byte limit, and a copy-pasteable curl command to run in your own shell.
Credential
An app session token, from an authenticated app.ax1om.ai session. Call it with only an API key and you get a plain refusal saying so, rather than a confusing 401.
Network call: yes. The full credential split is on authentication.
Example call
Most readers never write the protocol themselves: the agent does, once the server is connected. Both forms are the same call.
Use the ax1om MCP server.Call request_upload: mints a one-time upload address for a CSV on your disk and returns the import id, the address, when it expires (15 minutes), the byte limit, and a ready-made curl command to run in your own shell.{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "request_upload", "arguments": {} }}The arguments object is whatever this tool's own input schema declares. An MCP client reads that schema from the server, so it is the server that answers for the exact shape rather than this page.