Skip to main content
Generate a signed URL for uploading a file. Client must declare file size for quota tracking.

Tool details

FieldValue
Namecreate_upload_url
GroupUploads

Playground

Input schema

Input schema
{
  "type": "object",
  "properties": {
    "project_reference": {
      "type": "string",
      "description": "Project ID or slug"
    },
    "file_path": {
      "type": "string",
      "description": "Destination path (e.g., assets/image.png). Must be URL-encoded if it contains special characters or spaces."
    },
    "content_type": {
      "type": "string",
      "description": "MIME type"
    },
    "size": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "File size in bytes (required for quota tracking)"
    }
  },
  "required": [
    "project_reference",
    "file_path",
    "size"
  ],
  "additionalProperties": false,
  "description": "Input schema for the create_upload_url tool.",
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output schema

Output schema
{
  "type": "object",
  "properties": {
    "upload_url": {
      "type": "string",
      "description": "The upload url associated with this tool result."
    },
    "file_path": {
      "type": "string",
      "description": "The file path associated with this tool result."
    },
    "upload_id": {
      "type": "string",
      "description": "The upload id associated with this tool result."
    },
    "required_headers": {
      "type": "object",
      "additionalProperties": {
        "type": "string",
        "description": "Additional structured values associated with this result."
      },
      "description": "Headers the client must include in the PUT request"
    }
  },
  "required": [
    "upload_url",
    "file_path",
    "upload_id",
    "required_headers"
  ],
  "additionalProperties": false,
  "description": "Structured result returned by the create_upload_url tool.",
  "$schema": "http://json-schema.org/draft-07/schema#"
}