Consume and download a completed export once
Required scopes: presentation.export.
Send an empty JSON object. This POST atomically consumes a completed requester-private job and streams its full file as an attachment. GET/HEAD return 405 and never consume. Fresh organization, processing, presentation.export and requesting credential checks apply immediately before consumption. Not-ready/failed jobs return 409; expired, missing, consumed or other-requester jobs return 404. Concurrent attempts have one winner. File is opened before the final authorization/consumption transaction and deleted after the stream closes. No signed/public URLs, redirect, Range, resume or retry guarantee; Range is rejected with 422 before consumption. A disconnected or lost response still consumes the job; create a fresh export to retry. No longer retention or repeatable download is introduced. Body is required application/json with no fields. Idempotency-Key is unsupported and rejected with 422 idempotency_not_supported. No secret-bearing response or one-use download stream is retained.
Response headers:
Cache-Control(200).Content-Length(200).Content-Disposition(200): attachment; filename=“presentation-<export_id>.<extension>”Accept-Ranges(200).X-Content-Type-Options(200).
Authentication
Organization-owned service token. Issue the initial token in organization credential settings. Scopes are documented per operation via x-required-scopes; they are not OAuth scopes.
Path parameters
Organization-owned presentation UUID. Foreign decks return 404.
Requester-private export job ID.
Request
Response headers
attachment; filename=“presentation-<export_id>.<extension>”
Response
Full one-use export attachment. Portable and HTML exports are application/zip.
