Apple Keynote Slides API

Slide operations within a presentation

OpenAPI Specification

apple-keynote-slides-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Apple Keynote iCloud Export Slides API
  description: The Apple Keynote iCloud API provides programmatic access to Keynote presentations stored in iCloud. It enables creating, reading, updating, and exporting presentations, slides, and their elements. This specification is generated from Apple documentation and iCloud web interface analysis.
  version: 1.0.0
  contact:
    name: Apple Developer Support
    url: https://developer.apple.com/contact/
  x-generated-from: documentation
servers:
- url: https://p00-keynote.icloud.com
  description: Apple iCloud Keynote server
tags:
- name: Slides
  description: Slide operations within a presentation
paths:
  /presentations/{presentationId}/slides:
    get:
      operationId: listSlides
      summary: Apple Keynote List Slides
      description: Returns all slides in a Keynote presentation.
      tags:
      - Slides
      parameters:
      - $ref: '#/components/parameters/PresentationId'
      responses:
        '200':
          description: Slides returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlideList'
              examples:
                ListSlides200Example:
                  summary: Default listSlides 200 response
                  x-microcks-default: true
                  value:
                    slides:
                    - slideNumber: 1
                      title: Q4 Business Review
                      layout: Title - Center
                      skipped: false
                    total: 24
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: addSlide
      summary: Apple Keynote Add Slide
      description: Adds a new slide to a Keynote presentation at a specified position.
      tags:
      - Slides
      parameters:
      - $ref: '#/components/parameters/PresentationId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddSlideRequest'
      responses:
        '201':
          description: Slide added successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Slide'
              examples:
                AddSlide201Example:
                  summary: Default addSlide 201 response
                  x-microcks-default: true
                  value:
                    slideNumber: 25
                    title: New Slide
                    layout: Title & Bullets
                    skipped: false
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /presentations/{presentationId}/slides/{slideNumber}:
    get:
      operationId: getSlide
      summary: Apple Keynote Get Slide
      description: Returns the content and properties of a specific slide.
      tags:
      - Slides
      parameters:
      - $ref: '#/components/parameters/PresentationId'
      - $ref: '#/components/parameters/SlideNumber'
      responses:
        '200':
          description: Slide returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Slide'
              examples:
                GetSlide200Example:
                  summary: Default getSlide 200 response
                  x-microcks-default: true
                  value:
                    slideNumber: 1
                    title: Q4 Business Review
                    layout: Title - Center
                    skipped: false
                    notes: Welcome everyone to the Q4 review.
        '404':
          description: Slide not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteSlide
      summary: Apple Keynote Delete Slide
      description: Removes a slide from a presentation.
      tags:
      - Slides
      parameters:
      - $ref: '#/components/parameters/PresentationId'
      - $ref: '#/components/parameters/SlideNumber'
      responses:
        '204':
          description: Slide deleted successfully
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  parameters:
    PresentationId:
      name: presentationId
      in: path
      required: true
      description: The unique identifier of the presentation
      schema:
        type: string
      example: pres-001
    SlideNumber:
      name: slideNumber
      in: path
      required: true
      description: The 1-based slide number within the presentation
      schema:
        type: integer
        minimum: 1
      example: 1
  schemas:
    Slide:
      title: Slide
      description: A single slide within a Keynote presentation
      type: object
      properties:
        slideNumber:
          type: integer
          description: The 1-based position of the slide
          example: 1
        title:
          type: string
          description: The title displayed on the slide
          example: Q4 Business Review
        layout:
          type: string
          description: The slide layout name
          example: Title - Center
        skipped:
          type: boolean
          description: Whether this slide is skipped during playback
          example: false
        notes:
          type: string
          description: Presenter notes for this slide
          example: Welcome everyone to the Q4 review.
    AddSlideRequest:
      title: AddSlideRequest
      description: Request body for adding a new slide to a presentation
      type: object
      properties:
        layout:
          type: string
          description: The slide layout to use
          example: Title & Bullets
        position:
          type: integer
          description: Where to insert the slide (1-based). Defaults to end.
          example: 5
        title:
          type: string
          description: Initial title text for the slide
          example: New Slide
    SlideList:
      title: SlideList
      description: A list of slides in a presentation
      type: object
      properties:
        slides:
          type: array
          items:
            $ref: '#/components/schemas/Slide'
        total:
          type: integer
          description: Total number of slides
          example: 24
    ErrorResponse:
      title: ErrorResponse
      description: API error response
      type: object
      properties:
        error:
          type: string
          description: Error code
          example: not_found
        message:
          type: string
          description: Human-readable error description
          example: The requested presentation was not found.