curl --request POST \
--url https://api.tryfuse.ai/api/v1/business/imports/presign \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"filename": "<string>"
}
'import requests
url = "https://api.tryfuse.ai/api/v1/business/imports/presign"
payload = { "filename": "<string>" }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({filename: '<string>'})
};
fetch('https://api.tryfuse.ai/api/v1/business/imports/presign', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"upload": {
"importId": "dXBsb2Fkcy82OGExZjIwYjljNDFkMjAwMTRiM2U5MDEvM2Y2ZjBlMmEtOGQ0Yi00ZTFhLTk3YzItNWQ4YjFmMGUyYTdjLmNzdg",
"uploadUrl": "https://fuseai-csv-uploads.s3.us-east-1.amazonaws.com/uploads/68a1f20b9c41d20014b3e901/3f6f0e2a-8d4b-4e1a-97c2-5d8b1f0e2a7c.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=600&X-Amz-Signature=9c1e4b2a7d3f5e6c",
"method": "PUT",
"expiresIn": 600
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}Presigned upload for a large import file
Issues a presigned S3 PUT for a CSV/XLS/XLSX import file larger than the 10MB multipart line (up to 50MB). PUT the raw file bytes to uploadUrl with the same Content-Type you declared, within expiresIn seconds (600), then pass the returned importId to POST /business/imports. Nothing is parsed or billed at this step.
Errors:
422IMPORT_FILE_UNSUPPORTED— The presign service refused the content type (reachable only if its allow-list and the documented enum drift apart).422VALIDATION_FAILED— filename missing/blank or contentType outside the three supported MIME types.429RATE_LIMITED— The lists rate bucket (120 requests/minute, 10,000/day per token owner) is exhausted.
Requires one of the following token scopes: lists.
curl --request POST \
--url https://api.tryfuse.ai/api/v1/business/imports/presign \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"filename": "<string>"
}
'import requests
url = "https://api.tryfuse.ai/api/v1/business/imports/presign"
payload = { "filename": "<string>" }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({filename: '<string>'})
};
fetch('https://api.tryfuse.ai/api/v1/business/imports/presign', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"upload": {
"importId": "dXBsb2Fkcy82OGExZjIwYjljNDFkMjAwMTRiM2U5MDEvM2Y2ZjBlMmEtOGQ0Yi00ZTFhLTk3YzItNWQ4YjFmMGUyYTdjLmNzdg",
"uploadUrl": "https://fuseai-csv-uploads.s3.us-east-1.amazonaws.com/uploads/68a1f20b9c41d20014b3e901/3f6f0e2a-8d4b-4e1a-97c2-5d8b1f0e2a7c.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=600&X-Amz-Signature=9c1e4b2a7d3f5e6c",
"method": "PUT",
"expiresIn": 600
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}Authorizations
Your API token (af_…) as the Basic-auth username, with an empty password.
Body
Original file name, e.g. leads.csv (1-500 characters). Free text kept for your own reference: it does not name the stored object, and the file's format is read from contentType alone, so an extension that disagrees with contentType changes nothing.
1 - 500MIME type of the file to upload: text/csv, application/vnd.ms-excel (XLS) or application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (XLSX); the PUT to uploadUrl must send the same Content-Type.
text/csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet Response
Success
Show child attributes
Show child attributes