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

# Update Client Budget

> Create or replace the budget attached to a client. Send a complete budget object; partial updates are not supported.



## OpenAPI

````yaml /openapi.json put /clients/{client_id}/budget
openapi: 3.1.1
info:
  title: Everhour API
  version: 1.0.0
  license:
    name: Proprietary
    identifier: LicenseRef-Proprietary
servers:
  - url: https://api.everhour.com
security:
  - ApiKeyAuth: []
tags:
  - name: Clients
  - name: Custom Fields
  - name: Expenses
  - name: Invoices
  - name: Projects
  - name: Reports
  - name: Schedule
  - name: Tasks
  - name: Time Off
  - name: Time Records
  - name: Timecards
  - name: Timers
  - name: Timesheets
  - name: Users
  - name: Webhooks
paths:
  /clients/{client_id}/budget:
    put:
      tags:
        - Clients
      summary: Update Client Budget
      description: >-
        Create or replace the budget attached to a client. Send a complete
        budget object; partial updates are not supported.
      operationId: updateClientBudget
      parameters:
        - name: client_id
          in: path
          required: true
          description: Client ID
          schema:
            type: number
            example: 107
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientBudget'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Client'
        '401':
          description: Unauthorized
components:
  schemas:
    ClientBudget:
      type: object
      properties:
        type:
          type: string
          description: Budget Type
          enum:
            - money
            - time
            - costs
          example: money
        budget:
          type: number
          description: Budget value in cents (for money) or seconds (for time)
          example: 100000
        period:
          type: string
          description: Budget periodicity (overall, monthly, weekly, daily)
          enum:
            - general
            - monthly
            - weekly
            - daily
            - quarterly
            - yearly
          example: general
        appliedFrom:
          type:
            - string
            - 'null'
          description: Start budget from (available only for non-recurrent budgets)
        disallowOverbudget:
          type: boolean
        excludeUnbillableTime:
          type: boolean
        excludeExpenses:
          type: boolean
        threshold:
          type: number
          description: >-
            Email admins when threshold reached. Threshold is percentage 1 -
            100.
        progress:
          type: number
          description: Current budget usage in cents (for money) or seconds (for time)
          readOnly: true
          example: 0
      required:
        - type
        - budget
        - period
    Client:
      type: object
      properties:
        id:
          type: number
          example: 4567
        name:
          type: string
          example: Client Name
        projects:
          type: array
          description: List of projects ID
          items:
            type: string
          example:
            - ev:1234567890
        businessDetails:
          type:
            - string
            - 'null'
        budget:
          $ref: '#/components/schemas/ClientBudget'
      required:
        - id
        - name
        - projects
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key

````