Create Company
Create a new Company under a partner and an ATS integration. The authenticated partner becomes the owning partner of the resulting record.
curl -X POST "https://api.getkini.com/companies/" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"name": "John Doe",
"ats": "bullhorn",
"partner_company_id": "example_string",
"website": "example_string",
"logo": "example_string",
"primary_color": "example_string",
"street": "example_string",
"city": "New York",
"country": "USA",
"postcode": "example_string",
"contact_name": "John Doe",
"contact_email": "user@example.com",
"contact_phone": "+1-555-0123",
"fallback_job": 42
}'
import requests
import json
url = "https://api.getkini.com/companies/"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
data = {
"name": "John Doe",
"ats": "bullhorn",
"partner_company_id": "example_string",
"website": "example_string",
"logo": "example_string",
"primary_color": "example_string",
"street": "example_string",
"city": "New York",
"country": "USA",
"postcode": "example_string",
"contact_name": "John Doe",
"contact_email": "user@example.com",
"contact_phone": "+1-555-0123",
"fallback_job": 42
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.getkini.com/companies/", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
},
body: JSON.stringify({
"name": "John Doe",
"ats": "bullhorn",
"partner_company_id": "example_string",
"website": "example_string",
"logo": "example_string",
"primary_color": "example_string",
"street": "example_string",
"city": "New York",
"country": "USA",
"postcode": "example_string",
"contact_name": "John Doe",
"contact_email": "user@example.com",
"contact_phone": "+1-555-0123",
"fallback_job": 42
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"name": "John Doe",
"ats": "bullhorn",
"partner_company_id": "example_string",
"website": "example_string",
"logo": "example_string",
"primary_color": "example_string",
"street": "example_string",
"city": "New York",
"country": "USA",
"postcode": "example_string",
"contact_name": "John Doe",
"contact_email": "user@example.com",
"contact_phone": "+1-555-0123",
"fallback_job": 42
}`)
req, err := http.NewRequest("POST", "https://api.getkini.com/companies/", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
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/companies/')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
request.body = '{
"name": "John Doe",
"ats": "bullhorn",
"partner_company_id": "example_string",
"website": "example_string",
"logo": "example_string",
"primary_color": "example_string",
"street": "example_string",
"city": "New York",
"country": "USA",
"postcode": "example_string",
"contact_name": "John Doe",
"contact_email": "user@example.com",
"contact_phone": "+1-555-0123",
"fallback_job": 42
}'
response = http.request(request)
puts response.body
{
"id": 123,
"name": "John Doe",
"slug": "example_string",
"ats": "bullhorn",
"ats_name": "John Doe",
"partner": 42,
"partner_company_id": "example_string",
"website": "example_string",
"logo": "example_string",
"primary_color": "example_string",
"street": "example_string",
"city": "New York",
"country": "USA",
"postcode": "example_string",
"job_sync_active": true,
"candidate_sync_active": true,
"contact_name": "John Doe",
"contact_email": "user@example.com",
"contact_phone": "+1-555-0123",
"jobs_last_synced_at": "2024-12-25T10:00:00Z",
"fallback_job": 42,
"status": "invited",
"is_test": true,
"magic_link": "example_string",
"created_at": "2024-12-25T10:00:00Z",
"updated_at": "2024-12-25T10:00:00Z"
}
/companies/
Target server for requests. Edit to use your own host.
Bearer API Key Authentication. Include your API key in the Authorization header.
The media type of the request body
Display name of the company
Slug of the ATS integration this company will be linked to (for example bullhorn or workday).
External identifier of the company in the partner's system
Company website URL
URL of the company logo
Hex color used to brand the company's job board
Street address of the company
City of the company
Country of the company
Postal code of the company
Full name of the main point of contact
Email address of the main point of contact
Phone number of the main point of contact
Kini ID of the job used as a fallback when the ATS export fails
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. Bearer API Key Authentication. Include your API key in the Authorization header.
Body
Display name of the company
Slug of the ATS integration this company will be linked to (for example bullhorn or workday).
bullhornExternal identifier of the company in the partner's system
Company website URL
URL of the company logo
Hex color used to brand the company's job board
Street address of the company
City of the company
Country of the company
Postal code of the company
Full name of the main point of contact
Email address of the main point of contact
Phone number of the main point of contact
Kini ID of the job used as a fallback when the ATS export fails