---
title: "Canceling a job offer"
method: POST
path: "/jobs/{jobId}/applications/{applicationId}/job-offers/{jobOfferId}/cancel"
tags: ["Job Offers"]
---

# Canceling a job offer

`POST /jobs/{jobId}/applications/{applicationId}/job-offers/{jobOfferId}/cancel`

## Request

- Base URL: `https://api.gupy.io/api/v1`
- URL: `https://api.gupy.io/api/v1/jobs/{jobId}/applications/{applicationId}/job-offers/{jobOfferId}/cancel`
- Auth: HTTP bearer

Cancels an active job offer previously sent to the candidate.
Cancellation is only allowed when the offer status is `SENT` or `VIEWED`.

## Path parameters

- `jobId` integer, required
- `applicationId` integer, required
- `jobOfferId` integer, required

## Request body

- object
  - `notifyCandidate` boolean: Whether to notify the candidate about the cancellation

## Response `204`

Job offer canceled successfully

## Other responses

- `400`: BadRequest / Invalid Input
- `401`: Unauthorized
- `403`: Forbidden
- `404`: NotFound / Resource not found

## Changes

- **2026-11-03** `b84c14658872`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/gupy/apis/gupy-public-api/changes/jobs/:jobId/applications/:applicationId/job-offers/:jobOfferId/cancel/post.md)

---

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