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.