Documentation menu

Presign service object download

GEThttps://api.instacloud.com/projects/{projectId}/services/{serviceId}/objects/download

Token scope: account · org · project — read-only tokens allowed.

Presign a short-lived download URL for one bucket object. Gated — storage.read.

Parameters

NameInTypeRequiredDescription
branchquerystringnoBranch name (defaults to the project's default branch)
keyquerystringyesfull object key, as returned by the listing
dispositionquery"attachment" | "inline"noattachment (default) makes the browser save the file; inline lets it render one
projectIdpathstringyes
serviceIdpathstringyes

Responses

200

Default Response

FieldTypeRequiredDescription
urlstringyespresigned GET, 60s TTL, carrying the requested content disposition
expiresAtstringyes

202

Default Response

FieldTypeRequiredDescription
status"approval_required"no
approvalIdstringno
actionstringnothe gated action, or a comma-joined compound set — prefer `actions`
actionsstring[]noevery capability this approval covers
messagestringno
urlstringnothe console page where a project admin reviews this request
nextActionsobject[]no
nextActions.opstringyesNeutral logical action id, e.g. "service.add" — NOT an operationId or a CLI/MCP tool name; each client maps it to its own surface.
nextActions.reasonstringyesNatural-language, human/LLM-facing "why do this now".
nextActions.argsobjectnoSuggested, flat named arguments; "<placeholder>"s where a value is unknown.
nextActions.gatedbooleannoTrue if the action passes a governance gate.

400

Default Response

FieldTypeRequiredDescription
errorstringyes

404

Default Response

FieldTypeRequiredDescription
errorstringyes

View as Markdown