Skip to main content
POST
/
v2
/
workflows
/
{workflow_id}
/
files
/
curl -X POST 'https://api.anyformat.ai/v2/workflows/550e8400-e29b-41d4-a716-446655440000/files/' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -F 'files=@invoice.pdf'
import requests

workflow_id = "550e8400-e29b-41d4-a716-446655440000"
url = f"https://api.anyformat.ai/v2/workflows/{workflow_id}/files/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY"
}

with open("invoice.pdf", "rb") as f:
    files = [("files", ("invoice.pdf", f, "application/pdf"))]

    response = requests.post(url, headers=headers, files=files)
    print(response.json())
const workflowId = '550e8400-e29b-41d4-a716-446655440000';
const formData = new FormData();
formData.append('files', fileInput.files[0]);

const response = await fetch(`https://api.anyformat.ai/v2/workflows/${workflowId}/files/`, {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  },
  body: formData
});

const data = await response.json();
console.log(data);
interface FileItem {
  filename: string;
  status: string;
}

interface UploadFileResponse {
  id: string;
  name: string | null;
  files: FileItem[];
  workflow_id: string;
}

const workflowId = '550e8400-e29b-41d4-a716-446655440000';
const formData = new FormData();
formData.append('files', file);

const response = await fetch(`https://api.anyformat.ai/v2/workflows/${workflowId}/files/`, {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  },
  body: formData
});

if (!response.ok) {
  throw new Error(`API error: ${response.status}`);
}

const data: UploadFileResponse = await response.json();
console.log(data.id);
{
  "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "name": null,
  "files": [
    {
      "filename": "invoice.pdf",
      "status": "uploaded"
    }
  ],
  "workflow_id": "550e8400-e29b-41d4-a716-446655440000"
}
This endpoint uploads a file. It does not trigger processing. To upload and process in one step, use Run Workflow instead.

Request Body

This endpoint uses multipart/form-data:
FieldTypeRequiredDescription
filesfileYesThe file to upload
curl -X POST 'https://api.anyformat.ai/v2/workflows/550e8400-e29b-41d4-a716-446655440000/files/' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -F 'files=@invoice.pdf'
import requests

workflow_id = "550e8400-e29b-41d4-a716-446655440000"
url = f"https://api.anyformat.ai/v2/workflows/{workflow_id}/files/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY"
}

with open("invoice.pdf", "rb") as f:
    files = [("files", ("invoice.pdf", f, "application/pdf"))]

    response = requests.post(url, headers=headers, files=files)
    print(response.json())
const workflowId = '550e8400-e29b-41d4-a716-446655440000';
const formData = new FormData();
formData.append('files', fileInput.files[0]);

const response = await fetch(`https://api.anyformat.ai/v2/workflows/${workflowId}/files/`, {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  },
  body: formData
});

const data = await response.json();
console.log(data);
interface FileItem {
  filename: string;
  status: string;
}

interface UploadFileResponse {
  id: string;
  name: string | null;
  files: FileItem[];
  workflow_id: string;
}

const workflowId = '550e8400-e29b-41d4-a716-446655440000';
const formData = new FormData();
formData.append('files', file);

const response = await fetch(`https://api.anyformat.ai/v2/workflows/${workflowId}/files/`, {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  },
  body: formData
});

if (!response.ok) {
  throw new Error(`API error: ${response.status}`);
}

const data: UploadFileResponse = await response.json();
console.log(data.id);
{
  "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "name": null,
  "files": [
    {
      "filename": "invoice.pdf",
      "status": "uploaded"
    }
  ],
  "workflow_id": "550e8400-e29b-41d4-a716-446655440000"
}

Authorizations

Authorization
string
header
required

API key issued from app.anyformat.ai/api-key. Send as Authorization: Bearer <key>.

Path Parameters

workflow_id
string
required

Body

multipart/form-data
files
string[]
required

Response

Successful Response

Response from creating a file collection. Contains the collection ID and the status of each uploaded file.

id
string
required

Unique identifier of the newly created file collection.

Example:

"069dcc2c-e14c-7606-8000-2ee4fb17b4e1"

files
FileItem · object[]
required

List of files included in the collection, with their upload status.

workflow_id
string
required

The UUID of the workflow this collection belongs to.

Example:

"0686bb97-8c30-70f0-8000-97669e000eb8"

name
string | null

Human-readable name for the collection.

rejected
RejectedFileItem · object[]

Files the backend refused to accept — unsupported extension at slot-time or disguised bytes at register-time. Empty when every file uploaded cleanly.