---
title: "Begin File Upload"
method: POST
path: "/file_actions/begin_upload/{path}"
tags: ["file_actions", "File Upload Parts"]
---

# Begin File Upload

`POST /file_actions/begin_upload/{path}`

Begin File Upload

## Path parameters

- `path` string, required

## Response `200`

The FileActions object.

- FileUploadPartEntity[]
  - `send` object — Content-Type and File to send
  - `action` string — Type of upload
  - `ask_about_overwrites` boolean — If `true`, this file exists and you may wish to ask the user for overwrite confirmation
  - `available_parts` integer — Number of parts in the upload
  - `expires` string — Date/time of when this Upload part expires and the URL cannot be used any more
  - `headers` object — Additional upload headers to provide as part of the upload
  - `http_method` string — HTTP Method to use for uploading the part, usually `PUT`
  - `next_partsize` integer — Size in bytes for this part
  - `parallel_parts` boolean — If `true`, multiple parts may be uploaded in parallel. If `false`, be sure to only upload one part at a time, in order.
  - `retry_parts` boolean — If `true`, parts may be retried. If `false`, a part cannot be retried and the upload should be restarted.
  - `parameters` object — Additional HTTP parameters to send with the upload
  - `part_number` integer — Number of this upload part
  - `partsize` integer — Size in bytes for the next upload part
  - `path` string — New file path
  - `ref` string — Reference name for this upload part
  - `upload_uri` string — URI to upload this part to
  - `direct_connection_info` DirectConnectionInfoEntity
    - `version` integer — Direct connection information schema version.
    - `server_name` string — TLS server name (SNI and Host header) for the Agent's direct transfer listener.
    - `addresses` string[] — Validated ip:port candidates that may be dialed over TCP+TLS for this transfer.
    - `direct_uri` string — Signed HTTPS URI for direct Agent transfer traffic.
    - `ca_pem` string — PEM-encoded CA certificate used to verify the Agent's direct transfer TLS certificate.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `405` — Method Not Allowed
- `409` — Conflict
- `412` — Precondition Failed
- `422` — Unprocessable Entity
- `423` — Locked
- `429` — Too Many Requests

---

[API](https://skmtc.net/files/apis/files-com-api.md) · [All operations](https://skmtc.net/files/apis/files-com-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/files/files-com-api/revisions/c6d6f57e6da8/schema)
