Skip to main content
GET
/
v1
/
beta
/
file_upload_url
cURL
curl --request GET \
  --url https://trytako.com/api/v1/beta/file_upload_url \
  --header 'X-API-Key: <api-key>'
{
  "url": "<string>",
  "fields": {},
  "key": "<string>",
  "file_id": "<string>"
}

Notes

  • To authenticate, you’ll need a Tako API key. It’s best practice to store it as an environment variable to avoid hardcoding sensitive credentials in your code.
  • Supported file formats: .csv, .xls, .xlsx, .parquet
  • File size is limited to 5MB currently

Uploading Your File (Using the Response)

Once you call the GET /v1/beta/file_upload_url endpoint, you’ll receive a response with:
  • A url to POST your file to (typically an S3 bucket)
  • A fields object containing required form fields

Step-by-step Instructions

  1. Make a POST request to the provided url
  2. Include all fields as form fields
  3. Attach your file as file=@<path> in a multipart/form-data request

Example Using cURL

Example File Upload
curl -X POST "https://tako-byod-files-production.s3.amazonaws.com/" \
  -F "Content-Type=text/csv" \
  -F "key=byod/10a2b16e-7116-4023-9f0e-d61f99cedd89/your_file.csv" \
  -F "x-amz-algorithm=..." \
  -F "x-amz-credential=..." \
  -F "x-amz-date=..." \
  -F "policy=..." \
  -F "x-amz-signature=..." \
  -F "file=@/path/to/your/local/file.csv"
Replace each ... with the exact value returned in the fields object from the upload URL response. Do not modify or omit any fields — they are required for the upload to succeed.

Authorizations

X-API-Key
string
header
required

Query Parameters

file_name
string
required

Name of the file

Response

200 - application/json

Presigned URL and fields to upload a file

url
string
required

URL to upload the file to

fields
object
required

Fields to specify in the request to upload the file

key
string
required

Key of the file in the S3 bucket

file_id
string
required

ID of the file that can be referenced in the input to the visualize endpoint