Set custom field values
curl --request POST \
--url https://api.metronome.com/v1/customFields/setValues \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"entity": "customer",
"entity_id": "99594816-e8a5-4bca-be21-8d1de0f45120",
"custom_fields": {
"x_account_id": "KyVnHhSBWl7eY2bl"
}
}
'import requests
url = "https://api.metronome.com/v1/customFields/setValues"
payload = {
"entity": "customer",
"entity_id": "99594816-e8a5-4bca-be21-8d1de0f45120",
"custom_fields": { "x_account_id": "KyVnHhSBWl7eY2bl" }
}
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({
entity: 'customer',
entity_id: '99594816-e8a5-4bca-be21-8d1de0f45120',
custom_fields: {x_account_id: 'KyVnHhSBWl7eY2bl'}
})
};
fetch('https://api.metronome.com/v1/customFields/setValues', 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.metronome.com/v1/customFields/setValues",
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([
'entity' => 'customer',
'entity_id' => '99594816-e8a5-4bca-be21-8d1de0f45120',
'custom_fields' => [
'x_account_id' => 'KyVnHhSBWl7eY2bl'
]
]),
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.metronome.com/v1/customFields/setValues"
payload := strings.NewReader("{\n \"entity\": \"customer\",\n \"entity_id\": \"99594816-e8a5-4bca-be21-8d1de0f45120\",\n \"custom_fields\": {\n \"x_account_id\": \"KyVnHhSBWl7eY2bl\"\n }\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.metronome.com/v1/customFields/setValues")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"entity\": \"customer\",\n \"entity_id\": \"99594816-e8a5-4bca-be21-8d1de0f45120\",\n \"custom_fields\": {\n \"x_account_id\": \"KyVnHhSBWl7eY2bl\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.metronome.com/v1/customFields/setValues")
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 \"entity\": \"customer\",\n \"entity_id\": \"99594816-e8a5-4bca-be21-8d1de0f45120\",\n \"custom_fields\": {\n \"x_account_id\": \"KyVnHhSBWl7eY2bl\"\n }\n}"
response = http.request(request)
puts response.read_bodyCustom fields
Set custom field values
Sets custom field values on a specific Metronome entity instance. Overwrites existing values for matching keys while preserving other fields. All updates are transactional—either all values are set or none are. Custom field values are limited to 200 characters each.
POST
/
v1
/
customFields
/
setValues
Set custom field values
curl --request POST \
--url https://api.metronome.com/v1/customFields/setValues \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"entity": "customer",
"entity_id": "99594816-e8a5-4bca-be21-8d1de0f45120",
"custom_fields": {
"x_account_id": "KyVnHhSBWl7eY2bl"
}
}
'import requests
url = "https://api.metronome.com/v1/customFields/setValues"
payload = {
"entity": "customer",
"entity_id": "99594816-e8a5-4bca-be21-8d1de0f45120",
"custom_fields": { "x_account_id": "KyVnHhSBWl7eY2bl" }
}
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({
entity: 'customer',
entity_id: '99594816-e8a5-4bca-be21-8d1de0f45120',
custom_fields: {x_account_id: 'KyVnHhSBWl7eY2bl'}
})
};
fetch('https://api.metronome.com/v1/customFields/setValues', 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.metronome.com/v1/customFields/setValues",
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([
'entity' => 'customer',
'entity_id' => '99594816-e8a5-4bca-be21-8d1de0f45120',
'custom_fields' => [
'x_account_id' => 'KyVnHhSBWl7eY2bl'
]
]),
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.metronome.com/v1/customFields/setValues"
payload := strings.NewReader("{\n \"entity\": \"customer\",\n \"entity_id\": \"99594816-e8a5-4bca-be21-8d1de0f45120\",\n \"custom_fields\": {\n \"x_account_id\": \"KyVnHhSBWl7eY2bl\"\n }\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.metronome.com/v1/customFields/setValues")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"entity\": \"customer\",\n \"entity_id\": \"99594816-e8a5-4bca-be21-8d1de0f45120\",\n \"custom_fields\": {\n \"x_account_id\": \"KyVnHhSBWl7eY2bl\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.metronome.com/v1/customFields/setValues")
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 \"entity\": \"customer\",\n \"entity_id\": \"99594816-e8a5-4bca-be21-8d1de0f45120\",\n \"custom_fields\": {\n \"x_account_id\": \"KyVnHhSBWl7eY2bl\"\n }\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
The custom field values to set
Available options:
alert, billable_metric, charge, commit, contract_credit, contract_product, contract, customer, discount, invoice, product, rate_card, scheduled_charge, subscription, package_commit, package_credit, package_subscription, package_scheduled_charge Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
Show child attributes
Show child attributes
Response
200
Success
⌘I