Skip to main content
For most use cases, the slideless pull command handles this endpoint for you — it fetches the manifest and iterates over assets automatically.

When to use

You’re writing a tool that pulls a presentation owned by you or shared with you as a dev collaborator. The endpoint streams one content-addressed blob at a time; pair it with GET /getPresentationVersion to get the manifest (path → sha256 mapping) first.

Endpoint

GET https://europe-west1-slideless-ai.cloudfunctions.net/downloadPresentationAsset
    ?presentationId=<presentationId>
    &sha256=<hex64>
    [&version=<N>]

Authentication

HeaderRequiredNotes
Authorization: Bearer <key>yescko_ org key or cka_ admin key.
The caller must be the owner or an active dev collaborator.

Query parameters

ParamTypeRequiredNotes
presentationIdstringyesThe presentation ID.
sha256stringyes64 lowercase hex chars — the blob’s content hash from the manifest.
versionintegernoWhich version’s manifest to validate against. Default: currentVersion.

Response

200 OK streams the blob body. Content-Type matches the manifest entry. Supports HTTP Range requests (Accept-Ranges: bytes) — useful for large assets. The custom X-Slideless-Sha256 response header echoes the requested hash; the CLI uses it to confirm it got the blob it asked for.

Errors

StatusCodeCauseFix
401unauthenticatedMissing or invalid API keyAuthenticate via slideless login.
403permission-deniedNot the owner or an active dev collaboratorAsk for an invite or verify the key owner.
404not-foundpresentationId, version, or sha256 unknownDouble-check the manifest.

Examples

curl -H "Authorization: Bearer cko_…" \
  "https://europe-west1-slideless-ai.cloudfunctions.net/downloadPresentationAsset?presentationId=01HXYZ&sha256=abcdef…" \
  --output asset.bin