---
title: "Edit a concession"
method: PUT
path: "/billing/concessions/{concession_id}"
tags: ["billing"]
---

# Edit a concession

`PUT /billing/concessions/{concession_id}`

## Request

- Base URL: `https://api.verdun.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.verdun.ai/billing/concessions/{concession_id}`
- Auth: HTTP bearer

## Path parameters

- `concession_id` string, uuid, required

## Request body

- SaveConcessionRequest: Create or fully replace a concession. Every field is sent on each save.
  - `parent_id` string, uuid, required: The client the concession was given to.
  - `title` string, required: One line saying what was given.
  - `details` string, nullable: Anything else worth knowing. Blank or null clears it.
  - `starts_on` string, date, nullable: When it starts, if dated.
  - `ends_on` string, date, nullable: When it ends, if it does. On or after starts_on.

## Response `200`

Successful Response

- BillingConcessionResponse
  - `id` string, uuid, required: Concession id.
  - `parent_id` string, uuid, required: The client it was given to.
  - `parent_name` string, nullable: That client's name now.
  - `title` string, required: What was given.
  - `details` string, nullable: Free-text notes; null if none.
  - `starts_on` string, date, nullable: Start date, if dated.
  - `ends_on` string, date, nullable: End date, if it ends.
  - `created_at` string, date-time, nullable: When it was added.
  - `created_by_name` string, nullable: Who added it, as named then.
  - `updated_at` string, date-time, nullable: When it was last edited; null if never.
  - `updated_by_name` string, nullable: Who saved it last, as named then.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/verdun/apis/verdun-api.md) - [All operations](https://skmtc.dev/verdun/apis/verdun-api/llms.txt) - [OpenAPI document](https://skmtc.dev/verdun/apis/verdun-api/revisions/35a2a6ebedda?raw)
