---
title: "Upsert obligation custom revenue"
method: POST
path: "/v3/contracts/{id}/obligation/{obligationId}/custom-revenue"
tags: ["Contracts"]
---

# Upsert obligation custom revenue

`POST /v3/contracts/{id}/obligation/{obligationId}/custom-revenue`

## Request

- Base URL: `https://integrators.prod.api.tabsplatform.com`
- URL: `https://integrators.prod.api.tabsplatform.com/v3/contracts/{id}/obligation/{obligationId}/custom-revenue`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/tabsplatform/apis/tabs-external-api/docs/v3/contracts/:id/obligation/:obligationId/custom-revenue/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

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

## Request body

- CustomRevenue[]
  - `timeframe` string, required: Timeframe
  - `total` number, required: Total

## Response `200`

Upsert custom revenue

## Other responses

- `400`: Bad request body, e.g. invalid timeframe
- `404`: Contract or obligation not found
- `500`: Internal server error

---

[API](https://skmtc.dev/tabsplatform/apis/tabs-external-api.md) - [All operations](https://skmtc.dev/tabsplatform/apis/tabs-external-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tabsplatform/apis/tabs-external-api/revisions/7e8885517814?raw)
