---
title: "Delete a payroll"
method: DELETE
path: "/v1/companies/{company_id}/payrolls/{payroll_id}"
tags: ["Payrolls"]
---

# Delete a payroll

`DELETE /v1/companies/{company_id}/payrolls/{payroll_id}`

## Request

- Base URL: `https://api.gusto-demo.com`
- URL: `https://api.gusto-demo.com/v1/companies/{company_id}/payrolls/{payroll_id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/gusto/apis/gusto-api/docs/v1/companies/:company_id/payrolls/:payroll_id/delete.ts> (a function with typed inputs; its response is checked against the schema)

This endpoint allows you to delete an **unprocessed** payroll.

By default the payroll and associated data is deleted synchronously. To request an asynchronous delete, use the `async=true` query parameter. In both cases validation of ability to delete will be performed and an Unprocessable Entity error will be returned if the payroll is not able to be deleted. A successful synchronous delete will return `204/No Content`. When a payroll has been enqueued for asynchronous deletion, `202/Accepted` will be returned.

scope: `payrolls:run`

## Path parameters

- `company_id` string, required
- `payroll_id` string, required

## Query parameters

- `async` boolean

## Headers

- `X-Gusto-API-Version` '2026-06-15'

## Response `202`

Accepted

## Other responses

- `204`: no content
- `404`: Not Found

---

[API](https://skmtc.dev/gusto/apis/gusto-api.md) - [All operations](https://skmtc.dev/gusto/apis/gusto-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gusto/apis/gusto-api/revisions/f98575fa2a5e?raw)
