# API: Catalog

| Method | Path | What it does | Scope |
|---|---|---|---|
| GET | `/v1/cpq/region-rules` | Regional price and availability rules for catalog products | `deals:read` |
| POST | `/v1/cpq/region-rules` | Add a regional rule (owner): a regional price, unavailable in a region, or sold only in listed regions (countries: ISO codes; states: US/Canadian codes) | `settings:write` |
| PUT | `/v1/cpq/region-rules/:id` | Change a regional rule (owner) | `settings:write` |

## Examples

### GET /v1/cpq/region-rules

Regional price and availability rules for catalog products

```bash
curl -s "https://api.closefinch.com/v1/cpq/region-rules" \
  -H "Authorization: Bearer $RA_API_KEY"
```

```js
const res = await fetch(`https://api.closefinch.com/v1/cpq/region-rules`, {
  method: "GET",
  headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();
```

### POST /v1/cpq/region-rules

Add a regional rule (owner): a regional price, unavailable in a region, or sold only in listed regions (countries: ISO codes; states: US/Canadian codes)

```bash
curl -s -X POST "https://api.closefinch.com/v1/cpq/region-rules" \
  -H "Authorization: Bearer $RA_API_KEY" \
  -H "content-type: application/json" \
  -d '{}'
```

```js
const res = await fetch(`https://api.closefinch.com/v1/cpq/region-rules`, {
  method: "POST",
  headers: { authorization: `Bearer ${process.env.RA_API_KEY}`, "content-type": "application/json" },
  body: JSON.stringify({}), // fields: see the OpenAPI schema
});
const data = await res.json();
```

### PUT /v1/cpq/region-rules/$ID

Change a regional rule (owner)

```bash
curl -s -X PUT "https://api.closefinch.com/v1/cpq/region-rules/$ID" \
  -H "Authorization: Bearer $RA_API_KEY" \
  -H "content-type: application/json" \
  -d '{}'
```

```js
const res = await fetch(`https://api.closefinch.com/v1/cpq/region-rules/${id}`, {
  method: "PUT",
  headers: { authorization: `Bearer ${process.env.RA_API_KEY}`, "content-type": "application/json" },
  body: JSON.stringify({}), // fields: see the OpenAPI schema
});
const data = await res.json();
```

Request and response schemas: [https://www.closefinch.com/openapi.json](https://www.closefinch.com/openapi.json). All resources: [API reference](https://www.closefinch.com/docs/api).
