Skip to content
Docs
Esc
↑↓navigate↵open⌘Jpreview

Complete an upload

Seal all named files and calculate their SHA-256 and Git blob hashes. Completed uploads are immutable and can be used for publishing or source edits.

POST/v1/uploads/{uploadId}/complete
Authorization
AuthorizationBearer token · headerrequired

Better Auth session, OAuth access token, OAuth client-credentials token, or sfm_ Space machine credential.

or
AuthorizationOAuth2 access token · headerrequired

OAuth 2.0 with explicit Spacefast capability scopes. Use the authorization-code flow for people and client credentials for machines.

Scopes:spaces:write
Path parameters
uploadIdstringrequired
min length 1
Request body
requiredapplication/json
object
Responses
200

Response for status 200

$schemastring<uri>

Canonical JSON Schema URL for this response body. The server also sends it in the Link: rel="describedby" response header.

dataobjectrequired
Show properties
idstringrequired
teamIdstringrequired
spaceIdstring | nullrequired
statusstringrequired
Allowed:opencompletingcompletecanceledexpired
acceptedBytesintegerrequired
min 0 · max 9007199254740991
expiresAtstringrequired
filesobject[]required
Show properties
Array of object
idstringrequired
pathstringrequired
contentTypestringrequired
statusstringrequired
Allowed:opencomplete
acceptedBytesintegerrequired
min 0 · max 9007199254740991
nextChunkIndexintegerrequired
min 0 · max 9007199254740991
sizeinteger | nullrequired
Show properties
Any of:
integer
integer
null
null
sha256string | nullrequired
gitBlobShastring | nullrequired
default

Problem details (RFC 9457). Any 4xx/5xx response is one application/problem+json document.

$schemastring<uri>

Canonical JSON Schema URL for this response body. The server also sends it in the Link: rel="describedby" response header.

typestringrequired

Problem type URI resolving to the error docs page. The server derives it mechanically from code against the docs origin.

titlestringrequired

Short human-readable summary of the problem type. The server derives it mechanically from code.

statusintegerrequired

HTTP status code of this response, repeated in the body.

min -9007199254740991 · max 9007199254740991
detailstringrequired

Human-readable failure explanation for this occurrence.

codestringrequired

Stable snake_case error code naming the failed public contract.

pointerstring

RFC 6901 JSON Pointer into the failing request field, for example "/files/37/path", on validation failures.

detailsobject

Machine-readable context for the error code.

fixstring

One sentence on what to do about this error code, the same text as the type page. Read it before retrying.

suggestionsstring[]

Actionable recovery steps safe to show in dashboards, SDKs, and CLI output.

nextstring[]

Copy-pasteable commands or API requests an agent can run next.

requestIdstringrequired

The request id to quote when contacting support.

Try it
Server
Authorization
Parameters
Bodyapplication/json
Request
curl -X POST 'https://api.spacefast.com/v1/uploads/string/complete' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{}'
Response
{
  "$schema": "http://example.com",
  "data": {
    "id": "string",
    "teamId": "string",
    "spaceId": "string",
    "status": "open",
    "acceptedBytes": 0,
    "expiresAt": "string",
    "files": [
      {
        "id": "string",
        "path": "string",
        "contentType": "string",
        "status": "open",
        "acceptedBytes": 0,
        "nextChunkIndex": 0,
        "size": 0,
        "sha256": "string",
        "gitBlobSha": "string"
      }
    ]
  }
}

Was this page helpful?