---
title: "Post credit note"
method: POST
path: "/clients/{clientId}/creditnote"
tags: ["CreditNotes"]
---

# Post credit note

`POST /clients/{clientId}/creditnote`

## Request

- Base URL: `https://{company}.keka.com/api/v1`
- URL: `https://{company}.keka.com/api/v1/clients/{clientId}/creditnote`
- Auth: OAuth 2
  - Implicit: `https://login.kekad.com/connect/authorize`

Post credit note

## Path parameters

- `clientId` string, required

## Request body

- KekaAPIModelTimesheetCreditNoteDto
  - `billingLegalEntity` string, nullable
  - `invoiceId` string, nullable
  - `taxGroupId` string, nullable
  - `taxId` string, nullable
  - `cnDate` string, date-time, nullable
  - `taxAmount` number, double, nullable
  - `discount` number, double, nullable
  - `totalAmount` number, double
  - `clientContactIds` string[], nullable
  - `lineItems` KekaAPIModelTimesheetAPICreditNoteLineItem[], nullable
    - `lineItemType` 0 | 1
    - `description` string, nullable
    - `quantity` number, double
    - `rate` number, double
    - `totalAmount` number, double
    - `discountType` 0 | 1
    - `discount` number, double, nullable
    - `discountAmount` number, double, nullable
    - `taxId` integer, nullable
    - `taxGroupId` integer, nullable
    - `taxRate` number, double, nullable
    - `taxAmount` number, double, nullable
  - `note` string, nullable

## Response `200`

OK

- KekaAPIWebCoreResponse1SystemString: class represents response.
  - `succeeded` boolean: Gets or sets a value indicating whether this Keka.API.Web.Core.Response`1 is succeeded.
  - `message` string, nullable: Gets or sets the message.
  - `errors` string[], nullable: Gets or sets the errors.
  - `data` string, nullable: Gets or sets the data.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden

---

[API](https://skmtc.dev/keka/apis/psa.md) - [All operations](https://skmtc.dev/keka/apis/psa/llms.txt) - [OpenAPI document](https://skmtc.dev/keka/apis/psa/revisions/4ed43db041c3?raw)
