Skip to content
getgeolens.com

Request Presigned Upload

POST
/ingest/upload/presigned
curl --request POST \
--url https://example.com/ingest/upload/presigned \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "content_type": "application/octet-stream", "file_size": 1, "filename": "example" }'

Request presigned URL(s) for direct-to-S3 file upload.

Media type application/json
PresignedUploadRequest
object
content_type
Content Type

MIME type to associate with the uploaded object.

string
default: application/octet-stream <= 255 characters
file_size
required
File Size

Total file size in bytes. Used to decide between single-part and multipart upload.

integer
>= 1
filename
required
Filename

Original filename being uploaded. Used to determine the file extension and content disposition.

string
>= 1 characters <= 255 characters

Successful Response

Media type application/json
PresignedUploadResponse
object
job_id
required
Job Id

Identifier of the ingestion job created for this upload.

string format: uuid
part_size
Any of:
integer
s3_key
required
S3 Key

Object key in the S3 bucket where the file will be stored.

string
upload_id
Any of:
string
urls
required
Urls

One presigned PUT URL per part. Single-element list for single-part uploads.

Array<string>
Example generated
{
"job_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"part_size": 1,
"s3_key": "example",
"upload_id": "example",
"urls": [
"example"
]
}

Bad request — invalid payload

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}

Unauthorized — missing or invalid credentials

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}

Forbidden — caller lacks write access

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}

Not found

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}

Conflict — resource state prevents the operation

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}

Validation error

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}

Internal server error

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}