Get file content
Get a short-lived download URL for stored file content.
/namespaces/{namespace}/collections/{collection}/files/{file}/contentPermissionCluster key, or a scoped key with read (write includes read). Key scopes and actions.
- The response is JSON with url and expires_at. Fetch the bytes from that URL.
- An external source can return external_source when the connector cannot issue a signed download URL. Serve those bytes from your own object store.
- A pending upload or content copy may return operation_in_progress.
Path parameters
Namespace name or ns_ ID. It must be visible to this key.
Collection name or col_ ID within the namespace. It must be visible to this key.
File ID with the fil_ prefix, or a file path encoded as one URL segment. Encode each / as %2F. Exact path lookup is also available with GET files?path=.
Responses
200Success
A signed URL for a separate GET of the bytes.
application/json
Response headers
The Engine request ID. Retain it when investigating a failed or unexpected request.
The X-Request-Id you sent, echoed when it is a valid ID. Otherwise, the Engine request ID.
ISO 8601 UTC time after which the signed download URL expires.
Short-lived URL to GET the file bytes. The API returns this URL as JSON, not as a redirect or the file itself.
Errors
Select an error in the response example to see its JSON body. See error handling for the common error format.
- 400invalid_request
A field, path, parameter, or conditional request rule is invalid.
What to do: Correct the request. Unknown fields are rejected.
- 401unauthenticated
The API key is missing, invalid, or revoked.
What to do: Send an active key in Authorization: Bearer or X-API-Key.
- 403forbidden
The key can see the resource but lacks permission for this operation.
What to do: Use a key with the required action or scope kind.
- 404not_found
The resource is absent, deleted, or outside this key’s scope.
What to do: Check the identifier and the key’s namespace and collection scope.
- 409external_source
The API cannot provide a signed download URL for this external source.
What to do: Read the bytes from the source object store using your own application’s access controls.
- 409operation_in_progress
An unfinished operation conflicts with this request.
What to do: Inspect the existing job and wait for its completion event before retrying.
- 500internal_error
An unexpected server failure prevented this request from completing.
What to do: Retain request_id for investigation. Follow retryable before retrying a write.