---
title: "Upload File"
method: POST
path: "/api/recon/v3/upload-file"
tags: ["Recon APIs"]
---

# Upload File

`POST /api/recon/v3/upload-file`

## Request

- Base URL: `https://api.portone.cloud`
- URL: `https://api.portone.cloud/api/recon/v3/upload-file`
- Auth: none declared

This endpoint is used to upload a single file. See Create Recon api next.

## Headers

- `X-Portone-Client-Key` string
- `Content-Type` string
- `Authorization` string

## Request body `multipart/form-data`

- object
  - `file` string, binary, required
  - `environment` 'live' | 'sandbox', required: The environment of the transaction is either live OR sandbox

## Response `200`

OK

- object
  - `data` object
    - `file_key` string: The key or path of the uploaded file in the storage bucket.
    - `file_link` string: A URL link to access the uploaded file.
    - `file_name` string: The name of the file after it was uploaded.
    - `original_file_name` string: The original name of the file before uploading.
    - `recon_id` string: The ID associated with the reconciliation process.
  - `message` string: A message indicating the result of the file upload process.
  - `status_code` string: Status code indicating the success of the operation.
  - `status_reason` string: The reason or description of the status.

## Other responses

- `400`: Bad Request

---

[API](https://skmtc.dev/portone/apis/recon-apis.md) - [All operations](https://skmtc.dev/portone/apis/recon-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/portone/apis/recon-apis/revisions/fe87490291bb?raw)
