Confluye
Endpoints

Presentations

Create a PPTX and SVG preview Workspace Files from a PresentationSpec.

Single endpoint POST /api/v1/presentations. Envelope: api-contracts.v1. See Presentations for spec types, pagination, and file rollback.

Create

POST /api/v1/presentations201 { presentation }.

Requires header Idempotency-Key (validated before JSON parse). Idempotency lock: 30 minutes.

{
  "name": "Q3 review",
  "spec": {
    "theme": "fluxus",
    "slides": [{ "type": "title", "title": "Q3 review" }]
  }
}
FieldNotes
nameOptional, trim, 1–255. Drives output file basename.
specRequired. Strict object; extra keys (including workspaceId) → 422.

data.presentation (service payload, not a Workspace File row):

FieldNotes
idRender UUID; used as Files resourceId for artifact references
slideCountLaid-out slide count
presentationSerialized ready PPTX Workspace File
previewsArray of { slideIndex, ...serializedFile } SVG files

Serialized files match the Files object (id, name, mimeType, sizeBytes, sha256, status, createdAt, updatedAt).

Capability presentation.create uses the same service (name, spec) after Files write readiness.

Error map

HTTPerror.codeTypical cause
400idempotency_key_invalidMissing/invalid Idempotency-Key
401authentication_requiredBearer
403authorization_failedNon-workspace key
404resource_not_foundImage fileId not in this workspace (Presentation image file was not found.)
409conflictInput file not ready, or generated file failed scan
422validation_failedSpec/body invalid, unsupported image MIME/size
500internal_errorPresentation creation failed. (not idempotency-cached)

Next steps