---
title: "Pull a package into the Playground"
method: POST
path: "/api/playground_pull"
tags: ["Playground"]
---

# Pull a package into the Playground

`POST /api/playground_pull`

Pulls a package from GitHub or PyPI into the Playground. Returns 200
with `task_id` if a server restart is needed, or 204 if not.
Requires `admin`, `developer`, or the `playground_control` permission.

## Request body

- object
  - `github_url` string — GitHub URL of the package to pull.
  - `branch` string — Branch to pull from.
  - `pip` string — PyPI package name to pull.
  - `project` string
  - `user_id` integer
  - `restart` 0 | 1

## Response `200`

Pull completed; server restart initiated.

- TaskId
  - `task_id` string, required — Opaque identifier that can be passed to a status endpoint.

## Other responses

- `204` — Pull completed; no restart needed.
- `400` — Bad request.
- `403` — Access denied.

---

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