Void an invoice
curl --request POST \
--url https://api.metronome.com/v1/invoices/void \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": "6a37bb88-8538-48c5-b37b-a41c836328bd"
}
'import requests
url = "https://api.metronome.com/v1/invoices/void"
payload = { "id": "6a37bb88-8538-48c5-b37b-a41c836328bd" }
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({id: '6a37bb88-8538-48c5-b37b-a41c836328bd'})
};
fetch('https://api.metronome.com/v1/invoices/void', 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/invoices/void",
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([
'id' => '6a37bb88-8538-48c5-b37b-a41c836328bd'
]),
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/invoices/void"
payload := strings.NewReader("{\n \"id\": \"6a37bb88-8538-48c5-b37b-a41c836328bd\"\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/invoices/void")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"6a37bb88-8538-48c5-b37b-a41c836328bd\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.metronome.com/v1/invoices/void")
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 \"id\": \"6a37bb88-8538-48c5-b37b-a41c836328bd\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "6a37bb88-8538-48c5-b37b-a41c836328bd"
}
}Invoices
Void an invoice
Permanently cancels an invoice by setting its status to voided, preventing collection and removing it from customer billing. Use this to correct billing errors, cancel incorrect charges, or handle disputed invoices that should not be collected. Returns the voided invoice ID with the status change applied immediately to stop any payment processing.
POST
/
v1
/
invoices
/
void
Void an invoice
curl --request POST \
--url https://api.metronome.com/v1/invoices/void \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": "6a37bb88-8538-48c5-b37b-a41c836328bd"
}
'import requests
url = "https://api.metronome.com/v1/invoices/void"
payload = { "id": "6a37bb88-8538-48c5-b37b-a41c836328bd" }
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({id: '6a37bb88-8538-48c5-b37b-a41c836328bd'})
};
fetch('https://api.metronome.com/v1/invoices/void', 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/invoices/void",
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([
'id' => '6a37bb88-8538-48c5-b37b-a41c836328bd'
]),
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/invoices/void"
payload := strings.NewReader("{\n \"id\": \"6a37bb88-8538-48c5-b37b-a41c836328bd\"\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/invoices/void")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"6a37bb88-8538-48c5-b37b-a41c836328bd\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.metronome.com/v1/invoices/void")
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 \"id\": \"6a37bb88-8538-48c5-b37b-a41c836328bd\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "6a37bb88-8538-48c5-b37b-a41c836328bd"
}
}⌘I