Skip to content

Mint a presigned slot for a build-context upload
experimental

post/v2/projects/{ref}/compute/{name}/uploads

PUT the .tar.gz build context to the returned url before expires_at, then deploy with the upload id as context_upload_id. The bytes go straight to storage — no management API request carries them.

This endpoint is currently in its Alpha stage.

OAuth scopes

  • edge_functions:write

The fine-grained token must include the following permissions to access this endpoint:

  • workers_write

Path parameters

  • ref
    Required
    string

    Project ref

  • name
    Required
    string

Response codes

  • 201
  • 401
  • 403
  • 429

Response (201)

{
"data": {
"type": "project_compute_instance_upload",
"id": "cafe0000000000000000000000000000",
"attributes": {
"url": "lorem",
"method": "PUT",
"expires_at": "lorem"
}
}
}
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Resource type.",
"enum": [
"project_compute_instance_upload"
]
},
"id": {
"type": "string",
"description": "Upload id to pass to the deploy endpoint as `context_upload_id`.",
"example": "cafe0000000000000000000000000000"
},
"attributes": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Presigned destination for the `.tar.gz` build context."
},
"method": {
"type": "string",
"example": "PUT"
},
"expires_at": {
"type": "string",
"description": "When the slot stops accepting the upload."
}
},
"required": [
"url",
"method",
"expires_at"
]
}
},
"required": [
"type",
"id",
"attributes"
]
}
},
"required": [
"data"
]
}