> ## Documentation Index
> Fetch the complete documentation index at: https://developer.eka.care/llms.txt
> Use this file to discover all available pages before exploring further.

# Update a charge

> Changes a charge's quantity, unit price, discount, description or service date.

The admission must be on new billing (`use_new_billing`); otherwise this returns 409. Returns 503 when billing is not configured on the server, and 502 when the billing service fails.



## OpenAPI

````yaml api-reference/doc-tool/ipd-api/ipd-sdk-openapi.json patch /ipd/v1/sdk/admissions/{admission_id}/billing/charges/{charge_id}
openapi: 3.1.0
info:
  title: Eka IPD Admission API
  version: '1.0'
servers:
  - description: Production
    url: https://api.eka.care
  - description: Stage/Sandbox
    url: https://api.dev.eka.care
security: []
paths:
  /ipd/v1/sdk/admissions/{admission_id}/billing/charges/{charge_id}:
    patch:
      tags:
        - IPD API
      summary: Update a charge
      description: >-
        Changes a charge's quantity, unit price, discount, description or
        service date.


        The admission must be on new billing (`use_new_billing`); otherwise this
        returns 409. Returns 503 when billing is not configured on the server,
        and 502 when the billing service fails.
      operationId: IpdSdkUpdateACharge
      parameters:
        - name: auth
          in: header
          required: true
          schema:
            type: string
          example: >-
            eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJiX2lkIjoiMTIzNDU2IiwiY2xpZW50X2lkIjoiNzg5MCIsImV4dHJhX2ZpZWxkIjoiZXh0cmFfZmllbGRfZGF0YSJ9.q9KzBI6f4l3OyM_EkB5Quq0l9EEMFh5JS-fx3F_PHUM
        - schema:
            minLength: 1
            type: string
          in: path
          name: admission_id
          required: true
          description: Id of the IPD admission.
        - schema:
            minLength: 1
            type: string
          in: path
          name: charge_id
          required: true
          description: Id of the charge.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              additionalProperties: false
              minProperties: 1
              type: object
              properties:
                quantity:
                  type: string
                unitPrice:
                  pattern: ^-?\d+(\.\d+)?$
                  description: New unit price. Decimal string, for example "1500.00".
                  type: string
                discount:
                  description: 'Line discount: either `{ percent }` or `{ amount }`.'
                  anyOf:
                    - additionalProperties: false
                      type: object
                      required:
                        - percent
                      properties:
                        percent:
                          minimum: 0
                          maximum: 100
                          type: number
                    - additionalProperties: false
                      type: object
                      required:
                        - amount
                      properties:
                        amount:
                          pattern: ^-?\d+(\.\d+)?$
                          description: >-
                            Discount amount. Decimal string, for example
                            "1500.00".
                          type: string
                description:
                  type: string
                occurredAt:
                  description: New service date (ISO).
                  type: string
                priceSource:
                  description: >-
                    Send `"override"` to make `unitPrice` a deliberate manual
                    rate that wins over price lists and rules. Without it,
                    billing re-resolves the price and treats `unitPrice` as a
                    preview.
                  type: string
                priceOverrideReason:
                  description: >-
                    Why an open-priced item's rate is outside its allowed range.
                    Required for an out-of-range rate; the charge then waits for
                    approval.
                  type: string
                remark:
                  description: New note on the line; an empty string clears it.
                  type: string
      responses:
        '200':
          description: >-
            A charge: `id`, `description`, `quantity`, `unitPrice`,
            `discountAmount`, `taxAmount`, `totalAmount`, `status`, `invoiceId`,
            `occurredAt`, …
          content:
            application/json:
              schema:
                additionalProperties: true
                description: >-
                  A charge: `id`, `description`, `quantity`, `unitPrice`,
                  `discountAmount`, `taxAmount`, `totalAmount`, `status`,
                  `invoiceId`, `occurredAt`, …
                example:
                  id: chg-501
                  description: X-Ray Chest
                  quantity: '1'
                  unitPrice: '800.00'
                  discountAmount: '80.00'
                  taxAmount: '0.00'
                  totalAmount: '720.00'
                  invoiceId: null
                  occurredAt: '2026-10-07T10:00:00.000Z'
                type: object
                properties: {}
        '400':
          description: Bad Request — the request failed validation or was rejected.
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
        '404':
          description: >-
            Not Found — the admission (or the addressed record) does not exist
            in your workspace.
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
        '409':
          description: >-
            Conflict — the admission is not on new billing, or the request
            conflicts with the account's current state.
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
        '502':
          description: Bad Gateway — the billing service failed.
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
        '503':
          description: >-
            Service Unavailable — billing or pharmacy notification is not
            configured.
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.