{"openapi":"3.1.0","info":{"title":"Slides REST API","version":"1.0.0","description":"Create, manage, share, and export Slides presentations."},"servers":[{"url":"https://api.slides.com"}],"security":[{"bearerAuth":[]},{"oauth2":["read"]}],"paths":{"/v1/user":{"get":{"operationId":"users_get","summary":"User profile","description":"Returns the authenticated user profile together with account and team details.","tags":["Account"],"security":[{"bearerAuth":[]},{"oauth2":["read"]}],"responses":{"200":{"description":"A user object containing profile, account, team, and timestamp fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"data":{"id":123,"username":"alice","name":"Alice Example","email":"alice@example.com","description":"Presentation designer","thumbnail_url":"https://...","website_url":"https://example.com","twitter_handle":"alice","profile_url":"https://slides.com/alice","account":{"type":"pro","billing_period":"monthly"},"team":null,"created_at":"2026-03-01T12:00:00Z","updated_at":"2026-03-05T09:00:00Z"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/v1/decks":{"get":{"operationId":"list_decks","summary":"List decks","description":"Returns owned deck summaries ordered by newest first.","tags":["Browse decks"],"security":[{"bearerAuth":[]},{"oauth2":["read"]}],"responses":{"200":{"description":"Deck summaries are returned in data; meta contains page, per_page, and total.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"data":[{"id":456,"title":"Quarterly Review","description":"Q1 business update","thumbnail_url":"https://...","url":"https://slides.com/alice/q1-review"}],"meta":{"page":1,"per_page":20,"total":1}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"422":{"$ref":"#/components/responses/InvalidInput"}},"parameters":[{"name":"page","in":"query","description":"Page number to return.","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"per_page","in":"query","description":"Number of records to return per page, up to a maximum of 100.","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}}]},"post":{"operationId":"create_deck","summary":"Create deck","description":"Creates a new deck.","tags":["Manage decks"],"security":[{"bearerAuth":[]},{"oauth2":["manage"]}],"responses":{"201":{"description":"Returns deck metadata and slide_ids in presentation order, without HTML, notes, or CSS. Use the Get slide endpoint to retrieve content. Validation failures return an error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/InvalidInput"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","description":"Deck title."},"description":{"type":"string","description":"Deck description."},"width":{"type":"integer","minimum":1,"description":"Canvas width in pixels. Defaults to 1280 on creation."},"height":{"type":"integer","minimum":1,"description":"Canvas height in pixels. Defaults to 720 on creation."},"margin":{"type":"number","minimum":0,"maximum":1,"description":"Viewport margin factor from 0 to 1; defaults to 0 on creation. Reserves space around the presentation during scaling, not padding inside the slide."},"theme_color":{"type":"string","enum":["white-blue","sand-blue","beige-brown","silver-green","silver-blue","sky-blue","blue-yellow","cobalt-orange","asphalt-orange","forest-yellow","mint-beige","sea-yellow","yellow-black","coral-blue","grey-blue","black-blue","black-mint","black-orange"],"description":"Presentation color preset. Defaults to white-blue on creation. [View color presets](https://slides.com/docs/presentation-styles#color-presets)."},"theme_font":{"type":"string","enum":["montserrat","league","opensans","josefine","palatino","news","helvetica","merriweather","asul","sketch","quicksand","overpass2"],"description":"Presentation font preset. Defaults to montserrat on creation. [View font presets](https://slides.com/docs/presentation-styles#font-presets)."},"visibility":{"type":"string","enum":["all","self","team"],"description":"Deck visibility. Team accounts may also use team visibility."},"slides":{"type":"array","minItems":1,"description":"Initial slides in presentation order. Each object accepts html containing one \u003csection\u003e with no nested sections, plus optional speaker notes. Omit html for a blank slide. Omit slides to create one blank slide; an empty array is not accepted.","items":{"type":"object","additionalProperties":false,"properties":{"html":{"type":"string","description":"HTML for one slide in a \u003csection\u003e with no nested sections. Sections accept only known attributes, such as data-background*. Omit for a blank slide."},"notes":{"description":"Optional speaker notes for the new slide (up to 10,000 characters). Omit or use null for no notes.","anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}}}}}},"example":{"title":"Quarterly Review","description":"Q1 business update","width":1280,"height":720,"theme_color":"white-blue","theme_font":"montserrat","visibility":"self","slides":[{"html":"\u003csection\u003e\u003ch1\u003eQuarterly Review\u003c/h1\u003e\u003c/section\u003e","notes":"Welcome to the Q1 review."},{"html":"\u003csection\u003e\u003ch2\u003eResults\u003c/h2\u003e\u003cp\u003eRevenue increased by 18%.\u003c/p\u003e\u003c/section\u003e"}]}}}}}},"/v1/decks/trashed":{"get":{"operationId":"list_trashed_decks","summary":"List trashed decks","description":"Returns owned decks in trash, ordered by the time they were trashed.","tags":["Browse decks"],"security":[{"bearerAuth":[]},{"oauth2":["read"]}],"responses":{"200":{"description":"Deck summaries are returned in data with trashed_at and without url; meta contains page, per_page, and total.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"data":[{"id":456,"title":"Quarterly Review","description":"Q1 business update","thumbnail_url":"https://...","trashed_at":"2026-07-28T14:00:00Z"}],"meta":{"page":1,"per_page":20,"total":1}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"422":{"$ref":"#/components/responses/InvalidInput"}},"parameters":[{"name":"page","in":"query","description":"Page number to return.","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"per_page","in":"query","description":"Number of records to return per page, up to a maximum of 100.","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}}]}},"/v1/decks/{id}":{"get":{"operationId":"get_deck","summary":"Get deck","description":"Returns details for an owned deck.","tags":["Browse decks"],"security":[{"bearerAuth":[]},{"oauth2":["read"]}],"responses":{"200":{"description":"Returns deck details. Read speaker notes through the slide APIs. deck_html is present only when include_deck_html is true.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"data":{"id":456,"title":"Quarterly Review","description":"Q1 business update","thumbnail_url":"https://...","url":"https://slides.com/alice/q1-review","urls":{"default":"https://slides.com/alice/q1-review","fullscreen":"https://slides.com/alice/q1-review/fullscreen","edit":"https://slides.com/alice/q1-review/edit","present":"https://slides.com/alice/q1-review/live"},"slug":"q1-review","visibility":"self","slide_count":12,"css":".slides h1 { color: #ff0000; }","width":1280,"height":720,"margin":0.05,"transition":"slide","background_transition":"slide","rtl":false,"loop":false,"theme_font":"montserrat","theme_color":"white-blue","language":"en","created_at":"2026-03-01T12:00:00Z","updated_at":"2026-03-05T09:00:00Z","deck_html":"\u003csection\u003e...\u003c/section\u003e"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"422":{"$ref":"#/components/responses/InvalidInput"},"404":{"$ref":"#/components/responses/NotFound"}},"parameters":[{"name":"id","in":"path","description":"ID of the deck.","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]}},{"name":"include_deck_html","in":"query","description":"Whether to include deck_html, which contains the HTML for all slides in the deck.","required":false,"schema":{"type":"boolean","default":false,"description":"Include the complete deck HTML as deck_html."}}]},"patch":{"operationId":"update_deck","summary":"Update deck","description":"Updates selected fields on an owned deck.","tags":["Manage decks"],"security":[{"bearerAuth":[]},{"oauth2":["manage"]}],"responses":{"200":{"description":"Returns deck metadata without HTML, notes, or CSS. Use get_deck with include_deck_html to retrieve HTML. Read-only keys and validation failures return an error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/InvalidInput"},"404":{"$ref":"#/components/responses/NotFound"}},"parameters":[{"name":"id","in":"path","description":"ID of the deck.","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","description":"Deck title."},"description":{"type":"string","description":"Deck description."},"width":{"type":"integer","minimum":1,"description":"Canvas width in pixels. Defaults to 1280 on creation."},"height":{"type":"integer","minimum":1,"description":"Canvas height in pixels. Defaults to 720 on creation."},"margin":{"type":"number","minimum":0,"maximum":1,"description":"Viewport margin factor from 0 to 1; defaults to 0 on creation. Reserves space around the presentation during scaling, not padding inside the slide."},"theme_color":{"type":"string","enum":["white-blue","sand-blue","beige-brown","silver-green","silver-blue","sky-blue","blue-yellow","cobalt-orange","asphalt-orange","forest-yellow","mint-beige","sea-yellow","yellow-black","coral-blue","grey-blue","black-blue","black-mint","black-orange"],"description":"Presentation color preset. Defaults to white-blue on creation. [View color presets](https://slides.com/docs/presentation-styles#color-presets)."},"theme_font":{"type":"string","enum":["montserrat","league","opensans","josefine","palatino","news","helvetica","merriweather","asul","sketch","quicksand","overpass2"],"description":"Presentation font preset. Defaults to montserrat on creation. [View font presets](https://slides.com/docs/presentation-styles#font-presets)."},"visibility":{"type":"string","enum":["all","self","team"],"description":"Deck visibility. Team accounts may also use team visibility."}}},"example":{"title":"Updated title","theme_font":"quicksand","visibility":"all"}}}}}},"/v1/decks/{id}/trash":{"post":{"operationId":"trash_deck","summary":"Trash deck","description":"Moves an owned deck to trash without permanently deleting it.","tags":["Manage decks"],"security":[{"bearerAuth":[]},{"oauth2":["manage"]}],"responses":{"204":{"description":"Returns 204 No Content on success."},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/InvalidInput"},"404":{"$ref":"#/components/responses/NotFound"}},"parameters":[{"name":"id","in":"path","description":"ID of the deck.","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]}}]}},"/v1/decks/{id}/recover":{"post":{"operationId":"recover_deck","summary":"Recover deck","description":"Recovers an owned deck from trash.","tags":["Manage decks"],"security":[{"bearerAuth":[]},{"oauth2":["manage"]}],"responses":{"204":{"description":"Returns 204 No Content on success."},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/InvalidInput"},"404":{"$ref":"#/components/responses/NotFound"}},"parameters":[{"name":"id","in":"path","description":"ID of the deck.","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]}}]}},"/v1/decks/{deck_id}/slides":{"get":{"operationId":"list_slides","summary":"List slides","description":"Returns slide summaries in presentation order without slide HTML or speaker notes. Use the returned IDs to retrieve, edit, move, or remove slides.","tags":["Slides"],"security":[{"bearerAuth":[]},{"oauth2":["read"]}],"responses":{"200":{"description":"Slide summaries are returned in data; meta contains page, per_page, and total. Position indexes start at 0. Slides in a vertical group share position.horizontal; position.vertical identifies each slide within the group and is null for ungrouped slides.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"data":[{"id":"a1b2c3d4e5f6","position":{"horizontal":0,"vertical":null},"title":"Quarterly results","text_preview":"Quarterly results Revenue increased by 18%.","html_bytes":86,"has_notes":true}],"meta":{"page":1,"per_page":50,"total":1}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"422":{"$ref":"#/components/responses/InvalidInput"},"404":{"$ref":"#/components/responses/NotFound"}},"parameters":[{"name":"deck_id","in":"path","description":"ID of the deck that owns the slides.","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]}},{"name":"page","in":"query","description":"Page number to return.","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"per_page","in":"query","description":"Number of records to return per page, up to a maximum of 200.","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":50}}]},"post":{"operationId":"add_slide","summary":"Add slide","description":"Creates a slide and returns its ID. By default, adds it at the horizontal end of the deck. To choose a position, provide insert_before_slide_id or insert_after_slide_id. If that slide is in a vertical group, the new slide joins the same group.","tags":["Slides"],"security":[{"bearerAuth":[]},{"oauth2":["manage"]}],"responses":{"201":{"description":"Returns the generated slide ID, deck ID, and position without HTML or notes. Use the Get slide endpoint to retrieve content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/InvalidInput"},"404":{"$ref":"#/components/responses/NotFound"}},"parameters":[{"name":"deck_id","in":"path","description":"ID of the deck that owns the slides.","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"html":{"type":"string","description":"HTML for one slide, enclosed in one \u003csection\u003e with no nested \u003csection\u003e elements. Defaults to an empty \u003csection\u003e."},"notes":{"description":"Optional speaker notes for the new slide.","anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"insert_before_slide_id":{"type":"string","description":"Insert before this slide. Cannot be combined with insert_after_slide_id."},"insert_after_slide_id":{"type":"string","description":"Insert after this slide. Cannot be combined with insert_before_slide_id."}}},"example":{"html":"\u003csection\u003e\u003ch2\u003eNext steps\u003c/h2\u003e\u003c/section\u003e","insert_after_slide_id":"a1b2c3d4e5f6"}}}}},"delete":{"operationId":"remove_slides","summary":"Remove slides","description":"Removes slides and their speaker notes. Requests that would remove every slide are rejected. A vertical group with only one remaining slide becomes a horizontal slide.","tags":["Slides"],"security":[{"bearerAuth":[]},{"oauth2":["manage"]}],"responses":{"200":{"description":"Returns count, the number of removed slides. If some requested IDs are not found, the other slides are removed and missing_slide_ids lists the missing IDs. Returns a not-found error if none of the requested slides exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/InvalidInput"},"404":{"$ref":"#/components/responses/NotFound"}},"parameters":[{"name":"deck_id","in":"path","description":"ID of the deck that owns the slides.","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"slide_ids":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":200,"uniqueItems":true,"description":"IDs of the slides to change, returned by List slides. Accepts 1–200 unique IDs."}},"required":["slide_ids"]},"example":{"slide_ids":["f6e5d4c3b2a1","a1b2c3d4e5f6"]}}}}}},"/v1/decks/{deck_id}/slides/{slide_id}":{"get":{"operationId":"get_slide","summary":"Get slide","description":"Returns one slide by its ID from a deck you own.","tags":["Slides"],"security":[{"bearerAuth":[]},{"oauth2":["read"]}],"responses":{"200":{"description":"Returns the slide HTML, speaker notes, and position. Position indexes start at 0; position.vertical is null for ungrouped slides.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"data":{"id":"a1b2c3d4e5f6","deck_id":456,"position":{"horizontal":0,"vertical":null},"html":"\u003csection data-id=\"a1b2c3d4e5f6\"\u003e\u003ch2\u003eQuarterly results\u003c/h2\u003e\u003c/section\u003e","notes":"Introduce the results."}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"422":{"$ref":"#/components/responses/InvalidInput"},"404":{"$ref":"#/components/responses/NotFound"}},"parameters":[{"name":"deck_id","in":"path","description":"ID of the deck that owns the slides.","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]}},{"name":"slide_id","in":"path","description":"ID of the slide, returned by List slides. Use the ID, not the slide number.","required":true,"schema":{"type":"string"}}]},"patch":{"operationId":"update_slide","summary":"Update slide","description":"Replaces one slide’s HTML, notes, or both while preserving its slide ID. Provide at least one of html or notes.","tags":["Slides"],"security":[{"bearerAuth":[]},{"oauth2":["manage"]}],"responses":{"200":{"description":"Returns the slide ID, deck ID, and position without HTML or notes. Use the Get slide endpoint to retrieve content. Validation failures leave the deck unchanged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/InvalidInput"},"404":{"$ref":"#/components/responses/NotFound"}},"parameters":[{"name":"deck_id","in":"path","description":"ID of the deck that owns the slides.","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]}},{"name":"slide_id","in":"path","description":"ID of the slide, returned by List slides. Use the ID, not the slide number.","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"html":{"type":"string","description":"Complete replacement HTML for one slide, enclosed in one \u003csection\u003e with no nested \u003csection\u003e elements. Omit to keep the current HTML."},"notes":{"description":"Speaker notes for the slide. Use null to clear existing notes, or omit to keep them.","anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"anyOf":[{"required":["html"]},{"required":["notes"]}]},"example":{"html":"\u003csection\u003e\u003ch2\u003eUpdated\u003c/h2\u003e\u003c/section\u003e","notes":"Introduce the results."}}}}}},"/v1/decks/{deck_id}/slides/move":{"patch":{"operationId":"move_slides","summary":"Move slides","description":"Moves slides in the order given in slide_ids. Provide either insert_before_slide_id or insert_after_slide_id, identifying a slide that is not being moved. If that slide is in a vertical group, the moved slides join the same group; otherwise they become horizontal slides.","tags":["Slides"],"security":[{"bearerAuth":[]},{"oauth2":["manage"]}],"responses":{"200":{"description":"Returns count, the number of moved slides. If some requested IDs are not found, the other slides are moved and missing_slide_ids lists the missing IDs. Returns a not-found error if none of the requested slides exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/InvalidInput"},"404":{"$ref":"#/components/responses/NotFound"}},"parameters":[{"name":"deck_id","in":"path","description":"ID of the deck that owns the slides.","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"slide_ids":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":200,"uniqueItems":true,"description":"IDs of the slides to change, returned by List slides. Accepts 1–200 unique IDs."},"insert_before_slide_id":{"type":"string","description":"Move the selected slides before this slide. Cannot be combined with insert_after_slide_id."},"insert_after_slide_id":{"type":"string","description":"Move the selected slides after this slide. Cannot be combined with insert_before_slide_id."}},"required":["slide_ids"]},"example":{"slide_ids":["f6e5d4c3b2a1","a1b2c3d4e5f6"],"insert_after_slide_id":"123456abcdef"}}}}}},"/v1/decks/{deck_id}/share":{"get":{"operationId":"list_deck_shares","summary":"List deck shares","description":"Returns all private share links for an owned deck, ordered newest first.","tags":["Sharing"],"security":[{"bearerAuth":[]},{"oauth2":["read"]}],"responses":{"200":{"description":"Private share links are returned in data; meta contains total. Each link includes default and fullscreen URLs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"data":[{"id":789,"deck_id":456,"name":"Customer review","url":"https://slides.com/alice/q1-review?token=...","urls":{"default":"https://slides.com/alice/q1-review?token=...","fullscreen":"https://slides.com/alice/q1-review/fullscreen?token=..."},"password_protected":true,"expires_at":"2026-08-01T12:00:00Z","expired":true,"notify_on_view":true,"view_count":3,"first_viewed_at":"2026-07-21T09:30:00Z","created_at":"2026-07-20T12:00:00Z"}],"meta":{"total":1}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/InvalidInput"},"404":{"$ref":"#/components/responses/NotFound"}},"parameters":[{"name":"deck_id","in":"path","description":"ID of the deck.","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]}}]},"post":{"operationId":"create_deck_share","summary":"Create deck share","description":"Creates a private share link for an owned private or team-visible deck.","tags":["Sharing"],"security":[{"bearerAuth":[]},{"oauth2":["manage"]}],"responses":{"201":{"description":"Returns the new private share link with default and fullscreen URLs. Passwords are never returned. Each deck is limited to 100 private share links.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/InvalidInput"},"404":{"$ref":"#/components/responses/NotFound"}},"parameters":[{"name":"deck_id","in":"path","description":"ID of the deck to create a private share link for.","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","maxLength":255,"description":"Name identifying the private share link."},"password":{"type":"string","maxLength":255,"description":"Password recipients must enter before viewing the deck through this link."},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"ISO 8601 timestamp after which the private share link expires."},"notify_on_view":{"type":"boolean","description":"Whether to notify the deck owner when the deck is first viewed through this link."}}},"example":{"name":"Customer review","password":"optional-password","expires_at":"2030-08-01T12:00:00Z","notify_on_view":true}}}}}},"/v1/decks/{deck_id}/share/{id}":{"delete":{"operationId":"revoke_deck_share","summary":"Revoke deck share","description":"Revokes a private share link for an owned deck.","tags":["Sharing"],"security":[{"bearerAuth":[]},{"oauth2":["manage"]}],"responses":{"204":{"description":"Returns 204 No Content on success."},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/InvalidInput"},"404":{"$ref":"#/components/responses/NotFound"}},"parameters":[{"name":"deck_id","in":"path","description":"ID of the deck.","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]}},{"name":"id","in":"path","description":"ID of the private share link to revoke.","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]}}]}},"/v1/decks/{deck_id}/exports":{"post":{"operationId":"create_deck_export","summary":"Create deck export","description":"Starts an asynchronous PDF or ZIP export for an owned deck.","tags":["Exports"],"security":[{"bearerAuth":[]},{"oauth2":["manage"]}],"responses":{"202":{"description":"Returns a pending export; meta contains poll_after_seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"data":{"id":901,"deck_id":456,"format":"pdf","status":"pending","created_at":"2030-08-01T09:30:00Z","completed_at":null,"download_url":null,"download_url_expires_at":null},"meta":{"poll_after_seconds":5}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/InvalidInput"},"404":{"$ref":"#/components/responses/NotFound"}},"parameters":[{"name":"deck_id","in":"path","description":"Deck ID to export.","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"format":{"type":"string","enum":["pdf","zip"],"description":"Export format: pdf or zip."},"margin":{"type":"number","minimum":0,"maximum":0.2,"description":"PDF-only page margin between 0 and 0.2."},"slide_number":{"type":"boolean","description":"PDF-only option that includes slide numbers."},"slide_notes":{"type":"boolean","description":"PDF-only option that includes speaker notes."},"separate_fragments":{"type":"boolean","description":"PDF-only option that prints fragment steps separately."}},"required":["format"]},"example":{"format":"pdf","margin":0.05,"slide_number":true,"slide_notes":false,"separate_fragments":false}}}}}},"/v1/decks/{deck_id}/exports/{id}":{"get":{"operationId":"get_deck_export","summary":"Get deck export","description":"Returns the current state of a PDF or ZIP export for an owned deck.","tags":["Exports"],"security":[{"bearerAuth":[]},{"oauth2":["read"]}],"responses":{"200":{"description":"Returns a pending, completed, or failed export. Completed exports include a temporary download URL and its expiration time.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"data":{"id":901,"deck_id":456,"format":"pdf","status":"completed","created_at":"2030-08-01T09:30:00Z","completed_at":"2030-08-01T09:31:00Z","download_url":"https://...","download_url_expires_at":"2030-08-01T09:36:00Z"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"422":{"$ref":"#/components/responses/InvalidInput"},"404":{"$ref":"#/components/responses/NotFound"}},"parameters":[{"name":"deck_id","in":"path","description":"Deck ID that owns the export.","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]}},{"name":"id","in":"path","description":"Export ID to retrieve.","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]}}]}},"/v1/team/decks":{"get":{"operationId":"list_team_decks","summary":"List team decks","description":"Returns team-visible and public decks from the authenticated user’s team.","tags":["Team"],"security":[{"bearerAuth":[]},{"oauth2":["read"]}],"responses":{"200":{"description":"Deck summaries are returned in data; meta contains page, per_page, and total. Every summary includes visibility and deck owner identity; MCP results include only the owner’s display name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"data":[{"id":456,"title":"Quarterly Review","description":"Q1 business update","thumbnail_url":"https://...","url":"https://team.slides.com/alice/q1-review","visibility":"team","owner":{"id":123,"name":"Alice Example","username":"alice"}}],"meta":{"page":1,"per_page":20,"total":1}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/InvalidInput"}},"parameters":[{"name":"page","in":"query","description":"Page number to return.","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"per_page","in":"query","description":"Number of records to return per page, up to a maximum of 100.","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}}]}},"/v1/team/decks/{id}":{"get":{"operationId":"get_team_deck","summary":"Get team deck","description":"Returns a team-visible or public deck.","tags":["Team"],"security":[{"bearerAuth":[]},{"oauth2":["read"]}],"responses":{"200":{"description":"Returns the same fields as get_deck, plus deck owner identity (MCP results include only the owner’s display name). deck_html is present only when include_deck_html is true.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"data":{"id":456,"title":"Quarterly Review","description":"Q1 business update","thumbnail_url":"https://...","url":"https://team.slides.com/alice/q1-review","urls":{"default":"https://team.slides.com/alice/q1-review","fullscreen":"https://team.slides.com/alice/q1-review/fullscreen","edit":"https://team.slides.com/alice/q1-review/edit","present":"https://team.slides.com/alice/q1-review/live"},"slug":"q1-review","visibility":"team","slide_count":12,"css":".slides h1 { color: #ff0000; }","width":1280,"height":720,"margin":0.05,"transition":"slide","background_transition":"slide","rtl":false,"loop":false,"theme_font":"montserrat","theme_color":"white-blue","language":"en","created_at":"2026-03-01T12:00:00Z","updated_at":"2026-03-05T09:00:00Z","deck_html":"\u003csection\u003e...\u003c/section\u003e","owner":{"id":123,"name":"Alice Example","username":"alice"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimited"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/InvalidInput"},"404":{"$ref":"#/components/responses/NotFound"}},"parameters":[{"name":"id","in":"path","description":"ID of the team deck.","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"integer"}]}},{"name":"include_deck_html","in":"query","description":"Whether to include deck_html, which contains the HTML for all slides in the deck.","required":false,"schema":{"type":"boolean","default":false,"description":"Include the complete deck HTML as deck_html."}}]}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Slides API key. Create and revoke keys at /users/api."},"oauth2":{"type":"oauth2","description":"Public clients use authorization code flow with S256 PKCE. The default resource is the REST API.","flows":{"authorizationCode":{"authorizationUrl":"https://slides.com/oauth/authorize","tokenUrl":"https://slides.com/oauth/token","refreshUrl":"https://slides.com/oauth/token","scopes":{"read":"Read-only: view presentations you can access.","manage":"Full access: view, create, edit, share, and move presentations to trash where permitted."}}}}},"schemas":{"ApiResponse":{"type":"object","required":["data"],"properties":{"data":{},"meta":{"type":"object","additionalProperties":true}}},"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}},"responses":{"Unauthorized":{"description":"A valid API key or OAuth access token is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Forbidden":{"description":"The credential or account cannot perform this operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InvalidInput":{"description":"The request parameters or body are invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"RateLimited":{"description":"The request rate limit was exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"externalDocs":{"description":"Slides API documentation","url":"https://slides.com/docs/api"}}