Pluslide LogoPluslide
Call APIEndpoints

List Presentations

Retrieve a paginated list of generated presentations from the Pluslide API.

Endpoint

GET /v1/presentation
Authorization: Bearer YOUR_API_KEY

Query Parameters

ParameterTypeRequiredDefaultDescription
projectIdstringNo-Filter presentations by project ID
statusstringNo-Filter by status: 1 (active), 2 (processing), 9 (failed)
pagenumberNo1Page number for pagination
perPagenumberNo10Number of items per page (max 100)

Response

Response Structure

{
  "items": "Array<Presentation>",
  "total": "number",
  "page": "number",
  "perPage": "number"
}

Presentation Object

FieldTypeDescription
idnumberThe presentation task ID
namestringFilename of the generated presentation
statusstringStatus code: 1 (active), 2 (processing), 9 (failed)
updatedAtstringLast update date and time in ISO format
sizenumberSize of the file in bytes (null if processing)
pagesnumberNumber of slides in the presentation
titlestringPresentation title (from attributes)
authorstringAuthor name (from attributes)
subjectstringPresentation subject (from attributes)
companystringCompany name (from attributes)
urlstringDownload URL for the generated presentation (null if processing)

Examples

Basic Request

GET /v1/presentation

Request with Filters

GET /v1/presentation?projectId=proj_123456&page=2&perPage=20

Successful Response

{
  "items": [
    {
      "id": 123,
      "name": "annual_report_2025.pptx",
      "status": "1",
      "updatedAt": "2025-05-04T11:30:00Z",
      "size": 2458621,
      "pages": 15,
      "title": "Annual Report 2025",
      "author": "Finance Team",
      "subject": "Financial Performance",
      "company": "Acme Corporation",
      "url": "https://storage.example.com/presentations/annual_report_2025.pptx"
    },
    {
      "id": 124,
      "name": "sales_presentation_q2.pptx",
      "status": "1",
      "updatedAt": "2025-05-03T09:15:00Z",
      "size": 1845327,
      "pages": 12,
      "title": "Q2 Sales Presentation",
      "author": "Sales Team",
      "subject": "Quarterly Results",
      "company": "Acme Corporation",
      "url": "https://storage.example.com/presentations/sales_presentation_q2.pptx"
    }
  ],
  "total": 50,
  "page": 1,
  "perPage": 10
}

Code Examples

cURL

curl -X GET "https://api.pluslide.com/v1/presentation?page=1&perPage=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

JavaScript

const params = new URLSearchParams({
  projectId: 'proj_123456',
  page: '1',
  perPage: '20',
});

const response = await fetch(
  `https://api.pluslide.com/v1/presentation?${params}`,
  {
    headers: {
      Authorization: `Bearer ${API_KEY}`,
    },
  },
);

const { items, total, page, perPage } = await response.json();
console.log(`Found ${total} presentations`);

Pagination

Use the page and perPage parameters to navigate through results:

async function getAllPresentations() {
  const presentations = [];
  let page = 1;
  const perPage = 100;

  while (true) {
    const response = await fetch(
      `https://api.pluslide.com/v1/presentation?page=${page}&perPage=${perPage}`,
      { headers: { Authorization: `Bearer ${API_KEY}` } },
    );
    const data = await response.json();

    presentations.push(...data.items);

    if (data.items.length < perPage) break;
    page++;
  }

  return presentations;
}

Error Responses

StatusCodeDescription
401UNAUTHORIZEDInvalid or missing API key
429RATE_LIMIT_EXCEEDEDToo many requests

On this page