curl --request POST \
--url https://api.mn.co/admin/v1/networks/{network_id}/custom_fields \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Favorite Color",
"response_type": "dropdown_single_select",
"privacy": "public",
"response_by": "individual_member",
"description": "Select your favorite color",
"placeholder": "Enter your answer here",
"allow_ad_hoc": true,
"max_responses": 5,
"options": [
"<string>"
],
"min_value": 0,
"max_value": 100,
"location_granularity": "city"
}
'import requests
url = "https://api.mn.co/admin/v1/networks/{network_id}/custom_fields"
payload = {
"title": "Favorite Color",
"response_type": "dropdown_single_select",
"privacy": "public",
"response_by": "individual_member",
"description": "Select your favorite color",
"placeholder": "Enter your answer here",
"allow_ad_hoc": True,
"max_responses": 5,
"options": ["<string>"],
"min_value": 0,
"max_value": 100,
"location_granularity": "city"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'Favorite Color',
response_type: 'dropdown_single_select',
privacy: 'public',
response_by: 'individual_member',
description: 'Select your favorite color',
placeholder: 'Enter your answer here',
allow_ad_hoc: true,
max_responses: 5,
options: ['<string>'],
min_value: 0,
max_value: 100,
location_granularity: 'city'
})
};
fetch('https://api.mn.co/admin/v1/networks/{network_id}/custom_fields', 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.mn.co/admin/v1/networks/{network_id}/custom_fields",
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([
'title' => 'Favorite Color',
'response_type' => 'dropdown_single_select',
'privacy' => 'public',
'response_by' => 'individual_member',
'description' => 'Select your favorite color',
'placeholder' => 'Enter your answer here',
'allow_ad_hoc' => true,
'max_responses' => 5,
'options' => [
'<string>'
],
'min_value' => 0,
'max_value' => 100,
'location_granularity' => 'city'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.mn.co/admin/v1/networks/{network_id}/custom_fields"
payload := strings.NewReader("{\n \"title\": \"Favorite Color\",\n \"response_type\": \"dropdown_single_select\",\n \"privacy\": \"public\",\n \"response_by\": \"individual_member\",\n \"description\": \"Select your favorite color\",\n \"placeholder\": \"Enter your answer here\",\n \"allow_ad_hoc\": true,\n \"max_responses\": 5,\n \"options\": [\n \"<string>\"\n ],\n \"min_value\": 0,\n \"max_value\": 100,\n \"location_granularity\": \"city\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.mn.co/admin/v1/networks/{network_id}/custom_fields")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Favorite Color\",\n \"response_type\": \"dropdown_single_select\",\n \"privacy\": \"public\",\n \"response_by\": \"individual_member\",\n \"description\": \"Select your favorite color\",\n \"placeholder\": \"Enter your answer here\",\n \"allow_ad_hoc\": true,\n \"max_responses\": 5,\n \"options\": [\n \"<string>\"\n ],\n \"min_value\": 0,\n \"max_value\": 100,\n \"location_granularity\": \"city\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mn.co/admin/v1/networks/{network_id}/custom_fields")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"Favorite Color\",\n \"response_type\": \"dropdown_single_select\",\n \"privacy\": \"public\",\n \"response_by\": \"individual_member\",\n \"description\": \"Select your favorite color\",\n \"placeholder\": \"Enter your answer here\",\n \"allow_ad_hoc\": true,\n \"max_responses\": 5,\n \"options\": [\n \"<string>\"\n ],\n \"min_value\": 0,\n \"max_value\": 100,\n \"location_granularity\": \"city\"\n}"
response = http.request(request)
puts response.read_body{
"id": "1234",
"created_at": "2026-09-26T01:29:14+00:00",
"updated_at": "2026-09-26T01:29:14+00:00",
"title": "Favorite Color",
"response_type": "dropdown_single_select",
"location_granularity": "city"
}{
"error": "<string>"
}Create a new custom field
curl --request POST \
--url https://api.mn.co/admin/v1/networks/{network_id}/custom_fields \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Favorite Color",
"response_type": "dropdown_single_select",
"privacy": "public",
"response_by": "individual_member",
"description": "Select your favorite color",
"placeholder": "Enter your answer here",
"allow_ad_hoc": true,
"max_responses": 5,
"options": [
"<string>"
],
"min_value": 0,
"max_value": 100,
"location_granularity": "city"
}
'import requests
url = "https://api.mn.co/admin/v1/networks/{network_id}/custom_fields"
payload = {
"title": "Favorite Color",
"response_type": "dropdown_single_select",
"privacy": "public",
"response_by": "individual_member",
"description": "Select your favorite color",
"placeholder": "Enter your answer here",
"allow_ad_hoc": True,
"max_responses": 5,
"options": ["<string>"],
"min_value": 0,
"max_value": 100,
"location_granularity": "city"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'Favorite Color',
response_type: 'dropdown_single_select',
privacy: 'public',
response_by: 'individual_member',
description: 'Select your favorite color',
placeholder: 'Enter your answer here',
allow_ad_hoc: true,
max_responses: 5,
options: ['<string>'],
min_value: 0,
max_value: 100,
location_granularity: 'city'
})
};
fetch('https://api.mn.co/admin/v1/networks/{network_id}/custom_fields', 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.mn.co/admin/v1/networks/{network_id}/custom_fields",
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([
'title' => 'Favorite Color',
'response_type' => 'dropdown_single_select',
'privacy' => 'public',
'response_by' => 'individual_member',
'description' => 'Select your favorite color',
'placeholder' => 'Enter your answer here',
'allow_ad_hoc' => true,
'max_responses' => 5,
'options' => [
'<string>'
],
'min_value' => 0,
'max_value' => 100,
'location_granularity' => 'city'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.mn.co/admin/v1/networks/{network_id}/custom_fields"
payload := strings.NewReader("{\n \"title\": \"Favorite Color\",\n \"response_type\": \"dropdown_single_select\",\n \"privacy\": \"public\",\n \"response_by\": \"individual_member\",\n \"description\": \"Select your favorite color\",\n \"placeholder\": \"Enter your answer here\",\n \"allow_ad_hoc\": true,\n \"max_responses\": 5,\n \"options\": [\n \"<string>\"\n ],\n \"min_value\": 0,\n \"max_value\": 100,\n \"location_granularity\": \"city\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.mn.co/admin/v1/networks/{network_id}/custom_fields")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Favorite Color\",\n \"response_type\": \"dropdown_single_select\",\n \"privacy\": \"public\",\n \"response_by\": \"individual_member\",\n \"description\": \"Select your favorite color\",\n \"placeholder\": \"Enter your answer here\",\n \"allow_ad_hoc\": true,\n \"max_responses\": 5,\n \"options\": [\n \"<string>\"\n ],\n \"min_value\": 0,\n \"max_value\": 100,\n \"location_granularity\": \"city\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mn.co/admin/v1/networks/{network_id}/custom_fields")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"Favorite Color\",\n \"response_type\": \"dropdown_single_select\",\n \"privacy\": \"public\",\n \"response_by\": \"individual_member\",\n \"description\": \"Select your favorite color\",\n \"placeholder\": \"Enter your answer here\",\n \"allow_ad_hoc\": true,\n \"max_responses\": 5,\n \"options\": [\n \"<string>\"\n ],\n \"min_value\": 0,\n \"max_value\": 100,\n \"location_granularity\": \"city\"\n}"
response = http.request(request)
puts response.read_body{
"id": "1234",
"created_at": "2026-09-26T01:29:14+00:00",
"updated_at": "2026-09-26T01:29:14+00:00",
"title": "Favorite Color",
"response_type": "dropdown_single_select",
"location_granularity": "city"
}{
"error": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The Network's unique integer ID, or subdomain Unique numeric network ID
Body
Submit results as JSON
Request body for creating a custom field
The title of the custom field
"Favorite Color"
The type of response this custom field accepts (dropdown_single_select, dropdown_multi_select, text_short, text_long, number, boolean, date, location, multi_location, date_range, recurring_date, url, phone_number)
"dropdown_single_select"
Privacy level of the custom field (public, private)
"public"
Who can respond to this custom field (individual_member)
"individual_member"
Description of the custom field
"Select your favorite color"
Placeholder text for the custom field input
"Enter your answer here"
Whether members can add their own options (for dropdown types)
Maximum number of selections allowed. Required for dropdown_multi_select (between 2 and 40) and multi_location (between 2 and 5)
5
Array of option texts for dropdown types
Minimum accepted value (for number fields; omit for unbounded)
0
Maximum accepted value (for number fields; omit for unbounded)
100
The level members pick a place at (address, city, state, country). Required for location fields, and fixed once the field exists
"city"
Response
The created custom field object
Custom Fields are configurable fields that can be added to capture additional member information
The record's integer ID
"1234"
The date and time the record was created
"2026-09-26T01:29:14+00:00"
The date and time the record was last modified
"2026-09-26T01:29:14+00:00"
The title of the custom field
"Favorite Color"
The type of response this custom field accepts
"dropdown_single_select"
The level members pick a place at (for location custom fields)
"city"