---
title: "Update sale status"
method: PUT
path: "/sales/{id}"
tags: ["Sales"]
---

# Update sale status

`PUT /sales/{id}`

Performs a status action on a sale. Available actions: mark_paid (unpaid -> paid), refund (paid -> refunded), cancel (unpaid or paid -> cancelled).

## Path parameters

- `id` string, required

## Request body

- object
  - `action` 'mark_paid' | 'refund' | 'cancel', required — The action to perform on the sale

## Response `200`

Sale updated successfully

- object
  - `data` Sale
    - `id` string — Encoded sale ID
    - `event_id` string — Encoded event ID
    - `event_name` string, nullable — Name of the associated event
    - `subdomain` string, nullable — Subdomain of the schedule where the sale was made
    - `name` string — Buyer name
    - `email` string, email — Buyer email
    - `event_date` string, date — Date of the event occurrence
    - `status` 'unpaid' | 'paid' | 'cancelled' | 'refunded' | 'expired' — Payment status
    - `payment_method` string, nullable — Payment method used
    - `payment_amount` number — Total payment amount
    - `transaction_reference` string, nullable — External transaction reference
    - `secret` string — Secret key for accessing the ticket (only visible to event owner)
    - `tickets` object[] — Tickets included in this sale
      - `ticket_id` string — Encoded ticket ID
      - `quantity` integer — Number of tickets purchased
      - `price` number — Price per ticket
      - `type` string — Ticket type name
    - `total_quantity` integer — Total number of tickets in this sale
    - `created_at` string, date-time, nullable — ISO 8601 creation timestamp
    - `updated_at` string, date-time, nullable — ISO 8601 last update timestamp
  - `meta` object
    - `message` string

## Other responses

- `401` — Missing or invalid API key
- `403` — Unauthorized or not a Pro account
- `404` — Sale not found
- `422` — Action cannot be performed on current sale status

## Changes

- **2026-02-17** `c1e54e26b0db` — 1 info
  - endpoint added
- **2026-02-11** `36ccba39bc4d` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/eventschedule/apis/event-schedule-api/changes/sales/:id/put.md)

---

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