Files

55 lines
1.3 KiB
Plaintext

---
title: "File Uploads"
description: "Upload target files and workflows"
---
# File Uploads
## Upload Input File
Upload a file containing a list of inputs (targets, URLs, etc.) for later use in runs.
```bash
curl -X POST http://localhost:8002/osm/api/upload-file \
-H "Authorization: Bearer $TOKEN" \
-F "file=@targets.txt"
```
**Response:**
```json
{
"message": "File uploaded",
"filename": "1704326400000000000_targets.txt",
"path": "/home/user/osmedeus-base/data/uploads/1704326400000000000_targets.txt",
"size": 1024,
"lines": 50
}
```
The returned `path` can be used as a target in subsequent run requests.
---
## Upload Workflow
Upload a raw YAML workflow file and save it to the workflows directory.
```bash
curl -X POST http://localhost:8002/osm/api/workflow-upload \
-H "Authorization: Bearer $TOKEN" \
-F "file=@my-custom-workflow.yaml"
```
**Response:**
```json
{
"message": "Workflow uploaded",
"name": "my-custom-workflow",
"kind": "module",
"description": "A custom security workflow",
"path": "/home/user/osmedeus-base/workflows/modules/my-custom-workflow.yaml"
}
```
The workflow file must be a valid YAML with `.yaml` or `.yml` extension. It will be saved to either the `flows/` or `modules/` subdirectory based on the workflow kind.