---
title: "Update Incident Custom Field"
method: PUT
path: "/incident-custom-field/{id}"
tags: ["Incident Custom Field"]
---

# Update Incident Custom Field

`PUT /incident-custom-field/{id}`

## Request

- Base URL: `https://oneuptime.com/api`
- URL: `https://oneuptime.com/api/incident-custom-field/{id}`
- Auth: API key in header `APIKey`
- TypeScript: <https://skmtc.dev/oneuptime/apis/oneuptime-openapi-specification/docs/incident-custom-field/:id/put.ts> (a function with typed inputs; its response is checked against the schema)

Endpoint to update an existing Incident Custom Field

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `data` IncidentCustomFieldUpdateSchema, required: Update schema for IncidentCustomField model. Update
    - `name` string: Any friendly name of this object. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `description` string: Friendly description of this custom field that will help you remember. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `dropdownOptions` string: Options and optional colors for dropdown fields, in the order they are listed. Plain one-per-line values remain supported. Records store an option as its text: changing an option here keeps the values records already hold. To rename an option and move those values with it, send the renames with the update, in miscDataProps: {"renamedDropdownOptions": [{"from": "Old text", "to": "New text"}]}. "to" must be one of the options. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `mapFromResourceType` 'Monitor': Related resource this field copies its value from. Empty means values are entered by hand. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `mapFromCustomFieldName` string: Name of the custom field on the related resource this field copies its value from. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `isRequiredOnCreate` boolean: When on, an incident declared from the dashboard cannot be created until this field is filled in (a Boolean field must be ticked). It applies only to fields shown on create. Incidents created by monitors, the API, Slack, Microsoft Teams or AI can leave it empty, and it stays optional when an incident is edited later. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `sortOrder` number: Where this field appears among the incident's custom fields, lowest number first. A new field is added to the end of the list. Setting a number another one already has puts it in that place, and the ones in the way move one place along to make room. In the dashboard, drag the rows to reorder them. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `showOnCreate` boolean: When on, this field is asked for in a Details step when an incident is declared from the dashboard, and incident templates can fill it in. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `includeInSubscriberNotifications` boolean: When on, this field and its value appear in the messages status page subscribers get about an incident: the default email, Slack and Microsoft Teams messages, and webhooks (under customFields, by the field's template variable key). The default SMS is kept short and leaves it out. Subscribers are usually people outside your team, so turn this on only for fields that are safe to share with them. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]

## Response `200`

Updated successfully

- object
  - `data` IncidentCustomFieldReadSchema: Read schema for IncidentCustomField model. Read
    - `_id` string, uuid: ID of this object. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `createdAt` object: Date and Time when the object was created. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `updatedAt` object: Date and Time when the object was updated. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `deletedAt` object: Date and Time when the object was deleted. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `projectId` string, uuid: ID of your OneUptime Project in which this object belongs. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [No access - you don't have permission for this operation]
    - `name` string, required: Any friendly name of this object. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `description` string: Friendly description of this custom field that will help you remember. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `customFieldType` 'Text' | 'Number' | 'Boolean' | 'Dropdown' | 'MultiSelectDropdown' | 'Date' | 'DateTime' | 'LongText' | 'Markdown' | 'File' | 'MultipleFiles': What kind of value the field holds, such as Text, Number or Dropdown. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [No access - you don't have permission for this operation]
    - `dropdownOptions` string: Options and optional colors for dropdown fields, in the order they are listed. Plain one-per-line values remain supported. Records store an option as its text: changing an option here keeps the values records already hold. To rename an option and move those values with it, send the renames with the update, in miscDataProps: {"renamedDropdownOptions": [{"from": "Old text", "to": "New text"}]}. "to" must be one of the options. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `mapFromResourceType` 'Monitor': Related resource this field copies its value from. Empty means values are entered by hand. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `mapFromCustomFieldName` string: Name of the custom field on the related resource this field copies its value from. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `isRequiredOnCreate` boolean: When on, an incident declared from the dashboard cannot be created until this field is filled in (a Boolean field must be ticked). It applies only to fields shown on create. Incidents created by monitors, the API, Slack, Microsoft Teams or AI can leave it empty, and it stays optional when an incident is edited later. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `sortOrder` number: Where this field appears among the incident's custom fields, lowest number first. A new field is added to the end of the list. Setting a number another one already has puts it in that place, and the ones in the way move one place along to make room. In the dashboard, drag the rows to reorder them. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `showOnCreate` boolean: When on, this field is asked for in a Details step when an incident is declared from the dashboard, and incident templates can fill it in. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `includeInSubscriberNotifications` boolean: When on, this field and its value appear in the messages status page subscribers get about an incident: the default email, Slack and Microsoft Teams messages, and webhooks (under customFields, by the field's template variable key). The default SMS is kept short and leaves it out. Subscribers are usually people outside your team, so turn this on only for fields that are safe to share with them. Permissions - Create: [Project Owner, Project Admin, Create Incident Custom Field], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [Project Owner, Project Admin, Edit Incident Custom Field]
    - `variableKey` string: The key this field is reached by in templates, as {{incident.customFields.<key>}}. Made from the field's name when it is created - lowercase letters, digits and underscores, with _2, _3 and so on added when another field already has it - and never changed afterwards, so renaming the field does not break templates that use it. Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [No access - you don't have permission for this operation]
    - `createdByUserId` string, uuid: User ID who created this object (if this object was created by a User). Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [No access - you don't have permission for this operation]
    - `deletedByUserId` string, uuid: User ID who deleted this object (if this object was deleted by a User). Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Incident Admin, Incident Member, Incident Viewer, Read Incident Custom Field], Update: [No access - you don't have permission for this operation]

## Other responses

- `400`: Bad request. This response indicates that the request was malformed or contained invalid data.
- `401`: Unauthorized. This response indicates that the request requires user authentication.
- `402`: Payment Required. This response indicates that the request requires payment or a valid subscription.
- `403`: Forbidden. This response indicates that the server understood the request, but refuses to authorize it.
- `404`: Not found. The record does not exist, belongs to another project, or is one you may not read - the same answer for each.
- `405`: Project not found. This response indicates that the requested project does not exist or is not accessible.
- `408`: Request Timeout. This response indicates that the server timed out waiting for the request.
- `415`: Unable to reach server. This response indicates that the server is currently unreachable or down.
- `422`: Not authorized. This response indicates that the user does not have permission to access the requested resource.
- `500`: Internal Server Error. This response indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.

---

[API](https://skmtc.dev/oneuptime/apis/oneuptime-openapi-specification.md) - [All operations](https://skmtc.dev/oneuptime/apis/oneuptime-openapi-specification/llms.txt) - [OpenAPI document](https://skmtc.dev/oneuptime/apis/oneuptime-openapi-specification/revisions/ba3307d00304?raw)
