curl --request PATCH \
--url https://api.instaview.sk/company/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Acme Corporation",
"description": "Leading technology company specializing in enterprise software",
"metadata": {
"industry": "Technology",
"size": "50-200"
},
"ownerEmail": "owner@example.com"
}
'import requests
url = "https://api.instaview.sk/company/{id}"
payload = {
"name": "Acme Corporation",
"description": "Leading technology company specializing in enterprise software",
"metadata": {
"industry": "Technology",
"size": "50-200"
},
"ownerEmail": "owner@example.com"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Acme Corporation',
description: 'Leading technology company specializing in enterprise software',
metadata: {industry: 'Technology', size: '50-200'},
ownerEmail: 'owner@example.com'
})
};
fetch('https://api.instaview.sk/company/{id}', 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.instaview.sk/company/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Acme Corporation',
'description' => 'Leading technology company specializing in enterprise software',
'metadata' => [
'industry' => 'Technology',
'size' => '50-200'
],
'ownerEmail' => 'owner@example.com'
]),
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.instaview.sk/company/{id}"
payload := strings.NewReader("{\n \"name\": \"Acme Corporation\",\n \"description\": \"Leading technology company specializing in enterprise software\",\n \"metadata\": {\n \"industry\": \"Technology\",\n \"size\": \"50-200\"\n },\n \"ownerEmail\": \"owner@example.com\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.instaview.sk/company/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Acme Corporation\",\n \"description\": \"Leading technology company specializing in enterprise software\",\n \"metadata\": {\n \"industry\": \"Technology\",\n \"size\": \"50-200\"\n },\n \"ownerEmail\": \"owner@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.instaview.sk/company/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Acme Corporation\",\n \"description\": \"Leading technology company specializing in enterprise software\",\n \"metadata\": {\n \"industry\": \"Technology\",\n \"size\": \"50-200\"\n },\n \"ownerEmail\": \"owner@example.com\"\n}"
response = http.request(request)
puts response.read_body{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Acme Corporation",
"createdAt": "2024-11-16T10:30:00Z",
"updatedAt": "2024-11-16T10:30:00Z",
"description": "Leading technology company",
"ownerEmail": "owner@example.com",
"metadata": {
"externalCompanyId": "COMP-12345",
"industry": "Technology"
}
}Update Company
Updates company details. ATS keys can update companies they created; direct client keys can update their own company.
curl --request PATCH \
--url https://api.instaview.sk/company/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Acme Corporation",
"description": "Leading technology company specializing in enterprise software",
"metadata": {
"industry": "Technology",
"size": "50-200"
},
"ownerEmail": "owner@example.com"
}
'import requests
url = "https://api.instaview.sk/company/{id}"
payload = {
"name": "Acme Corporation",
"description": "Leading technology company specializing in enterprise software",
"metadata": {
"industry": "Technology",
"size": "50-200"
},
"ownerEmail": "owner@example.com"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Acme Corporation',
description: 'Leading technology company specializing in enterprise software',
metadata: {industry: 'Technology', size: '50-200'},
ownerEmail: 'owner@example.com'
})
};
fetch('https://api.instaview.sk/company/{id}', 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.instaview.sk/company/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Acme Corporation',
'description' => 'Leading technology company specializing in enterprise software',
'metadata' => [
'industry' => 'Technology',
'size' => '50-200'
],
'ownerEmail' => 'owner@example.com'
]),
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.instaview.sk/company/{id}"
payload := strings.NewReader("{\n \"name\": \"Acme Corporation\",\n \"description\": \"Leading technology company specializing in enterprise software\",\n \"metadata\": {\n \"industry\": \"Technology\",\n \"size\": \"50-200\"\n },\n \"ownerEmail\": \"owner@example.com\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.instaview.sk/company/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Acme Corporation\",\n \"description\": \"Leading technology company specializing in enterprise software\",\n \"metadata\": {\n \"industry\": \"Technology\",\n \"size\": \"50-200\"\n },\n \"ownerEmail\": \"owner@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.instaview.sk/company/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Acme Corporation\",\n \"description\": \"Leading technology company specializing in enterprise software\",\n \"metadata\": {\n \"industry\": \"Technology\",\n \"size\": \"50-200\"\n },\n \"ownerEmail\": \"owner@example.com\"\n}"
response = http.request(request)
puts response.read_body{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Acme Corporation",
"createdAt": "2024-11-16T10:30:00Z",
"updatedAt": "2024-11-16T10:30:00Z",
"description": "Leading technology company",
"ownerEmail": "owner@example.com",
"metadata": {
"externalCompanyId": "COMP-12345",
"industry": "Technology"
}
}Overview
The update company endpoint allows you to modify company information without recreating it. This supports partial updates, meaning you only need to provide the fields you want to change. Regular API keys can update their own company, while ATS keys can update companies they’ve created.Access Rules
Regular API Keys
Regular API keys can only update their associated company:// ✅ Can update own company
PATCH /company/{own-company-id}
{
"name": "Updated Company Name"
}
ATS Integration Keys
ATS keys can update any company they’ve created:// ✅ Can update companies created by this ATS key
PATCH /company/{ats-managed-company-id}
{
"name": "Updated Client Company Name"
}
Use Cases
- Company Profile Updates: Update company name, website, or industry
- Settings Management: Modify company settings (timezone, locale)
- Client Management: Update client company information for ATS platforms
Partial Updates
You can update any combination of fields:// Update only name
PATCH /company/{id}
{
"name": "New Company Name"
}
// Update multiple fields
PATCH /company/{id}
{
"name": "Updated Name",
"website": "https://newwebsite.com",
"industry": "Technology"
}
Error Scenarios
- 404 Not Found: Company doesn’t exist
- 403 Forbidden: Company is not accessible or updatable with your API key type
- 400 Bad Request: Invalid field values or validation errors
Related Resources
ATS Integration Guide
Companies Resource Guide
Get Company
Authorizations
API key for authentication using Bearer scheme
Path Parameters
Query Parameters
Required for ATS API keys to specify which company to access. Ignored for standard company API keys.
Body
Company name
2 - 100"Acme Corporation"
Company description
1 - 1000"Leading technology company specializing in enterprise software"
Custom metadata (merged with existing metadata, max 10KB, 5 levels deep, 50 keys)
{
"industry": "Technology",
"size": "50-200"
}
Email of the company owner. If provided, the system will automatically assign or invite the user.
254"owner@example.com"
Response
Company ID
"123e4567-e89b-12d3-a456-426614174000"
Company name
"Acme Corporation"
Created timestamp
"2024-11-16T10:30:00Z"
Updated timestamp
"2024-11-16T10:30:00Z"
Company description
"Leading technology company"
Email of the company owner
254"owner@example.com"
Custom metadata
{
"externalCompanyId": "COMP-12345",
"industry": "Technology"
}