---
title: "Create a price watch"
method: POST
path: "/v1/subscriptions"
tags: ["Subscriptions"]
---

# Create a price watch

`POST /v1/subscriptions`

## Request

- Base URL: `https://api.oilpriceapi.com`
- URL: `https://api.oilpriceapi.com/v1/subscriptions`
- Auth: API key in header `Authorization`

Create a persistent price watch that emits events when its condition is met.

## Request body

- object
  - `name` string
  - `codes` string[]: Commodity codes to evaluate. Codes and minimum interval depend on the account tier.
  - `code` string: Legacy single-code shorthand; folded into `codes`.
  - `interval_seconds` integer, required: Evaluation interval in seconds, subject to the account tier's minimum.
  - `deliver_webhook` boolean
  - `source` 'api' | 'mcp' | 'dashboard'
  - `tool_name` string

## Response `200`

Price watch created

- PriceWatchResponse
  - `status` 'success', required
  - `data` object, required
    - `subscription` PriceWatch, required: A persistent commodity watch evaluated on the configured interval.
      - `id` string, required
      - `name` string, nullable
      - `codes` string[], required
      - `interval_seconds` integer, required
      - `status` 'active' | 'paused', required
      - `deliver_webhook` boolean, required
      - `source` 'api' | 'mcp' | 'dashboard', required
      - `tool_name` string, nullable
      - `last_evaluated_at` string, date-time, nullable
      - `next_run_at` string, date-time, nullable
      - `created_at` string, date-time, required

## Other responses

- `401`: Unauthorized
- `402`: Account watch count, code count, or interval entitlement requires an upgrade.
- `422`: Price watch validation failed.
- `500`: Unexpected server error. Retry transient failures with bounded backoff and retain the request ID when contacting support.

---

[API](https://skmtc.dev/oilpriceapi/apis/oil-price-api-v1.md) - [All operations](https://skmtc.dev/oilpriceapi/apis/oil-price-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/oilpriceapi/apis/oil-price-api-v1/revisions/7f8b4d763210?raw)
