> ## Documentation Index
> Fetch the complete documentation index at: https://opensandbox-oc-s-762ac928075c46d2828bcb22.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Signed Upload

Upload a file using a signed URL. No authentication required — the signature and expiry are validated from query parameters. Send file content as the request body.

Generate a signed URL first via [Generate Upload URL](/api-reference/files/generate-upload-url).

<ParamField path="id" type="string" required>
  Sandbox ID
</ParamField>

<ParamField query="path" type="string" required>
  Absolute path for the destination file
</ParamField>

<ParamField query="expires" type="string" required>
  Unix timestamp when the URL expires
</ParamField>

<ParamField query="signature" type="string" required>
  HMAC-SHA256 signature
</ParamField>

<ResponseExample>
  ```text 204 theme={null}
  (no content)
  ```

  ```json 403 theme={null}
  {
    "error": "invalid signature"
  }
  ```
</ResponseExample>
