---
title: "Update contract obligation"
method: PATCH
path: "/v3/contracts/{id}/obligation/{obligationId}"
tags: ["Contracts"]
---

# Update contract obligation

`PATCH /v3/contracts/{id}/obligation/{obligationId}`

## Path parameters

- `id` string, required
- `obligationId` string, required

## Request body

- UpdateObligationDto
  - `name` string — Billing term name
  - `description` string — Billing term description
  - `itemId` string — Item Id
  - `productId` string, nullable — Product ID from /v3/products that links this billing term to an entry in the merchant's product catalog. Omit to leave unchanged, provide a UUID to link, or null to unlink. To ensure revenue reporting accuracy, associate the billing term with a product whenever applicable.
  - `classId` string — Class Id
  - `categoryId` string — Category Id
  - `eventTypeId` string — Event Type Id
  - `price` string — Price
  - `invoiceDateStrategy` string — Strategy for determining when to send invoices. FIRST_OF_PERIOD (invoice at start of billing period), LAST_OF_PERIOD (invoice at end of billing period), ARREARS (invoice after service delivery) or ADVANCED_DUE_START (invoice date at start of billing period minus netPaymentTerms days, due start of service).
  - `netPaymentTerms` number — Net Payment Terms
  - `includeInArr` boolean — Whether this billing term contributes to ARR (Annual Recurring Revenue)
  - `billingStartDate` string — Billing Start Date
  - `billingFrequency` number — Billing Frequency
  - `billingFrequencyUnit` 'NONE' | 'DAY' | 'MONTH' | 'HOUR' | 'YEAR' | 'QUARTER' | 'SEMI_MONTH' | 'WEEK' — Billing Frequency Unit
  - `totalNumberOfInvoices` number — Total Number of Invoices
  - `revenueStartDate` string — Revenue Start Date
  - `revenueEndDate` string — Revenue End Date
  - `discount` DiscountDto
    - `type` 'PERCENTAGE' | 'FIXED' — The type of discount
    - `amount` string — The discount amount (stored as mantissa in database with exponent 0)
    - `note` string — Optional note about the discount
  - `regenerateInvoices` boolean — Regenerate Invoices

## Response `200`

Obligation updated successfully

## Other responses

- `404` — Obligation not found
- `500` — Internal server error

---

[API](https://skmtc.net/tabsplatform/apis/tabs-external-api.md) · [All operations](https://skmtc.net/tabsplatform/apis/tabs-external-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tabsplatform/tabs-external-api/versions/7e8885517814/schema)
