{"openapi":"3.1.0","info":{"title":"AllureConnect SCORM API","description":"Subset of Allure Connect endpoints for GPT Actions. For the full OpenAPI 3.1 document (packages, sessions, upload-url, etc.), use GET /api/docs/openapi on the same host.","version":"1.0.0"},"servers":[{"url":"https://app.allureconnect.com","description":"AllureConnect API"}],"paths":{"/api/v1/quick-publish":{"post":{"operationId":"createScormCourse","summary":"Create a SCORM course from slides","description":"Generate a hosted SCORM course package from structured slide content. Returns a package ID that can be launched for learners.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["title","slides"],"properties":{"title":{"type":"string","description":"Course title"},"slides":{"type":"array","items":{"type":"object","required":["title","content"],"properties":{"title":{"type":"string","description":"Slide title"},"content":{"type":"string","description":"Slide content. Supports **bold**, *italic*, and bullet lists (- item)"}}},"description":"Array of slides with title and content"},"scorm_version":{"type":"string","enum":["1.2","2004"],"default":"2004","description":"SCORM version"}}}}}},"responses":{"201":{"description":"Course created","content":{"application/json":{"schema":{"type":"object","properties":{"package_id":{"type":"string"},"title":{"type":"string"},"scorm_version":{"type":"string"},"slide_count":{"type":"integer"},"created_at":{"type":"string"}}}}}}}}},"/api/v1/packages":{"get":{"operationId":"listPackages","summary":"List SCORM packages","description":"List all SCORM packages hosted in your account.","responses":{"200":{"description":"List of packages","content":{"application/json":{"schema":{"type":"object","properties":{"packages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"content_type":{"type":"string"}}}}}}}}}}}},"/api/v1/packages/{packageId}/launch":{"post":{"operationId":"launchSession","summary":"Launch a learner session","description":"Create a session for a learner to take a SCORM course. Returns a launch URL.","parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["user_id"],"properties":{"user_id":{"type":"string","description":"Learner email or identifier"}}}}}},"responses":{"200":{"description":"Session launched","content":{"application/json":{"schema":{"type":"object","properties":{"session_id":{"type":"string"},"launch_url":{"type":"string"},"package_id":{"type":"string"}}}}}}}}},"/api/v1/sessions/{sessionId}":{"get":{"operationId":"getSession","summary":"Get session status","description":"Check learner progress including completion status, score, and time spent.","parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Session details","content":{"application/json":{"schema":{"type":"object","properties":{"session":{"type":"object","properties":{"session_id":{"type":"string"},"completion_status":{"type":"string"},"success_status":{"type":"string"},"score":{"type":"object","properties":{"scaled":{"type":"number"},"raw":{"type":"number"}}}}}}}}}}}}},"/api/v1/conversions":{"get":{"operationId":"listConversions","summary":"List conversion jobs","description":"List all PPT-to-SCORM conversion jobs.","responses":{"200":{"description":"List of conversion jobs","content":{"application/json":{"schema":{"type":"object","properties":{"jobs":{"type":"array","items":{"type":"object"}},"total":{"type":"integer"}}}}}}}},"post":{"operationId":"createConversion","summary":"Convert a PowerPoint file to SCORM","description":"Upload a .pptx file to be converted into a hosted SCORM package.","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary","description":".pptx PowerPoint file"},"scorm_version":{"type":"string","enum":["1.2","2004"],"default":"2004"},"title":{"type":"string","description":"Custom title (derived from PPTX if omitted)"}}}}}},"responses":{"201":{"description":"Conversion completed","content":{"application/json":{"schema":{"type":"object","properties":{"job_id":{"type":"string"},"status":{"type":"string"},"slide_count":{"type":"integer"}}}}}}}}},"/api/v1/conversions/{jobId}":{"get":{"operationId":"getConversionStatus","summary":"Get conversion job status","description":"Poll the status of a PPT-to-SCORM conversion job.","parameters":[{"name":"jobId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Job status","content":{"application/json":{"schema":{"type":"object","properties":{"job_id":{"type":"string"},"status":{"type":"string","enum":["queued","processing","completed","failed"]},"slide_count":{"type":"integer"},"package_id":{"type":"string"},"error":{"type":"string"}}}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"AllureConnect API key (ac_test_... or ac_live_...)"}}},"security":[{"bearerAuth":[]}]}