curl --request POST \
--url https://api.mn.co/admin/v1/networks/{network_id}/badges \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Top Contributor",
"avatar_id": 12345,
"description": "Awarded to active community members",
"color": "#FF5733"
}
'import requests
url = "https://api.mn.co/admin/v1/networks/{network_id}/badges"
payload = {
"title": "Top Contributor",
"avatar_id": 12345,
"description": "Awarded to active community members",
"color": "#FF5733"
}
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: 'Top Contributor',
avatar_id: 12345,
description: 'Awarded to active community members',
color: '#FF5733'
})
};
fetch('https://api.mn.co/admin/v1/networks/{network_id}/badges', 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}/badges",
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' => 'Top Contributor',
'avatar_id' => 12345,
'description' => 'Awarded to active community members',
'color' => '#FF5733'
]),
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}/badges"
payload := strings.NewReader("{\n \"title\": \"Top Contributor\",\n \"avatar_id\": 12345,\n \"description\": \"Awarded to active community members\",\n \"color\": \"#FF5733\"\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}/badges")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Top Contributor\",\n \"avatar_id\": 12345,\n \"description\": \"Awarded to active community members\",\n \"color\": \"#FF5733\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mn.co/admin/v1/networks/{network_id}/badges")
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\": \"Top Contributor\",\n \"avatar_id\": 12345,\n \"description\": \"Awarded to active community members\",\n \"color\": \"#FF5733\"\n}"
response = http.request(request)
puts response.read_body{
"id": "1234",
"created_at": "2026-09-04T21:33:14+00:00",
"updated_at": "2026-09-04T21:33:14+00:00",
"title": "Top Contributor",
"custom_field_id": 123,
"description": "Awarded for exceptional contributions",
"color": "#FFD700",
"avatar_url": "<string>"
}{
"error": "<string>"
}Create a new badge
curl --request POST \
--url https://api.mn.co/admin/v1/networks/{network_id}/badges \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Top Contributor",
"avatar_id": 12345,
"description": "Awarded to active community members",
"color": "#FF5733"
}
'import requests
url = "https://api.mn.co/admin/v1/networks/{network_id}/badges"
payload = {
"title": "Top Contributor",
"avatar_id": 12345,
"description": "Awarded to active community members",
"color": "#FF5733"
}
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: 'Top Contributor',
avatar_id: 12345,
description: 'Awarded to active community members',
color: '#FF5733'
})
};
fetch('https://api.mn.co/admin/v1/networks/{network_id}/badges', 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}/badges",
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' => 'Top Contributor',
'avatar_id' => 12345,
'description' => 'Awarded to active community members',
'color' => '#FF5733'
]),
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}/badges"
payload := strings.NewReader("{\n \"title\": \"Top Contributor\",\n \"avatar_id\": 12345,\n \"description\": \"Awarded to active community members\",\n \"color\": \"#FF5733\"\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}/badges")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Top Contributor\",\n \"avatar_id\": 12345,\n \"description\": \"Awarded to active community members\",\n \"color\": \"#FF5733\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mn.co/admin/v1/networks/{network_id}/badges")
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\": \"Top Contributor\",\n \"avatar_id\": 12345,\n \"description\": \"Awarded to active community members\",\n \"color\": \"#FF5733\"\n}"
response = http.request(request)
puts response.read_body{
"id": "1234",
"created_at": "2026-09-04T21:33:14+00:00",
"updated_at": "2026-09-04T21:33:14+00:00",
"title": "Top Contributor",
"custom_field_id": 123,
"description": "Awarded for exceptional contributions",
"color": "#FFD700",
"avatar_url": "<string>"
}{
"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 to create a badge
The title of the badge
"Top Contributor"
The ID of the asset to use as the badge image
12345
The description of the badge
"Awarded to active community members"
The hex color code for the badge
"#FF5733"
Response
The created badge object
Badges are custom field values used to recognize and reward members
The record's integer ID
"1234"
The date and time the record was created
"2026-09-04T21:33:14+00:00"
The date and time the record was last modified
"2026-09-04T21:33:14+00:00"
The title of the badge
"Top Contributor"
The ID of the custom field this badge belongs to
The description of the badge
"Awarded for exceptional contributions"
The hex color code for the badge
"#FFD700"
URL to the badge image