Skip to main content

Field Mutations

The Field API provides mutations to manage custom fields for your posts.

Create Field

Create a new custom field.

Mutation Structure

mutation CreateField(
$label: String!
$description: String
$isRequired: Boolean
$locations: [String!]
$options: [FieldOptionInput!]
$type: FieldType!
$visibility: FieldVisibility!
) {
createField(
label: $label
description: $description
isRequired: $isRequired
locations: $locations
options: $options
type: $type
visibility: $visibility
) {
id
label
type
isRequired
visibility
options {
id
name
color
}
}
}

Input Fields

FieldTypeDescription
labelString!Display label for the field
descriptionStringOptional description of the field
isRequiredBooleanWhether the field is required
locations[String!]Where the field should be displayed
options[FieldOptionInput]Options for SELECTION and SELECTION_MULTI fields
typeFieldType!Type of the field
visibilityFieldVisibilityVisibility setting for the field

Update Field

Update an existing field.

Mutation Structure

mutation UpdateField(
$id: String!
$label: String
$description: String
$isRequired: Boolean
$locations: [String!]
$options: [FieldOptionInput!]
$type: FieldType
$visibility: FieldVisibility
) {
updateField(
id: $id
label: $label
description: $description
isRequired: $isRequired
locations: $locations
options: $options
type: $type
visibility: $visibility
) {
id
label
type
isRequired
visibility
options {
id
name
color
}
}
}

Input Fields

FieldTypeDescription
idString!ID of the field to update
labelStringNew display label for the field
descriptionStringNew description of the field
isRequiredBooleanWhether the field is required
locations[String!]New locations where the field should be displayed
options[FieldOptionInput!]New options for SELECTION and SELECTION_MULTI fields
typeFieldTypeNew type for the field
visibilityFieldVisibilityNew visibility setting for the field

Delete Field

Delete an existing field.

Mutation Structure

mutation DeleteField($id: String!) {
deleteField(id: $id) {
id
}
}

Input Fields

FieldTypeDescription
idString!ID of the field to delete

Update Field Location

Update a field's location settings.

Mutation Structure

mutation UpdateFieldLocation(
$id: String!
$location: FieldLocation!
$isEnabled: Boolean!
) {
updateFieldLocation(
id: $id
location: $location
isEnabled: $isEnabled
) {
id
locations
}
}

Input Fields

FieldTypeDescription
idString!ID of the field
locationFieldLocation!Location to update (NEW_POST, POST, or POST_LIST)
isEnabledBoolean!Whether the field should be enabled in this location

Error Handling

Authentication Errors

  • Invalid API Key: Returned when the API key is missing or invalid
  • Insufficient Permissions: Returned when the user lacks write access to the board
  • Write Access Required: Returned when using a read-only API key

Resource Errors

  • Field Not Found: Returned when updating/deleting a non-existent field
  • Board Not Found: Returned when the board ID is invalid

Example Error Response

{
"errors": [
{
"message": "Field not found",
"extensions": {
"code": "NOT_FOUND",
"field": "id"
}
}
]
}