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.
If you’re not building against the raw HTTP API directly, use the CLI instead — it handles authentication for you via
slideless login.The header
Every Slideless API endpoint (except the public token-basedgetSharedPresentation) authenticates via the standard bearer token header:
Key prefixes
| Prefix | Type | Use case |
|---|---|---|
cko_ | Organization key | What every external integration uses |
cka_ | Admin key | Internal platform automation; not user-creatable |
cka_→ validated against theadmin_api_keyscollectioncko_→ validated against theorganization_api_keyscollection (also resolves the org context)
401.
Getting a key
Two paths:- Terminal / OTP (recommended for CI and agents) —
POST /cliRequestSignupOtpthenPOST /cliCompleteSignup(or the login variants). No browser round-trip. See CLI auth endpoints or the CLI wrapper atcli/auth. - Dashboard — create a key at Organization → API Keys in app.slideless.ai. Same API keys concept either way; the OTP flow just automates the creation.
| Scope | Granted to |
|---|---|
presentations:write | Endpoints that create or modify presentations (upload, update) |
presentations:read | Endpoints that read presentations (list, get) |
Verifying a key
The CLI way:200 → key is valid (response includes name, scopes, organization, last-used time).
401 → key is missing, malformed, or revoked.
Errors
| Status | Code | What it means | Fix |
|---|---|---|---|
401 | unauthenticated | Header missing or key not recognized | Send Authorization: Bearer <cko_…> with a valid value |
403 | permission-denied | Key valid but you don’t own the resource | The key’s user must match the presentation’s ownerId |
403 | revoked | Key was revoked | Create a new key |
What’s stored server-side
Slideless stores a SHA-256 hash of every API key, not the raw value. The dashboard shows the raw key once at creation. If you lose it, create a new one.Operational guidance
- Treat keys as secrets — don’t commit, paste, or log them.
- One key per integration — easier to rotate, easier to attribute usage.
- Set
lastUsedAtreminders — long-unused keys are good revocation candidates. - Use
slideless verifyat the start of any long-running script so you fail fast on auth issues.