Documentation Index
Fetch the complete documentation index at: https://docs.slideless.ai/llms.txt
Use this file to discover all available pages before exploring further.
For most use cases, the slideless CLI is easier than calling this endpoint directly. The CLI command equivalent is slideless get <presentationId> (or slideless get <presentationId> --json).
When to use
Inspect one presentation in detail — full token list, per-token access counts, last-accessed timestamps, status. The owner of the presentation must match the API key’s user.
For a list of all your presentations, use GET /listMyPresentations instead.
Endpoint
GET https://europe-west1-slideless-ai.cloudfunctions.net/getSharedPresentationInfo/{presentationId}
The presentationId is in the URL path.
Auth
| Header | Value |
|---|
Authorization | cko_… (or cka_…) — must belong to the presentation’s owner |
Recommended scope: presentations:read.
Path parameters
| Param | Type | Description |
|---|
presentationId | UUIDv7 string | The presentation ID |
Response (200)
{
"success": true,
"data": {
"id": "0192f1c3-...",
"ownerId": "user-uuid",
"organizationId": "org-uuid",
"title": "Q4 review",
"version": 3,
"createdAt": "2026-04-15T10:00:00.000Z",
"updatedAt": "2026-04-18T15:30:00.000Z",
"expiresAt": null,
"totalViews": 47,
"lastViewedAt": "2026-04-19T09:12:00.000Z",
"primaryShareUrl": "https://app.slideless.ai/share/0192f1c3-...?token=AbCdEf...",
"tokens": [
{
"tokenId": "0192f1c3-...",
"name": "default",
"createdAt": "2026-04-15T10:00:00.000Z",
"revoked": false,
"revokedAt": null,
"lastAccessedAt": "2026-04-19T09:12:00.000Z",
"accessCount": 42,
"shareUrl": "https://app.slideless.ai/share/0192f1c3-...?token=AbCdEf..."
},
{
"tokenId": "0192f1c3-...",
"name": "John at Acme",
"createdAt": "2026-04-16T11:00:00.000Z",
"revoked": false,
"revokedAt": null,
"lastAccessedAt": "2026-04-17T14:22:00.000Z",
"accessCount": 5,
"shareUrl": "https://app.slideless.ai/share/0192f1c3-...?token=GhIjKl..."
}
]
}
}
| Field | Type | Description |
|---|
id | string | The presentationId |
ownerId, organizationId | string | Ownership context |
title, version | various | See Presentations concept |
totalViews, lastViewedAt | aggregated | Across all tokens |
primaryShareUrl | string | null | Convenience — first non-revoked token’s URL |
tokens | array | One entry per share token (active or revoked) |
Each token entry:
| Field | Description |
|---|
tokenId | Internal ID (used for revocation) |
name | Human-readable label |
accessCount | Total views via this specific token |
lastAccessedAt | Most recent view through this token |
revoked + revokedAt | Revocation status |
shareUrl | The share URL embedding this token |
Examples
curl
SHARE_ID="0192f1c3-..."
curl -sS \
-H "Authorization: Bearer $SLIDELESS_API_KEY" \
"https://europe-west1-slideless-ai.cloudfunctions.net/getSharedPresentationInfo/$SHARE_ID"
Node.js
const presentationId = '0192f1c3-...';
const res = await fetch(
`https://europe-west1-slideless-ai.cloudfunctions.net/getSharedPresentationInfo/${presentationId}`,
{ headers: { 'Authorization': `Bearer ${process.env.SLIDELESS_API_KEY}` } }
);
const { data: info } = await res.json();
console.log(`${info.title} — v${info.version} — ${info.totalViews} total views`);
for (const t of info.tokens) {
console.log(` • ${t.name} (${t.accessCount} views, ${t.revoked ? 'revoked' : 'active'})`);
}
Errors
| Status | Code | Cause | Fix |
|---|
400 | invalid-argument | Missing presentationId in path | Include the share ID after the slash |
401 | unauthenticated | Missing or invalid API key | Set Authorization |
403 | permission-denied | Key’s user is not the owner | Use a key from the owner’s account |
404 | not-found | No presentation with that ID | Verify the ID via listMyPresentations |
405 | method-not-allowed | Used POST/PUT/etc. | Use GET |
500 | internal | Backend error | Retry with backoff |