---
title: "Update a tarif plan"
method: PATCH
path: "/tarifs/{tarif_id}"
tags: ["Tarif"]
---

# Update a tarif plan

`PATCH /tarifs/{tarif_id}`

## Request

- Base URL: `https://api.your-domain.com`
- URL: `https://api.your-domain.com/tarifs/{tarif_id}`
- Auth: API key in header `X-API-KEY`
- TypeScript: <https://skmtc.dev/neulandai/apis/neuland-ai-hub-api/docs/tarifs/:tarif_id/patch.ts> (a function with typed inputs; its response is checked against the schema)

Update an existing tarif plan.

## Path parameters

- `tarif_id` integer, required: ID of the tarif to update.

## Query parameters

- `cookie_name` string, nullable
- `tenant_id` integer

## Request body

- TarifIn: Model for creating or updating a tarif.
  - `name` string, required: Name for the tarif to be created. Max 100 characters.
  - `price` number, required: The price of the tarif. This field is required.
  - `hard_limit` number, required: The hard limit to restrict the user.
  - `licenses` integer, nullable: Seats sold; sizes the tenant monthly pool.
  - `monthly_limit_per_license` number, nullable: Per-seat monthly allowance.
  - `soft_limit_fraction` number, nullable: Warn user when monthly spend reaches this fraction of monthly_limit_per_license.
  - `status` 'ACTIVE' | 'RETIRED': Enum for Tarif status in Tarif
  - `expires_at` string, date, nullable: When the tarif expires; None = never.
  - `description` string, nullable: Description of the tarif.
  - `is_unlimited` boolean, nullable: Whether the tarif has unlimited usage.

## Response `200`

Successful Response

- Tarif: Model for creating or updating a tarif.
  - `id` integer: Primary key for the tarif record.
  - `name` string, required: Name for the tarif to be created. Max 100 characters.
  - `price` number, required: The price of the tarif. This field is required.
  - `hard_limit` number, nullable: Max allowed usage; None = unlimited if is_unlimited.
  - `licenses` integer, nullable: Seats sold; sizes the tenant monthly pool.
  - `monthly_limit_per_license` number, nullable: Per-seat monthly allowance.
  - `soft_limit_fraction` number, nullable: Warn user when monthly spend reaches this fraction of monthly_limit_per_license.
  - `is_unlimited` boolean: Bypass usage checks if True.
  - `description` string, nullable: Description of the tarif.
  - `status` 'ACTIVE' | 'RETIRED': Enum for Tarif status in Tarif
  - `is_default` boolean: Whether this tarif is the default plan for new tenants.
  - `creator_user_id` integer, nullable, required: ID of the user who created the tarif.
  - `created_at` string, date-time: Timestamp when the tarif was created.
  - `updated_at` string, date-time: Timestamp when the tarif was last updated.

## Other responses

- `401`: Missing or invalid authentication.
- `403`: Insufficient privileges, or tariff not editable by your tenant.
- `404`: No tarif exists with the given id.
- `422`: Validation Error

---

[API](https://skmtc.dev/neulandai/apis/neuland-ai-hub-api.md) - [All operations](https://skmtc.dev/neulandai/apis/neuland-ai-hub-api/llms.txt) - [OpenAPI document](https://skmtc.dev/neulandai/apis/neuland-ai-hub-api/revisions/b53e89b98c2b?raw)
