> ## Documentation Index
> Fetch the complete documentation index at: https://www.zinc.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Cancellation

> Initiate a cancellation for an order

The Zinc API supports pre-shipment order cancellation on Amazon.com and Amazon.co.uk.

<Note>
  You can only cancel an order after it has been successfully placed using the API
</Note>

This is distinct from [aborting an order](/v1/api-reference/orders/abort), which occurs while the order is still in progress. Cancellations will send a cancellation request to the retailer and attempt to stop the order from shipping and can only be initiated for order requests that were successful.


## OpenAPI

````yaml POST /v1/orders/{request_id}/cancel
openapi: 3.0.0
info:
  title: Zinc API
  version: 1.0.0
  description: API for placing orders and retrieving product data from top retailers.
servers:
  - url: https://api.zinc.io
    description: Production server
security:
  - basicAuth: []
paths:
  /v1/orders/{request_id}/cancel:
    post:
      summary: Initiate Cancellation
      description: >-
        Initiate a pre-shipment order cancellation on Amazon.com and
        Amazon.co.uk. This occurs after an order has been successfully placed
        and is distinct from aborting an order.
      parameters:
        - name: request_id
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier for the order request to cancel
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancellationRequest'
      responses:
        '200':
          description: Cancellation initiated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancellationResponse'
components:
  schemas:
    CancellationRequest:
      type: object
      required:
        - merchant_order_id
      properties:
        merchant_order_id:
          type: string
          description: >-
            The merchant order id of the order that you would like to cancel. If
            the order has multiple merchant_order_ids you must cancel each
            separately.
        webhooks:
          $ref: '#/components/schemas/WebhooksObject'
          description: >-
            A webhooks object including URLs that will receive POST requests
            after `request_succeeded` and `request_failed`
    CancellationResponse:
      type: object
      properties:
        request_id:
          type: string
          description: The unique identifier for the cancellation request
    WebhooksObject:
      type: object
      description: >-
        A webhooks object including URLs that will receive `POST` requests after
        particular events have finished. See
        [Webhooks](/api-reference/introduction/webhooks) for more details.
      properties:
        request_succeeded:
          type: string
          description: The webhook URL to send data to when a request succeeds
        request_failed:
          type: string
          description: The webhook URL to send data to when a request fails
        tracking_obtained:
          type: string
          description: >-
            The webhook URL to send data to when ALL tracking for an order is
            retrieved (placing orders call only)
        tracking_updated:
          type: string
          description: >-
            The webhook URL to send data to when ANY tracking for an order is
            retrieved (placing orders call only)
        status_updated:
          type: string
          description: >-
            The webhook URL to send data to when the status of a request is
            updated
        case_updated:
          type: string
          description: >-
            The webhook URL to send data to when a ZMA case associated with the
            order receives an update
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: Use your client token as the username. Leave the password blank.

````