curl --request POST \
--url https://api.valyx.com/billing/feeComponent \
--header 'Content-Type: application/json' \
--header 'X-Valyx-Signature: <x-valyx-signature>' \
--data '
{
"name": "<string>",
"taxRate": [
{
"name": "<string>",
"value": 123,
"isActive": true,
"taxCategory": "GST"
}
]
}
'import requests
url = "https://api.valyx.com/billing/feeComponent"
payload = {
"name": "<string>",
"taxRate": [
{
"name": "<string>",
"value": 123,
"isActive": True,
"taxCategory": "GST"
}
]
}
headers = {
"X-Valyx-Signature": "<x-valyx-signature>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Valyx-Signature': '<x-valyx-signature>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
taxRate: [{name: '<string>', value: 123, isActive: true, taxCategory: 'GST'}]
})
};
fetch('https://api.valyx.com/billing/feeComponent', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {
method: 'POST',
headers: {'X-Valyx-Signature': '<x-valyx-signature>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
taxRate: [{name: '<string>', value: 123, isActive: true, taxCategory: 'GST'}]
})
};
fetch('https://api.valyx.com/billing/feeComponent', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.valyx.com/billing/feeComponent"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"taxRate\": [\n {\n \"name\": \"<string>\",\n \"value\": 123,\n \"isActive\": true,\n \"taxCategory\": \"GST\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Valyx-Signature", "<x-valyx-signature>")
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.valyx.com/billing/feeComponent")
.header("X-Valyx-Signature", "<x-valyx-signature>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"taxRate\": [\n {\n \"name\": \"<string>\",\n \"value\": 123,\n \"isActive\": true,\n \"taxCategory\": \"GST\"\n }\n ]\n}")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.valyx.com/billing/feeComponent",
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([
'name' => '<string>',
'taxRate' => [
[
'name' => '<string>',
'value' => 123,
'isActive' => true,
'taxCategory' => 'GST'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Valyx-Signature: <x-valyx-signature>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.valyx.com/billing/feeComponent")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Valyx-Signature"] = '<x-valyx-signature>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"taxRate\": [\n {\n \"name\": \"<string>\",\n \"value\": 123,\n \"isActive\": true,\n \"taxCategory\": \"GST\"\n }\n ]\n}"
response = http.request(request)
puts response.read_bodyimport Foundation
let parameters = [
"name": "<string>",
"taxRate": [
[
"name": "<string>",
"value": 123,
"isActive": true,
"taxCategory": "GST"
]
]
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.valyx.com/billing/feeComponent")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"X-Valyx-Signature": "<x-valyx-signature>",
"Content-Type": "application/json"
]
request.httpBody = postData
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n \"name\": \"<string>\",\n \"taxRate\": [\n {\n \"name\": \"<string>\",\n \"value\": 123,\n \"isActive\": true,\n \"taxCategory\": \"GST\"\n }\n ]\n}")
val request = Request.Builder()
.url("https://api.valyx.com/billing/feeComponent")
.post(body)
.addHeader("X-Valyx-Signature", "<x-valyx-signature>")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute()using RestSharp;
var options = new RestClientOptions("https://api.valyx.com/billing/feeComponent");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("X-Valyx-Signature", "<x-valyx-signature>");
request.AddJsonBody("{\n \"name\": \"<string>\",\n \"taxRate\": [\n {\n \"name\": \"<string>\",\n \"value\": 123,\n \"isActive\": true,\n \"taxCategory\": \"GST\"\n }\n ]\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
false{
"error": "<string>",
"message": "<string>",
"data": {
"id": "<string>"
}
}Create Fee Component
curl --request POST \
--url https://api.valyx.com/billing/feeComponent \
--header 'Content-Type: application/json' \
--header 'X-Valyx-Signature: <x-valyx-signature>' \
--data '
{
"name": "<string>",
"taxRate": [
{
"name": "<string>",
"value": 123,
"isActive": true,
"taxCategory": "GST"
}
]
}
'import requests
url = "https://api.valyx.com/billing/feeComponent"
payload = {
"name": "<string>",
"taxRate": [
{
"name": "<string>",
"value": 123,
"isActive": True,
"taxCategory": "GST"
}
]
}
headers = {
"X-Valyx-Signature": "<x-valyx-signature>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Valyx-Signature': '<x-valyx-signature>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
taxRate: [{name: '<string>', value: 123, isActive: true, taxCategory: 'GST'}]
})
};
fetch('https://api.valyx.com/billing/feeComponent', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {
method: 'POST',
headers: {'X-Valyx-Signature': '<x-valyx-signature>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
taxRate: [{name: '<string>', value: 123, isActive: true, taxCategory: 'GST'}]
})
};
fetch('https://api.valyx.com/billing/feeComponent', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.valyx.com/billing/feeComponent"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"taxRate\": [\n {\n \"name\": \"<string>\",\n \"value\": 123,\n \"isActive\": true,\n \"taxCategory\": \"GST\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Valyx-Signature", "<x-valyx-signature>")
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.valyx.com/billing/feeComponent")
.header("X-Valyx-Signature", "<x-valyx-signature>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"taxRate\": [\n {\n \"name\": \"<string>\",\n \"value\": 123,\n \"isActive\": true,\n \"taxCategory\": \"GST\"\n }\n ]\n}")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.valyx.com/billing/feeComponent",
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([
'name' => '<string>',
'taxRate' => [
[
'name' => '<string>',
'value' => 123,
'isActive' => true,
'taxCategory' => 'GST'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Valyx-Signature: <x-valyx-signature>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.valyx.com/billing/feeComponent")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Valyx-Signature"] = '<x-valyx-signature>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"taxRate\": [\n {\n \"name\": \"<string>\",\n \"value\": 123,\n \"isActive\": true,\n \"taxCategory\": \"GST\"\n }\n ]\n}"
response = http.request(request)
puts response.read_bodyimport Foundation
let parameters = [
"name": "<string>",
"taxRate": [
[
"name": "<string>",
"value": 123,
"isActive": true,
"taxCategory": "GST"
]
]
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.valyx.com/billing/feeComponent")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"X-Valyx-Signature": "<x-valyx-signature>",
"Content-Type": "application/json"
]
request.httpBody = postData
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n \"name\": \"<string>\",\n \"taxRate\": [\n {\n \"name\": \"<string>\",\n \"value\": 123,\n \"isActive\": true,\n \"taxCategory\": \"GST\"\n }\n ]\n}")
val request = Request.Builder()
.url("https://api.valyx.com/billing/feeComponent")
.post(body)
.addHeader("X-Valyx-Signature", "<x-valyx-signature>")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute()using RestSharp;
var options = new RestClientOptions("https://api.valyx.com/billing/feeComponent");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("X-Valyx-Signature", "<x-valyx-signature>");
request.AddJsonBody("{\n \"name\": \"<string>\",\n \"taxRate\": [\n {\n \"name\": \"<string>\",\n \"value\": 123,\n \"isActive\": true,\n \"taxCategory\": \"GST\"\n }\n ]\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
false{
"error": "<string>",
"message": "<string>",
"data": {
"id": "<string>"
}
}Headers
Auth key to authenticate the request
Body
The unique name of the fee component.
List of taxes applicable to this fee component. Each tax includes its name, value, and category.
Show child attributes
Show child attributes
HSN (Harmonized System of Nomenclature) code or SAC (Service Accounting Code) for GST classification.
Stock Keeping Unit (SKU) – a unique identifier for the product or service. Useful for inventory or internal tracking.
The unit of measurement for this fee component (e.g., 'GB', 'Hour', 'User'). Used when calculating usage-based charges.
Optional detailed description of the fee component.
Optional limits for billing this component, e.g., min/max values or usage-based tiers.
Show child attributes
Show child attributes
Optional usage driver relationships, defining how different usage drivers contribute to this fee component's calculations.
Show child attributes
Show child attributes