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

# Update Component



## OpenAPI

````yaml api-reference/openapi.json put /components/{component}
openapi: 3.1.0
info:
  title: Cachet
  version: 0.0.1
  description: >-
    API documentation for Cachet, the open-source, self-hosted status page
    system.
servers:
  - url: http://localhost/api
  - url: https://v3.cachethq.io/api
    description: The Cachet v3 demo server.
security:
  - http: []
tags:
  - name: Cachet
  - name: Components
  - name: Component Groups
  - name: Incidents
  - name: Incident Updates
  - name: Incident Templates
  - name: Metrics
  - name: Metric Points
  - name: Schedules
  - name: Schedule Updates
paths:
  /components/{component}:
    put:
      tags:
        - Components
      summary: Update Component
      operationId: cachet.api.components.update
      parameters:
        - name: component
          in: path
          required: true
          description: The component ID
          schema:
            type: integer
      requestBody:
        description: '`UpdateComponentRequestData`'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateComponentRequestData'
      responses:
        '200':
          description: '`Component`'
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Component'
                required:
                  - data
        '401':
          $ref: '#/components/responses/AuthenticationException'
        '403':
          $ref: '#/components/responses/MissingAbilityException'
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '422':
          $ref: '#/components/responses/ValidationException'
components:
  schemas:
    UpdateComponentRequestData:
      type: object
      properties:
        name:
          type:
            - string
            - 'null'
          maxLength: 255
        description:
          type:
            - string
            - 'null'
        status:
          anyOf:
            - $ref: '#/components/schemas/ComponentStatusEnum'
            - type: 'null'
        link:
          type:
            - string
            - 'null'
        order:
          type:
            - integer
            - 'null'
          minimum: 0
        enabled:
          type: boolean
          default: true
        component_group_id:
          type:
            - integer
            - 'null'
          minimum: 0
      title: UpdateComponentRequestData
    Component:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
            - components
        attributes:
          type: object
          properties:
            id:
              type: integer
            name:
              type: string
            description:
              type:
                - string
                - 'null'
            link:
              type:
                - string
                - 'null'
            order:
              type:
                - integer
                - 'null'
            status:
              type: object
              properties:
                human:
                  type: string
                value:
                  type: string
              required:
                - human
                - value
            enabled:
              type: boolean
            meta:
              type:
                - array
                - 'null'
              items: {}
            created:
              type: object
              properties:
                human:
                  type: string
                string:
                  type: string
              required:
                - human
                - string
            updated:
              type: object
              properties:
                human:
                  type: string
                string:
                  type: string
              required:
                - human
                - string
            pivot:
              type: object
              properties:
                component_status:
                  type: object
                  properties:
                    human:
                      type: string
                    value:
                      type: string
                  required:
                    - human
                    - value
              required:
                - component_status
          required:
            - id
            - name
            - description
            - link
            - order
            - status
            - enabled
            - meta
            - created
            - updated
        relationships:
          type: object
          properties:
            group:
              type: object
              properties:
                data:
                  anyOf:
                    - $ref: '#/components/schemas/ComponentGroupIdentifier'
                    - type: 'null'
              required:
                - data
            incidents:
              type: object
              properties:
                data:
                  type: array
                  items:
                    $ref: '#/components/schemas/IncidentIdentifier'
              required:
                - data
      required:
        - id
        - type
      title: Component
    ComponentStatusEnum:
      type: integer
      enum:
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
      title: ComponentStatusEnum
    ComponentGroupIdentifier:
      type: object
      properties:
        type:
          type: string
          enum:
            - componentGroups
        id:
          type: string
      required:
        - type
        - id
      title: ComponentGroupIdentifier
    IncidentIdentifier:
      type: object
      properties:
        type:
          type: string
          enum:
            - incidents
        id:
          type: string
      required:
        - type
        - id
      title: IncidentIdentifier
  responses:
    AuthenticationException:
      description: Unauthenticated
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    MissingAbilityException:
      description: Authorization error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    ModelNotFoundException:
      description: Not found
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    ValidationException:
      description: Validation error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Errors overview.
              errors:
                type: object
                description: A detailed description of each field that failed validation.
                additionalProperties:
                  type: array
                  items:
                    type: string
            required:
              - message
              - errors
  securitySchemes:
    http:
      type: http
      scheme: bearer

````