<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "ClassKitCatalogAPI",
  "identifier" : "/documentation/ClassKitCatalogAPI",
  "metadataVersion" : "0.1.0",
  "role" : "Web Service",
  "symbol" : {
    "kind" : "Web Service",
    "modules" : [
      "ClassKit Catalog API"
    ],
    "preciseIdentifier" : "ClassKitCatalogAPI"
  },
  "title" : "ClassKit Catalog API"
}
-->

# ClassKit Catalog API

Declare the activities supported by your educational app through a web interface.

## Overview

Access the ClassKit Catalog API from your computer or server to declare an app’s educational activities when you have an app that adopts the <doc://com.apple.documentation/documentation/ClassKit> framework. Traditionally your app declares its activities — represented as contexts — to the ClassKit framework at run time so that teachers can assign the activities using the [Schoolwork](https://apps.apple.com/us/app/schoolwork/id1355112526) app. As an alternative, the ClassKit Catalog API lets you declare contexts ahead of time to a central server so that:

- Teachers can browse your app’s activities in the Schoolwork app before running your app for the first time on their device.
- You can include keywords describing your activities that help teachers find your content.
- Your app can support a large number of assignable activities without the app having to declare all the content to the ClassKit framework at run time.

Content that you upload to the ClassKit Catalog API becomes publicly available to all teachers using the Schoolwork app. If you have dynamically-generated or user-specific content, continue to publish that only through the ClassKit framework.

## Topics

### Essentials

[Authenticating Calls to the ClassKit Catalog API](/documentation/ClassKitCatalogAPI/authenticating-calls-to-the-classkit-catalog-api)

Establish your identity to the ClassKit Catalog server by providing a cryptographically signed token for each call.

[Testing Your ClassKit Catalog Implementation](/documentation/ClassKitCatalogAPI/testing-your-classkit-catalog-implementation)

Verify your server interaction before deployment by operating in a development environment.

### Declaring Contexts

[Preparing Context Data](/documentation/ClassKitCatalogAPI/preparing-context-data)

Adjust how you manage context data when working with the web API.

[`Create or Replace Contexts`](/documentation/ClassKitCatalogAPI/Create-or-Replace-Contexts)

Store information about the assignable content that your educational app provides.

[`Get a Context`](/documentation/ClassKitCatalogAPI/Get-a-Context)

Fetch information that you previously stored about your app’s assignable activities.

[`Delete a Context`](/documentation/ClassKitCatalogAPI/Delete-a-Context)

Remove information that you previously stored about your app’s assignable activities.

[`Context`](/documentation/ClassKitCatalogAPI/Context)

An area of your app that represents an assignable task, like a quiz or a chapter.

[`ContextsRequest`](/documentation/ClassKitCatalogAPI/ContextsRequest)

A request that you make when modifying context information.

[`ContextsResponse`](/documentation/ClassKitCatalogAPI/ContextsResponse)

The response you receive after modifying context information.

### Uploading Thumbnails

[`Create or Replace a Thumbnail`](/documentation/ClassKitCatalogAPI/Create-or-Replace-a-Thumbnail)

Store an image that represents one of your app’s assignable activities.

[`Get a Thumbnail`](/documentation/ClassKitCatalogAPI/Get-a-Thumbnail)

Fetch the image for one of your app’s assignable activities.

[`Delete a Thumbnail`](/documentation/ClassKitCatalogAPI/Delete-a-Thumbnail)

Remove one of the images for your app’s assignable activities.

### Retrieving Status

[`Get Status`](/documentation/ClassKitCatalogAPI/Get-Status)

Fetch the status of an operation that you initiated earlier.

[`Status`](/documentation/ClassKitCatalogAPI/Status)

The state of a request that the API previously accepted, but didn’t complete right away.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)