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

# Edit Configuration

> Updates a single configuration setting. Settings are identified by their category, subcategory, and item name.

Updates a single setting using an addressing pattern of `category > subcategory > item > value`. The response returns only the updated value, not the full configuration object.

### Valid categories and subcategories

| Category               | Subcategories                                                                                                                             |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `shift_options`        | `shift_requests`, `split_shifts`, `shift_equalizer`, `shift_visibility`, `worker_limits`                                                  |
| `worker_interaction`   | `bailouts`, `availability`, `time_off`, `reviews_and_stars`, `blogs`, `coworker_display`, `calendar_sync`                                 |
| `worker_communication` | `autotext`, `web_checkin`, `silence_mode`, `text_communication`, `custom_messages`, `invite_to_work`, `event_updates`                     |
| `admin`                | `daily_summary`, `verbose_emails`, `list_view_options`, `list_view_verbose`, `worker_profile_control`, `publish_system`, `bailout_reason` |
| `time_tracking`        | `time_tracking`, `show_workers_hours`, `client_sign`, `reimbursements`, `deductions`, `personnel_orderables`                              |

<Warning>
  Boolean settings must be sent as `true` / `false`, not `1` / `0`. Some settings depend on the company's premium subscription status and will return an error if the feature is not available.
</Warning>

<Tip>
  Use `GET /config` first to discover the available items within each subcategory and their current values.
</Tip>


## OpenAPI

````yaml api-reference/v01.12.00/openapi-v01.12.00.json PATCH /config
openapi: 3.0.0
info:
  title: Roosted
  version: 0.1.12
  contact:
    name: Support
    url: https://support.roostedhr.com/support/home
    email: support@roostedhr.com
  description: |-
    Enterprise API

    Sandbox keys and Production keys are requested from support
servers:
  - url: https://api.roostedhr.com/api/1_12
  - url: https://sandbox.roostedhr.com/api/1_12
security:
  - X-API-KEY: []
tags:
  - name: Announcements
  - name: Areas
  - name: Clients
  - name: Company
  - name: Configuration
  - name: Events
  - name: Locations
  - name: Payroll Groups
  - name: Rate Cards
  - name: Shifts
  - name: Skillsets
  - name: Time Tracking
  - name: Wage Rules
  - name: Workers
paths:
  /config:
    patch:
      tags:
        - Configuration
      summary: Edit Configuration
      description: >-
        Updates a single configuration setting. Settings are identified by their
        category, subcategory, and item name.
      operationId: patch-config
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfigurationUpdateRequest'
            examples:
              Enable shift requests:
                value:
                  category: shift_options
                  subcategory: shift_requests
                  item: active
                  value: true
              Set geo-fence distance:
                value:
                  category: time_tracking
                  subcategory: time_tracking
                  item: time_punch_max_distance
                  value: 200
              Enable daily summaries:
                value:
                  category: admin
                  subcategory: daily_summary
                  item: active
                  value: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                description: The updated value for the specified setting.
                properties:
                  value:
                    description: The new value that was set.
              examples:
                Boolean setting updated:
                  value:
                    value: true
                Numeric setting updated:
                  value:
                    value: 200
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    description: Machine-readable error code.
                  error:
                    type: string
                    description: Human-readable error message.
              examples:
                Invalid category:
                  value:
                    code: CFG-100
                    error: Invalid category
                Invalid subcategory:
                  value:
                    code: CFG-200
                    error: Invalid subcategory for the specified category
                Invalid item:
                  value:
                    code: CFG-300
                    error: Invalid item for the specified subcategory
                Invalid value:
                  value:
                    code: CFG-400
                    error: Invalid value for the specified item
                Category required:
                  value:
                    code: CFG-500
                    error: Category is required
                Subcategory required:
                  value:
                    code: CFG-600
                    error: Subcategory is required
                Item required:
                  value:
                    code: CFG-700
                    error: Item is required
                Value required:
                  value:
                    code: CFG-800
                    error: Value is required
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    description: Machine-readable error code.
                  error:
                    type: string
                    description: Human-readable error message.
              examples:
                Invalid API key:
                  value:
                    code: ATH-100
                    error: Invalid or missing API key
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    description: Machine-readable error code.
                  error:
                    type: string
                    description: Human-readable error message.
              examples:
                Insufficient permissions:
                  value:
                    code: CFG-900
                    error: Insufficient permissions to manage configuration
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    description: Machine-readable error code.
                  error:
                    type: string
                    description: Human-readable error message.
              examples:
                Resource not found:
                  value:
                    code: CFG-1100
                    error: Resource not found
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    description: Machine-readable error code.
                  error:
                    type: string
                    description: Human-readable error message.
              examples:
                Internal server error:
                  value:
                    code: CFG-1000
                    error: An unexpected error occurred
components:
  schemas:
    ConfigurationUpdateRequest:
      title: ConfigurationUpdateRequest
      type: object
      description: >-
        Identifies a single configuration setting to update by its category,
        subcategory, and item path.
      required:
        - category
        - subcategory
        - item
        - value
      properties:
        category:
          type: string
          description: Top-level configuration category.
          enum:
            - shift_options
            - worker_interaction
            - worker_communication
            - admin
            - time_tracking
          example: shift_options
        subcategory:
          type: string
          description: >-
            Subcategory within the specified category (e.g., `shift_requests`,
            `autotext`, `daily_summary`).
          example: shift_requests
        item:
          type: string
          description: The specific setting name within the subcategory.
          example: active
        value:
          description: >-
            The new value for the setting. Type depends on the specific setting
            (boolean, integer, or string).
          example: true
  securitySchemes:
    X-API-KEY:
      name: X-API-KEY
      type: apiKey
      in: header

````