---
title: "POST /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel"
method: POST
path: "/v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel"
tags: ["projects"]
---

# POST /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel

`POST /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel`

## Request

- Base URL: `https://dataform.googleapis.com`
- URL: `https://dataform.googleapis.com/v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel`
- Auth: one of:
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/bigquery`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/bigquery`
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/cloud-platform`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/cloud-platform`

Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.

## Path parameters

- `projectsId` string, required
- `locationsId` string, required
- `operationsId` string, required

## Request body

- CancelOperationRequest: The request message for Operations.CancelOperation.

## Response `200`

Successful response

- Empty: A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }

## Changes

- **2026-11-03** `aa7c2fe4d752`: 4 info
  - the security scope `https://www.googleapis.com/auth/bigquery` was added to the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/bigquery` was added to the endpoint's security scheme `Oauth2c`
  - the security scope `https://www.googleapis.com/auth/cloud-platform` was removed from the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/cloud-platform` was removed from the endpoint's security scheme `Oauth2c`

[Operation history](https://skmtc.dev/google/apis/dataform/changes/v1/projects/:projectsId/locations/:locationsId/operations/:operationsId:cancel/post.md)

---

[API](https://skmtc.dev/google/apis/dataform.md) - [All operations](https://skmtc.dev/google/apis/dataform/llms.txt) - [OpenAPI document](https://skmtc.dev/google/apis/dataform/revisions/aa7c2fe4d752?raw)
