Complete a direct upload
Checks the uploaded object against the size limit and MIME type authorized when the upload was created. Records actual size only after validation. Oversized or MIME-mismatched objects are deleted. No request body is required; client size or limit claims are ignored. Repeated completion requests recheck storage metadata.
Checks the uploaded object against the size limit and MIME type authorized when the upload was created. Records actual size only after validation. Oversized or MIME-mismatched objects are deleted. No request body is required; client size or limit claims are ignored. Repeated completion requests recheck storage metadata.
Authorization
BearerApiKey API key from AI Application settings
In: header
Path Parameters
uuidResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://loading/api/v1/storage-objects/497f6eca-6276-4993-bfeb-53cbbbba6f08/complete"{
"storageObjectId": "7f5af0cf-fc95-42d7-a16f-f40e471a1b60",
"sizeBytes": 0,
"contentType": "string"
}{
"error": "string"
}{
"error": "string"
}{
"error": "string"
}{
"error": "string"
}{
"error": "string"
}{
"error": "string"
}Create a presigned upload POST
Reserves an AI Application-scoped storage object and returns a short-lived direct-upload descriptor. Upload the file bytes straight to `uploadUrl` using the returned `method`, `headers`, and `fields`; the file never passes through Promptic. After uploading, POST to /storage-objects/{id}/complete to validate the actual stored size and MIME type. Declared size is not recorded as actual usage. Defaults to private access. MIME types are checked before signing: artifacts and benchmarks folders accept PDF, PNG, JPEG, WebP, plain text, CSV, Markdown, JSON, DOCX, and XLSX. Other folders additionally accept binary (application/octet-stream), PPTX, ZIP, GIF, SVG, and HTML. Media type matching is case-insensitive and ignores MIME parameters. Unsupported types return 400.
Get a presigned download URL GET
Returns a short-lived signed GET URL for a storage object in the caller's AI Application. Requests for objects outside the caller's AI Application return 404 with no existence leak.