Create Billing Detail
Create a billing detail for the company given in the Company-Id header. The server sets company from that header. company_name and contact_name are required.
curl -X POST "https://api.getkini.com/billing_details/" \
-H "Content-Type: application/json" \
-H "Company-Id: 1" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"company_name": "Example Company GmbH",
"contact_name": "Jane Doe",
"email": "billing@example.com",
"phone": "+493012345678",
"street": "Example Street 1",
"city": "Berlin",
"country": "Germany",
"postcode": "10115",
"branch": "Berlin Office",
"cost_center": "CC-440",
"vat_number": "DE123456789",
"tax_number": "12/345/67890",
"is_default": true
}'
import requests
import json
url = "https://api.getkini.com/billing_details/"
headers = {
"Content-Type": "application/json",
"Company-Id": "1",
"Authorization": "Bearer YOUR_API_TOKEN"
}
data = {
"company_name": "Example Company GmbH",
"contact_name": "Jane Doe",
"email": "billing@example.com",
"phone": "+493012345678",
"street": "Example Street 1",
"city": "Berlin",
"country": "Germany",
"postcode": "10115",
"branch": "Berlin Office",
"cost_center": "CC-440",
"vat_number": "DE123456789",
"tax_number": "12/345/67890",
"is_default": true
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.getkini.com/billing_details/", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Company-Id": "1",
"Authorization": "Bearer YOUR_API_TOKEN"
},
body: JSON.stringify({
"company_name": "Example Company GmbH",
"contact_name": "Jane Doe",
"email": "billing@example.com",
"phone": "+493012345678",
"street": "Example Street 1",
"city": "Berlin",
"country": "Germany",
"postcode": "10115",
"branch": "Berlin Office",
"cost_center": "CC-440",
"vat_number": "DE123456789",
"tax_number": "12/345/67890",
"is_default": true
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"company_name": "Example Company GmbH",
"contact_name": "Jane Doe",
"email": "billing@example.com",
"phone": "+493012345678",
"street": "Example Street 1",
"city": "Berlin",
"country": "Germany",
"postcode": "10115",
"branch": "Berlin Office",
"cost_center": "CC-440",
"vat_number": "DE123456789",
"tax_number": "12/345/67890",
"is_default": true
}`)
req, err := http.NewRequest("POST", "https://api.getkini.com/billing_details/", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Company-Id", "1")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.getkini.com/billing_details/')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['Company-Id'] = '1'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
request.body = '{
"company_name": "Example Company GmbH",
"contact_name": "Jane Doe",
"email": "billing@example.com",
"phone": "+493012345678",
"street": "Example Street 1",
"city": "Berlin",
"country": "Germany",
"postcode": "10115",
"branch": "Berlin Office",
"cost_center": "CC-440",
"vat_number": "DE123456789",
"tax_number": "12/345/67890",
"is_default": true
}'
response = http.request(request)
puts response.body
{
"id": 12,
"company": 1,
"company_name": "Example Company GmbH",
"contact_name": "Jane Doe",
"email": "billing@example.com",
"phone": "+493012345678",
"street": "Example Street 1",
"city": "Berlin",
"country": "Germany",
"postcode": "10115",
"branch": "Berlin Office",
"cost_center": "CC-440",
"vat_number": "DE123456789",
"tax_number": "12/345/67890",
"is_default": true,
"created_at": "2026-07-21T06:03:12.447201Z",
"updated_at": "2026-07-21T06:03:12.447201Z"
}
/billing_details/
Target server for requests. Edit to use your own host.
Authenticate every request with an API key from the Kini Partner App, sent as Authorization: Bearer <your_api_key>.
Authorization: Bearer <your_api_key>.The media type of the request body
Kini ID of the company the key is associated with
Legal name that appears on the invoice
Name of the person who receives the invoice
Email address the invoice is sent to
Phone number of the billing contact
Street and house number on the invoice
City on the invoice
Country on the invoice
Postal code on the invoice
Branch or department this invoice belongs to
Cost center printed on the invoice
VAT identification number
National tax number
Whether this is the company's default billing detail
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. Authenticate every request with an API key from the Kini Partner App, sent as Authorization: Bearer <your_api_key>.