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

# Update a usage base

> Change the schedule hour, timezone, or display name of a tracked base.



## OpenAPI

````yaml /openapi.json patch /usage/bases/{id}
openapi: 3.0.4
info:
  title: Simplified Webhooks Backend
  version: '1.0'
  description: >-
    API for Airtable webhooks, usage (record & attachment-storage counting), and
    change-monitoring audit logs.
  contact:
    name: API Support
    url: https://www.simplified-webhooks.com/contact-us
    email: contact@simplified-webhooks.com
servers:
  - url: https://api.simplified-webhooks.com
    description: Main server
security: []
tags:
  - name: Webhooks
    description: Register, update, and delete delivery webhooks for Airtable changes.
  - name: Usage
    description: >-
      Track daily record counts and attachment storage per Airtable base, and
      read the snapshot time-series.
  - name: Audit Log
    description: >-
      Configure change monitoring that logs every record & schema change into a
      Changes table in your own Airtable base.
paths:
  /usage/bases/{id}:
    patch:
      tags:
        - Usage
      summary: Update a usage base
      description: Change the schedule hour, timezone, or display name of a tracked base.
      operationId: updateUsageBase
      parameters:
        - $ref: '#/components/parameters/UsageBaseId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                baseName:
                  type: string
                  example: Sales CRM
                scheduledHour:
                  type: integer
                  minimum: 0
                  maximum: 23
                  description: Local hour (0-23) the daily count runs.
                  example: 9
                timezone:
                  type: string
                  description: IANA timezone id used to resolve the scheduled hour.
                  example: Europe/Berlin
      responses:
        '200':
          description: The updated usage base.
          content:
            application/json:
              schema:
                type: object
                properties:
                  base:
                    $ref: '#/components/schemas/UsageBase'
        '400':
          description: Bad request due to invalid input.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized, authentication token is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Usage base not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - apiKey: []
components:
  parameters:
    UsageBaseId:
      name: id
      in: path
      required: true
      description: >-
        The usage base id (the row id returned by /usage/bases, not the Airtable
        base id).
      schema:
        type: string
        format: uuid
        example: 8f1d6b2c-3a4e-4c5d-9e6f-0a1b2c3d4e5f
  schemas:
    UsageBase:
      type: object
      title: Usage Base
      properties:
        id:
          type: string
          format: uuid
          example: 8f1d6b2c-3a4e-4c5d-9e6f-0a1b2c3d4e5f
        baseId:
          type: string
          description: The Airtable base id.
          example: appkGlXEiufQLn1Qd
        baseName:
          type: string
          example: Sales CRM
        scheduledHour:
          type: integer
          minimum: 0
          maximum: 23
          description: Local hour (0-23) the daily count runs.
          example: 9
        timezone:
          type: string
          description: IANA timezone id.
          example: Europe/Berlin
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    ErrorResponse:
      type: object
      properties:
        message:
          type: string
          example: 'Missing required fields: [tableId, event]'
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: Authorization
      description: API key for authentication.

````