AgentConnect
Agents

Reserve a file upload

Reserve one file upload for a chat turn with this agent and return a short-lived presigned PUT into the deployment’s object store. The browser hashes the file first (sha256, base64) and must send exactly the returned headers and the declared number of bytes; it then names uploadId in the turn’s files. The agent receives a download link, never the bytes through the control plane. Uploaded objects expire with the store’s lifecycle rule. 409 WORKSPACE_TRANSFER_UNAVAILABLE when the deployment has no transfer bucket or it cannot take one right now, 409 DAEMON_FEATURE_MISSING when the agent’s daemon cannot fetch uploads yet, 400 WORKSPACE_TOO_LARGE over the transfer cap.

POST
/v1/orgs/{orgId}/agents/{id}/uploads

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

orgId*string
id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/orgs/string/agents/string/uploads" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "mimeType": "string",    "size": 1,    "sha256": "string"  }'
{  "uploadId": "string",  "url": "string",  "headers": {    "property1": "string",    "property2": "string"  },  "expiresAt": "string"}