Apple Keynote Presentations API

Keynote presentation document management

Operations 5

GET /presentations Apple Keynote List Presentations #
POST /presentations Apple Keynote Create Presentation #
GET /presentations/{presentationId} Apple Keynote Get Presentation #
PUT /presentations/{presentationId} Apple Keynote Update Presentation #
DELETE /presentations/{presentationId} Apple Keynote Delete Presentation #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/apple-keynote-presentations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

apple-keynote-presentations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Apple Keynote iCloud Export Presentations 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: Presentations
  description: Keynote presentation document management
paths:
  /presentations:
    get:
      operationId: listPresentations
      summary: Apple Keynote List Presentations
      description: Returns a list of Keynote presentations in the user's iCloud account.
      tags:
      - Presentations
      parameters:
      - name: limit
        in: query
        description: Maximum number of presentations to return
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 200
          default: 50
        example: 50
      - name: offset
        in: query
        description: Number of presentations to skip for pagination
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
        example: 0
      responses:
        '200':
          description: List of presentations returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PresentationList'
              examples:
                ListPresentations200Example:
                  summary: Default listPresentations 200 response
                  x-microcks-default: true
                  value:
                    presentations:
                    - id: pres-001
                      title: Q4 Business Review
                      slideCount: 24
                      modifiedDate: '2025-03-15T14:30:00Z'
                    total: 1
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createPresentation
      summary: Apple Keynote Create Presentation
      description: Creates a new Keynote presentation in iCloud.
      tags:
      - Presentations
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePresentationRequest'
            examples:
              CreatePresentationRequestExample:
                summary: Default createPresentation request
                x-microcks-default: true
                value:
                  title: My New Presentation
                  theme: White
      responses:
        '201':
          description: Presentation created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Presentation'
              examples:
                CreatePresentation201Example:
                  summary: Default createPresentation 201 response
                  x-microcks-default: true
                  value:
                    id: pres-002
                    title: My New Presentation
                    slideCount: 1
                    createdDate: '2025-03-15T14:30:00Z'
                    modifiedDate: '2025-03-15T14:30:00Z'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /presentations/{presentationId}:
    get:
      operationId: getPresentation
      summary: Apple Keynote Get Presentation
      description: Returns metadata and content for a specific Keynote presentation.
      tags:
      - Presentations
      parameters:
      - $ref: '#/components/parameters/PresentationId'
      responses:
        '200':
          description: Presentation returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Presentation'
              examples:
                GetPresentation200Example:
                  summary: Default getPresentation 200 response
                  x-microcks-default: true
                  value:
                    id: pres-001
                    title: Q4 Business Review
                    slideCount: 24
                    createdDate: '2025-01-10T09:00:00Z'
                    modifiedDate: '2025-03-15T14:30:00Z'
        '404':
          description: Presentation not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updatePresentation
      summary: Apple Keynote Update Presentation
      description: Updates the metadata of a Keynote presentation such as its title.
      tags:
      - Presentations
      parameters:
      - $ref: '#/components/parameters/PresentationId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePresentationRequest'
      responses:
        '200':
          description: Presentation updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Presentation'
              examples:
                UpdatePresentation200Example:
                  summary: Default updatePresentation 200 response
                  x-microcks-default: true
                  value:
                    id: pres-001
                    title: Q4 Business Review - Final
                    slideCount: 24
                    modifiedDate: '2025-03-16T10:00:00Z'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deletePresentation
      summary: Apple Keynote Delete Presentation
      description: Deletes a Keynote presentation from iCloud.
      tags:
      - Presentations
      parameters:
      - $ref: '#/components/parameters/PresentationId'
      responses:
        '204':
          description: Presentation 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
  schemas:
    CreatePresentationRequest:
      title: CreatePresentationRequest
      description: Request body for creating a new Keynote presentation
      type: object
      required:
      - title
      properties:
        title:
          type: string
          description: The title for the new presentation
          example: My New Presentation
        theme:
          type: string
          description: The theme to apply to the new presentation
          example: White
    Presentation:
      title: Presentation
      description: A Keynote presentation document stored in iCloud
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the presentation
          example: pres-001
        title:
          type: string
          description: The title of the presentation
          example: Q4 Business Review
        slideCount:
          type: integer
          description: Total number of slides in the presentation
          example: 24
        theme:
          type: string
          description: The theme applied to the presentation
          example: White
        createdDate:
          type: string
          format: date-time
          description: When the presentation was created
          example: '2025-01-10T09:00:00Z'
        modifiedDate:
          type: string
          format: date-time
          description: When the presentation was last modified
          example: '2025-03-15T14:30:00Z'
        author:
          type: string
          description: The author of the presentation
          example: jsmith@example.com
    PresentationList:
      title: PresentationList
      description: A paginated list of Keynote presentations
      type: object
      properties:
        presentations:
          type: array
          items:
            $ref: '#/components/schemas/Presentation'
        total:
          type: integer
          description: Total number of presentations
          example: 1
        offset:
          type: integer
          description: Current pagination offset
          example: 0
    UpdatePresentationRequest:
      title: UpdatePresentationRequest
      description: Request body for updating a Keynote presentation
      type: object
      properties:
        title:
          type: string
          description: New title for the presentation
          example: Q4 Business Review - Final
    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.