Depending on the operation you're performing - either an upload or a download - you'll need to take a secondary action after calling the appropriate presigned URL endpoints.
Uploads
After a successful call to the Presigned Upload URL, you'll need to make a call to the URL returned in the response, you can see the example below:
curl --location --request PUT 'https://s3.eu-west-1.amazonaws.com/sandbox-private.getbrass.co/cus_7e9vgjfzdQZTgH8EdYZmry/ca0939f0-3f06-47aa-9d95-7c6bb11d61ce.jpg?x-amz-acl=private&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAYOX7CAIIYQ2GESN7%2F20201226%2Feu-west-1%2Fs3%2Faws4_request&X-Amz-Date=20201226T152912Z&X-Amz-SignedHeaders=host%3Bx-amz-acl&X-Amz-Expires=1800&X-Amz-Signature=f914166df3d0b025e9373d95f67df693a86e7f632d9e183d5401358b9513d07d' \
--header 'Content-Type: image/jpeg' \
--data-binary '@/path/to/file/locally/IMG-20191219-WA0015.jpg'
If you receive a 200 OK response with an empty body, then the request was successful and you can supply the value of the key to whatever endpoint needs the uploaded file.
Successful Upload
Be aware that a successful upload always returns an empty response body but comes with a
200 OKstatus.
Downloads
In the case of downloads, you should simply send a HTTP GET request to the returned URL.
