Skip to content

Generate Presigned URLs

POST
/v2/files/generate-url
curl --request POST \
--url http://localhost:3000/v2/files/generate-url \
--header 'Content-Type: application/json' \
--data '{ "id": "api.files.generate-url", "ver": "v2", "ts": "2024-04-19T12:58:47+05:30", "params": { "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6" }, "request": { "files": [ "telemetry.json", "school_data.json" ], "access": "write" } }'

This API generates presigned URLs to upload or download files from cloud

Media type application/json
object
Example
{
"id": "api.files.generate-url",
"ver": "v2",
"ts": "2024-04-19T12:58:47+05:30",
"params": {
"msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6"
},
"request": {
"files": [
"telemetry.json",
"school_data.json"
],
"access": "write"
}
}

OK

Media type application/json
object
Examples

Success: Generate put url

{
"id": "api.files.generate-url",
"ver": "v2",
"ts": "2024-07-16T08:26:19+05:30",
"params": {
"status": "SUCCESS",
"msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6",
"resmsgid": "5306f309-4a15-458e-89e2-29d8ac0835d4"
},
"responseCode": "OK",
"result": [
{
"filePath": "test-connector/api-service/user_uploads/telemetry_10d595.json",
"fileName": "telemetry.json",
"preSignedUrl": "https://test-connector.s3.us-east-2.amazonaws.com/test-connector/api-service/user_uploads/telemetry_10d595.json?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA2SANCC6IV26VYMEG%2F20240716%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Date=20240716T025619Z&X-Amz-Expires=600&X-Amz-Signature=49bbe1fe3fb1a16a0baa07ecd7331d9f6500c476287d225077f1a5dbccddeb50&X-Amz-SignedHeaders=host&x-id=PutObject"
},
{
"filePath": "test-connector/api-service/user_uploads/school_data_33109a.json",
"fileName": "school_data.json",
"preSignedUrl": "https://test-connector.s3.us-east-2.amazonaws.com/test-connector/api-service/user_uploads/school_data_33109a.json?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA2SANCC6IV26VYMEG%2F20240716%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Date=20240716T025619Z&X-Amz-Expires=600&X-Amz-Signature=5ece002651b6437caa0193b5241a9172faec600093e4dca7f831645004c38cf5&X-Amz-SignedHeaders=host&x-id=PutObject"
}
]
}
X-Powered-By
string
Example
Express
Content-Length
integer
Example
1344
ETag
string
Example
W/"540-790rZel+H/rDwgvZRxvlUmZ8Gpc"
Date
string
Example
Tue, 16 Jul 2024 02:56:19 GMT
Connection
string
Example
keep-alive
Keep-Alive
string
Example
timeout=5

Bad Request

Media type application/json
object
Examples

Failure: limit exceeds

{
"id": "api.files.generate-url",
"ver": "v2",
"ts": "2024-07-16T08:33:04+05:30",
"params": {
"status": "FAILED",
"msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6",
"resmsgid": "d3a606ca-47d0-4746-95a1-c8692e749959"
},
"responseCode": "BAD_REQUEST",
"error": {
"code": "FILES_URL_GENERATION_LIMIT_EXCEED",
"message": "Pre-signed URL generation failed: limit exceeded.",
"trace": ""
}
}
X-Powered-By
string
Example
Express
Content-Length
integer
Example
355
ETag
string
Example
W/"163-9oQYJJEaBH3mJAnzDHXn2MxE848"
Date
string
Example
Tue, 16 Jul 2024 03:03:04 GMT
Connection
string
Example
keep-alive
Keep-Alive
string
Example
timeout=5