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

# Update an alert field

> Update a specific alert field by id



## OpenAPI

````yaml https://rootly-heroku.s3.amazonaws.com/swagger/v1/swagger.json put /v1/alert_fields/{id}
openapi: 3.0.1
info:
  title: Rootly API v1
  version: v1
  license:
    name: Rootly
    url: https://rootly.com
  description: >+
    # How to generate an API Key?

    - **Organization dropdown** > **Organization Settings** > **API Keys**


    # JSON:API Specification

    Rootly is using **JSON:API** (https://jsonapi.org) specification:

    - JSON:API is a specification for how a client should request that resources
    be fetched or modified, and how a server should respond to those requests.

    - JSON:API is designed to minimize both the number of requests and the
    amount of data transmitted between clients and servers. This efficiency is
    achieved without compromising readability, flexibility, or discoverability.

    - JSON:API requires use of the JSON:API media type
    (**application/vnd.api+json**) for exchanging data.


    # Authentication and Requests

    We use standard HTTP Authentication over HTTPS to authorize your requests.

    ```
      curl --request GET \
    --header 'Content-Type: application/vnd.api+json' \

    --header 'Authorization: Bearer YOUR-TOKEN' \

    --url https://api.rootly.com/v1/incidents

    ```


    <br/>


    # Rate limiting

    - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls
    **per API key** every **60 seconds** (0 hours). The limit is calculated over
    a **0-hour sliding window** looking back from the current time. While the
    limit can be configured to support higher thresholds, you must first contact
    your **Rootly Customer Success Manager** to make any adjustments.

    - There is a default limit of **3** **POST**, **PUT**, **PATCH** or
    **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit
    is calculated over a **0-hour sliding window** looking back from the current
    time. While the limit can be configured to support higher thresholds, you
    must first contact your **Rootly Customer Success Manager** to make any
    adjustments.

    - When rate limits are exceeded, the API will return a **429 Too Many
    Requests** HTTP status code with the response: `{"error": "Rate limit
    exceeded. Try again later."}`

    - **X-RateLimit headers** are included in every API response, providing
    real-time rate limit information:
      - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., "1000, 1000;window=3600" for 1000 requests per hour)
      - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window
      - **X-RateLimit-Used** - The number of requests already made in the current window
      - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds

    # Pagination

    - Pagination is supported for all endpoints that return a collection of
    items.

    - Pagination is controlled by the **page** query parameter


    ## Example

    ```
      curl --request GET \
    --header 'Content-Type: application/vnd.api+json' \

    --header 'Authorization: Bearer YOUR-TOKEN' \

    --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10

    ```

  x-logo:
    url: https://rootly-heroku.s3.us-east-1.amazonaws.com/swagger/v1/logo.png
servers:
  - url: https://api.rootly.com
security: []
paths:
  /v1/alert_fields/{id}:
    parameters:
      - name: id
        in: path
        schema:
          anyOf:
            - type: string
              format: uuid
              description: Resource UUID
            - type: string
              pattern: ^[a-z0-9_-]+$
              description: Resource slug
        required: true
    put:
      tags:
        - AlertFields
      summary: Update an alert field
      description: Update a specific alert field by id
      operationId: updateAlertField
      parameters: []
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/update_alert_field'
        required: true
      responses:
        '200':
          description: alert field updated
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/alert_field_response'
        '404':
          description: resource not found
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/errors_list'
      security:
        - bearer_auth: []
components:
  schemas:
    update_alert_field:
      type: object
      properties:
        data:
          type: object
          properties:
            id:
              type: string
              description: >-
                Accepted for JSON:API client compatibility, but ignored. The
                resource to update is identified by the id in the path.
            type:
              type: string
              enum:
                - alert_fields
            attributes:
              type: object
              properties:
                slug:
                  type: string
                  description: >-
                    Deprecated. `slug` is derived from `name`; any submitted
                    value is ignored. This property will be removed from the
                    request schema in a future version.
                  nullable: true
                  deprecated: true
                name:
                  type: string
                  description: The name of the alert field
                owner_group_ids:
                  type: array
                  items:
                    type: string
                  description: >-
                    IDs of the teams that own the alert field. Callers with
                    org-wide alert field permissions replace the full set.
                    Callers without them may only add teams they administer,
                    must leave at least one owner, and owners they do not
                    administer are preserved.
                  nullable: true
              additionalProperties: false
          additionalProperties: false
          required:
            - type
            - attributes
      additionalProperties: false
      required:
        - data
    alert_field_response:
      type: object
      properties:
        data:
          type: object
          properties:
            id:
              type: string
              description: The ID of the alert field
            type:
              type: string
              enum:
                - alert_fields
            attributes:
              type: object
              allOf:
                - $ref: '#/components/schemas/alert_field'
          required:
            - type
            - attributes
        included:
          type: array
          items:
            $ref: '#/components/schemas/jsonapi_included_resource'
      required:
        - data
    errors_list:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              title:
                type: string
              status:
                type: string
              code:
                type: string
                nullable: true
              detail:
                type: string
                nullable: true
            required:
              - title
              - status
    alert_field:
      type: object
      properties:
        slug:
          type: string
          description: The slug of the alert field
          readOnly: true
        name:
          type: string
          description: The name of the alert field
        kind:
          type: string
          description: The kind of alert field
        owner_group_ids:
          type: array
          items:
            type: string
          description: >-
            IDs of the teams that own the alert field. Empty for org-wide
            fields.
        created_at:
          type: string
          description: Date of creation
        updated_at:
          type: string
          description: Date of last update
      required:
        - name
        - kind
        - created_at
        - updated_at
    jsonapi_included_resource:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
        attributes:
          type: object
          additionalProperties: true
        relationships:
          type: object
          additionalProperties: true
      required:
        - id
        - type
  securitySchemes:
    bearer_auth:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.