Skip to main content
POST
/
custom_field_definitions
/
{definition_id}
/
options
Create a custom field option
curl --request POST \
  --url https://api.terminal49.com/v2/custom_field_definitions/{definition_id}/options \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{}'
import requests

url = "https://api.terminal49.com/v2/custom_field_definitions/{definition_id}/options"

payload = {}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};

fetch('https://api.terminal49.com/v2/custom_field_definitions/{definition_id}/options', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.terminal49.com/v2/custom_field_definitions/{definition_id}/options",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([

]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.terminal49.com/v2/custom_field_definitions/{definition_id}/options"

payload := strings.NewReader("{}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.terminal49.com/v2/custom_field_definitions/{definition_id}/options")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.terminal49.com/v2/custom_field_definitions/{definition_id}/options")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{}"

response = http.request(request)
puts response.read_body
{
  "data": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "type": "custom_field_option",
    "attributes": {
      "label": "<string>",
      "value": "<string>",
      "position": 123
    }
  },
  "links": {
    "self": "<string>"
  }
}
Create a new option for an enum or enum_multi custom field definition.

Path parameters

ParameterDescription
definition_idThe unique identifier of the custom field definition

Request body

ParameterRequiredDescription
labelYesDisplay label shown to users
valueYesStored value (unique per definition)
positionNoSort order for the option

Notes

Options can only be added to definitions with data_type of enum or enum_multi.

Authorizations

Authorization
string
header
required

Use a Terminal49 API key in the Authorization header with the Token prefix.

Authorization: Token YOUR_API_KEY

Path Parameters

definition_id
string
required

Custom field definition ID

Body

application/json
data
object

Response

201 - application/json

Created

data
Custom field option ยท object