{"name":"scene-external-api","version":"0.1.0","basePath":"/","endpoints":[{"method":"GET","path":"/","description":"Expose external API documentation and supported endpoints."},{"method":"GET","path":"/api/v1/doc","description":"Swagger UI documentation page."},{"method":"GET","path":"/api/v1/openapi.json","description":"OpenAPI 3.0 specification for this API."},{"method":"GET","path":"/api/v1/guide","description":"Workflow guide: API call order for output generation."},{"method":"POST","path":"/api/v1/workspace/{workspaceId}/generateOutput","description":"Generate a new output from free-form JSON input and/or uploaded files.","pathParams":{"workspaceId":"workspace id"},"headers":{"Authorization":"Bearer <TOKEN>"},"body":{"brandkitId":"string","textInput":"free-form JSON (optional when fileAssetIds is set)","outputType":"page","archetype":"reportLong","fileAssetIds":["optional asset ids from POST .../files"]},"responses":{"202":{"status":"REQUESTED","jobId":"string"},"400":{"error":"Bad Request"},"401":{"error":"Unauthorized"},"422":{"error":"Unprocessable entity"}}},{"method":"POST","path":"/api/v1/workspace/{workspaceId}/files","description":"Register a document for generation: returns an assetId and a presigned S3 uploadUrl to PUT the file bytes to.","pathParams":{"workspaceId":"workspace id"},"headers":{"Authorization":"Bearer <TOKEN>"},"body":{"filename":"report.pdf","contentLengthBytes":"exact file size in bytes","contentType":"application/pdf (optional)"},"responses":{"201":{"assetId":"string","uploadUrl":"presigned S3 PUT url","contentType":"exact Content-Type header to send on the PUT","requiredHeaders":{"Content-Type":"application/pdf","Content-Length":"exact contentLengthBytes as a decimal string","If-None-Match":"*"},"expiresInSeconds":900},"400":{"error":"Bad Request"},"401":{"error":"Unauthorized"},"422":{"error":"Unprocessable entity"}}},{"method":"GET","path":"/api/v1/job/{jobId}","description":"Get status of an output generation job.","pathParams":{"jobId":"job id"},"headers":{"Authorization":"Bearer <TOKEN>"}},{"method":"GET","path":"/api/v1/workspace/{workspaceId}/brandkits","description":"List brand kits available in the workspace.","pathParams":{"workspaceId":"workspace id"},"headers":{"Authorization":"Bearer <TOKEN>"}},{"method":"GET","path":"/api/v1/healthcheck","description":"Service liveness check."}]}