---
title: "Create a new checkpoint for a file"
method: POST
path: "/api/contents/{path}/checkpoints"
tags: ["contents"]
---

# Create a new checkpoint for a file

`POST /api/contents/{path}/checkpoints`

Create a new checkpoint with the current state of a file. With the default FileContentsManager, only one checkpoint is supported, so creating new checkpoints clobbers existing ones.

## Path parameters

- `path` string, required

## Response `201`

Checkpoint created

- Checkpoints — A checkpoint object.
  - `id` string, required — Unique id for the checkpoint.
  - `last_modified` string, dateTime, required — Last modified timestamp

## Other responses

- `400` — Bad request
- `404` — No item found

## Changes

- **2026-07-17** `b6f1ce06c896` — 1 breaking, 2 info
  - added the new path request parameter `path`
  - added the media type `application/json` for the response with the status `201`
  - added the media type `application/json` for the response with the status `400`
- **2025-12-10** `e9ae9d653401` — 2 breaking, 1 warning
  - removed the media type `application/json` for the response with the status `201`
  - removed the media type `application/json` for the response with the status `400`
  - deleted the `path` request parameter `path`

[Change history](https://skmtc.dev/google/apis/jupyter-server-api/changes/api/contents/:path/checkpoints/post.md)

---

[API](https://skmtc.dev/google/apis/jupyter-server-api.md) · [All operations](https://skmtc.dev/google/apis/jupyter-server-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/google/jupyter-server-api/revisions/b6f1ce06c896/schema)
