Hi @raffy_m, I’m not familiar with C#, but here’s how you can do it with curl and Python:
curl
curl -X POST https://kf.kobotoolbox.org/api/v2/assets/$ASSET_UID/files.json \
-H "Authorization: Token $TOKEN" \
-F content=@something.png \
-F file_type=form_media \
-F description=something \
-F metadata='{"filename": "something.png"}'
Python
import requests
import json
TOKEN = 'your secret token'
ASSET_UID = 'your asset uid'
URL = f'https://<kf_url>/api/v2/assets/{ASSET_UID}/files.json'
HEADERS = {'Authorization': f'Token {TOKEN}'}
payload = {'filename': 'something.png'}
data = {'description': 'something', 'metadata': json.dumps(payload), 'file_type': 'form_media'}
files = {'content': open('something.png', 'rb')}
res = requests.post(url=URL, headers=HEADERS, data=data, files=files)