Call APIEndpoints
Get Presentation
Check the status of an async export task and retrieve the result.
Endpoint
GET /v1/presentation/:id
Authorization: Bearer YOUR_API_KEYPath Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Yes | Task ID returned from the async export request |
Response
The response depends on the current status of the export task.
Success
The export completed successfully:
{
"id": 12345,
"status": "success",
"url": "https://storage.example.com/presentations/presentation-123456.pptx",
"filename": "presentation.pptx",
"fileSize": 1234567
}| Field | Type | Description |
|---|---|---|
id | number | Task ID |
status | string | "success" |
url | string | For PPTX/PDF: Direct download URL. For Google Slides: Edit URL of the file. |
filename | string | Generated filename |
fileSize | number | File size in bytes |
Processing
The export is still in progress:
{
"id": 12345,
"status": "processing",
"message": "Export is in progress"
}Failed
The export failed:
{
"id": 12345,
"status": "failed",
"message": "Export failed"
}Error
The task was not found:
{
"status": "error",
"message": "Task not found"
}Code Examples
cURL
curl -X GET "https://api.pluslide.com/v1/presentation/12345" \
-H "Authorization: Bearer YOUR_API_KEY"JavaScript
const response = await fetch(
'https://api.pluslide.com/v1/presentation/12345',
{
headers: {
Authorization: `Bearer ${API_KEY}`,
},
}
);
const result = await response.json();
if (result.status === 'success') {
console.log('Download URL:', result.url);
} else if (result.status === 'processing') {
console.log('Still processing...');
} else {
console.error('Error:', result.message);
}Error Responses
| Status | Code | Description |
|---|---|---|
400 | BAD_REQUEST | Invalid presentation ID |
401 | UNAUTHORIZED | Invalid or missing API key |
