---
title: "Create File"
method: POST
path: "/v1/files"
tags: ["Files"]
---

# Create File

`POST /v1/files`

Uploads a file to Flex. The request must be a `multipart/form-data` upload containing a `file` part and a `purpose` part. The file must be a JPEG, PNG, or PDF no larger than 5 MB; PNGs using 16-bit depth or Adam7 interlacing are rejected. The uploaded file can then be referenced by ID elsewhere in the API, for example as evidence on a dispute. Requires the `files_write` scope.

## Response `200`

An envelope wrapping a single file object.

- FileBody — An envelope wrapping a single file object.
  - `file` V1File, required — A File represents a document you uploaded to Flex, such as evidence to contest a dispute. Files are uploaded via the file upload endpoint and referenced by ID on other API objects.
    - `file_id` string, required — Unique identifier for the file.
    - `purpose` 'account_requirement' | 'additional_verification' | 'business_icon' | 'business_logo' | 'customer_signature' | 'dispute_evidence' | 'document_provider_identity_document' | 'finance_report_run' | 'financial_account_statement' | 'identity_document' | 'identity_document_downloadable' | 'issuing_regulatory_reporting' | 'pci_document' | 'platform_terms_of_service' | 'selfie' | 'sigma_scheduled_query' | 'tax_document_user_upload' | 'terminal_android_apk' | 'terminal_reader_splashscreen', required — What the uploaded file will be used for.
    - `filename` string, nullable — The name of the uploaded file as it was supplied at upload time.
    - `size` integer, required — Size of the file, in bytes.
    - `type` string, nullable — The file's format, given as its extension, for example `pdf`, `png`, or `jpg`.
    - `created_at` string, required — A timestamp encoded as an RFC 3339 / ISO 8601 string (e.g. `2026-06-15T14:30:00Z`).
    - `expires_at` string — A timestamp encoded as an RFC 3339 / ISO 8601 string (e.g. `2026-06-15T14:30:00Z`).

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `422` — Validation Error
- `429` — Too Many Requests

---

[API](https://skmtc.dev/withflex/apis/flex-api.md) · [All operations](https://skmtc.dev/withflex/apis/flex-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/withflex/flex-api/revisions/b1560fc2f199/schema)
