> ## 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 Task Billing

> Set a task's billing rate or mark it non-billable. Requires admin access. The same values are returned on task responses when you pass `opts_include_billing=1`.



## OpenAPI

````yaml /openapi.json put /tasks/{task_id}/billing
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:
  /tasks/{task_id}/billing:
    put:
      tags:
        - Tasks
      summary: Update Task Billing
      description: >-
        Set a task's billing rate or mark it non-billable. Requires admin
        access. The same values are returned on task responses when you pass
        `opts_include_billing=1`.
      operationId: updateTaskBilling
      parameters:
        - name: task_id
          in: path
          required: true
          description: Task ID
          schema:
            type: string
            example: ev:3000010034
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskBillingRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
        '401':
          description: Unauthorized
components:
  schemas:
    TaskBillingRequest:
      type: object
      properties:
        unbillable:
          type: boolean
          description: Mark the task as non-billable.
          example: false
        rate:
          type: integer
          description: >-
            Hourly billable rate in cents. Use -1 to leave the current rate
            unchanged.
          example: 10000
    Task:
      type: object
      properties:
        id:
          type: string
          example: ev:9876543210
        name:
          type: string
          example: Task Name
        projects:
          type: array
          description: List of projects ID
          items:
            type: string
          example:
            - ev:1234567890
        section:
          type:
            - number
            - 'null'
          description: Section ID
          example: 1234
        labels:
          type: array
          items:
            type: string
          example:
            - high
            - bug
        position:
          type: number
          example: 1
        description:
          type:
            - string
            - 'null'
        dueAt:
          type:
            - string
            - 'null'
          description: 'Format: Y-m-d H:i:s'
          example: '2018-03-05 16:00:00'
        status:
          type: string
          enum:
            - open
            - closed
          example: open
        time:
          $ref: '#/components/schemas/TaskTime'
        estimate:
          $ref: '#/components/schemas/TaskEstimate'
        attributes:
          type: object
          description: Custom attributes from integration
          additionalProperties:
            type: string
          example:
            Client: Everhour
            Priority: high
        metrics:
          type: object
          description: Custom metrics from integration
          additionalProperties:
            type: number
          example:
            efforts: 42
            expenses: 199
        unbillable:
          type: boolean
      required:
        - id
        - name
        - projects
    TaskTime:
      type: object
      properties:
        total:
          type: number
          description: Total task time in seconds
          example: 7200
        users:
          type: object
          description: Task time per user ID
          additionalProperties:
            type: number
          example:
            '1304': 3600
            '1543': 3600
      required:
        - total
        - users
    TaskEstimate:
      type: object
      properties:
        total:
          type: number
          description: Total task estimate in seconds
          example: 7200
        type:
          type: string
          enum:
            - overall
            - users
          example: overall
        users:
          type: object
          description: Task estimate per user ID
          additionalProperties:
            type: number
          example:
            '1304': 3600
            '1543': 3600
      required:
        - total
        - type
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key

````