Skip to main content
POST
/
field
/
create
Create field
curl --request POST \
  --url 'https://api.flashcat.cloud/field/create?app_key=' \
  --header 'Content-Type: application/json' \
  --data '
{
  "field_name": "severity_class",
  "display_name": "Severity Class",
  "description": "Business severity tier.",
  "field_type": "single_select",
  "value_type": "string",
  "options": [
    "Critical",
    "High",
    "Medium",
    "Low"
  ],
  "default_value": "Medium"
}
'
{
  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
  "data": {
    "field_id": "66e9d3a4f7c2b04a1c8a91b3",
    "field_name": "severity_class"
  }
}

Restrictions

AspectValue
Rate limits1,000 requests/minute; 50 requests/second per account
PermissionsIncidents Manage (on-call)

Usage

  • Maximum 15 custom fields per account.
  • field_name must match ^[a-zA-Z_][a-zA-Z0-9_]{0,39}$ and is immutable after creation; display_name must also be unique within the account.
  • Type-specific rules: checkbox requires value_type=bool and no options; single_select/multi_select require value_type=string and a non-empty unique options list; text requires value_type=string and no options.
  • Response contains only field_id and field_name; use /field/info to fetch the full object.
  • Audited — changes are recorded in the audit log.

Authorizations

app_key
string
query
required

App key issued from the Flashduty console under Account → APP Keys. Required on every public API call. Keep it secret — it grants the same access as the owning account.

Body

application/json
field_name
string
required

Machine name. Must start with a letter or underscore; 1–40 chars of [a-zA-Z0-9_]. Immutable after creation.

Maximum string length: 39
Pattern: ^[a-zA-Z_][a-zA-Z0-9_]{0,39}$
display_name
string
required

Human-readable name. Must be unique within the account.

Maximum string length: 39
field_type
enum<string>
required

Field input type. Immutable after creation.

Available options:
checkbox,
multi_select,
single_select,
text
value_type
enum<string>
required

Stored value type. checkbox requires bool; single_select/multi_select/text require string. Immutable after creation.

Available options:
string,
bool,
float
description
string

Optional free-text description.

Maximum string length: 499
options
string[]

Required and non-empty for single_select/multi_select (unique strings, each 1–200 chars). Must be omitted or empty for checkbox/text.

default_value

Optional default value. Type must match field_type: bool for checkbox; one of options for single_select; subset of options for multi_select; string ≤3000 chars for text.

Response

Success

Success response envelope. On every 2xx response, request_id identifies the call (also mirrored in the Flashcat-Request-Id header) and data holds the endpoint-specific payload. Failure responses use a different shape — see ErrorResponse.

request_id
string
required

Unique ID for this request. Mirrored in the Flashcat-Request-Id response header. Include it when reporting issues.

Example:

"01HK8XQE3Z7JM2NTFQ5YJ8P9R4"

data
object
required

Endpoint-specific payload. See each operation's 200 response schema.