---
title: "Create a Field"
method: POST
path: "/incidents/custom_fields"
tags: ["Incident Custom Fields"]
deprecated: true
---

# Create a Field

`POST /incidents/custom_fields`

> **Deprecated.**

<!-- theme: warning -->
> ### Deprecated
> This endpoint is deprecated and only works for fields on the Base Incident Type. \
> For more flexibility, we recommend using the Incident Types endpoint: \
> [/incidents/types/{type_id_or_name}/custom_fields](openapiv3.json/paths/~1incidents~1types~1{type_id_or_name}~1custom_fields/post)

Creates a new Custom Field on the Base Incident Type, along with the Field Options if provided. \
An account may have up to 10 Fields.

Scoped OAuth requires: `custom_fields.write`

## Request body

- object
  - `field` CustomFieldsFieldWithOptions, required
    - `created_at` string, date-time, required — The date/time the object was created at.
    - `data_type` DataType, required — unresolved $ref
    - `default_value` DefaultValue — unresolved $ref
    - `description` Description — unresolved $ref
    - `display_name` DisplayName, required — unresolved $ref
    - `field_options` CustomFieldsFieldOption[], nullable — The fixed list of value options that may be stored in this field.
      - `data` object, required
        - `data_type` 'string', required — The kind of data represented by this option. Must match the Field's `data_type`.
        - `value` string, required
      - `id` string, required — The ID of the resource.
      - `type` 'field_option', required
      - `updated_at` string, date-time, required — The date/time the object was last updated.
      - `created_at` string, date-time, required — The date/time the object was created at.
    - `field_type` FieldType, required — unresolved $ref
    - `id` string, required — The ID of the resource.
    - `name` Name, required — unresolved $ref
    - `self` string, url, nullable, required — The API show URL at which the object is accessible
    - `summary` string, nullable, required — A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `display_name`.
    - `type` 'field', required
    - `updated_at` string, date-time, required — The date/time the object was last updated.

## Response `201`

The field object created, along with the Field Options if provided.

- object
  - `field` CustomFieldsFieldWithOptions, required
    - `created_at` string, date-time, required — The date/time the object was created at.
    - `data_type` DataType, required — unresolved $ref
    - `default_value` DefaultValue — unresolved $ref
    - `description` Description — unresolved $ref
    - `display_name` DisplayName, required — unresolved $ref
    - `field_options` CustomFieldsFieldOption[], nullable — The fixed list of value options that may be stored in this field.
      - `data` object, required
        - `data_type` 'string', required — The kind of data represented by this option. Must match the Field's `data_type`.
        - `value` string, required
      - `id` string, required — The ID of the resource.
      - `type` 'field_option', required
      - `updated_at` string, date-time, required — The date/time the object was last updated.
      - `created_at` string, date-time, required — The date/time the object was created at.
    - `field_type` FieldType, required — unresolved $ref
    - `id` string, required — The ID of the resource.
    - `name` Name, required — unresolved $ref
    - `self` string, url, nullable, required — The API show URL at which the object is accessible
    - `summary` string, nullable, required — A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `display_name`.
    - `type` 'field', required
    - `updated_at` string, date-time, required — The date/time the object was last updated.

## Other responses

- `400` — Caller provided invalid arguments. Please review the response for error details. Retrying with the same arguments will *not* work.
- `403` — Caller is not authorized to view the requested resource. While your authentication is valid, the authenticated user or token does not have permission to perform this action.
- `500` — Internal Server Error the PagerDuty server experienced an error.

---

[API](https://skmtc.net/pagerduty/apis/rest-api.md) · [All operations](https://skmtc.net/pagerduty/apis/rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pagerduty/rest-api/revisions/b679a8f3f02c/schema)
