---
title: "Update an offer's status"
method: PATCH
path: "/api/offers/update/"
---

# Update an offer's status

`PATCH /api/offers/update/`

## Request

- Base URL: `https://productindex.ai`
- URL: `https://productindex.ai/api/offers/update/`
- Auth: one of:
  - API key in cookie `authjs.session-token`
  - HTTP bearer

Status-only transition (`active` / `paused` / `expired`). For any other field, use `PATCH /api/offers/edit/`. Ownership is enforced the same way as edit — a mismatched `offer_id`/org pair returns 404.

## Request body

- object
  - `offer_id` string, required
  - `status` 'active' | 'paused' | 'expired', required

## Response `200`

Status updated.

- object
  - `ok` boolean

## Other responses

- `400`: Missing `offer_id`, or `status` not one of `active`/`paused`/`expired`.
- `401`: No valid session or bearer token.
- `404`: No offer with this `offer_id` belongs to the caller's organization.

---

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