curl --request PUT \
--url https://api.contracting.kukkingu.software/api/v1/contacts/{contactId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'tenant-id: <tenant-id>' \
--data '
{
"name": "Jane Doe",
"isDefault": true,
"order": 13,
"salutation": "Ms.",
"firstName": "Jane",
"middleName": "Allison",
"lastName": "Doe",
"jobTitle": "Procurement Lead",
"email": "jane.doe@example.com",
"phone": "+1-555-1234"
}
'import requests
url = "https://api.contracting.kukkingu.software/api/v1/contacts/{contactId}"
payload = {
"name": "Jane Doe",
"isDefault": True,
"order": 13,
"salutation": "Ms.",
"firstName": "Jane",
"middleName": "Allison",
"lastName": "Doe",
"jobTitle": "Procurement Lead",
"email": "jane.doe@example.com",
"phone": "+1-555-1234"
}
headers = {
"tenant-id": "<tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'tenant-id': '<tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Jane Doe',
isDefault: true,
order: 13,
salutation: 'Ms.',
firstName: 'Jane',
middleName: 'Allison',
lastName: 'Doe',
jobTitle: 'Procurement Lead',
email: 'jane.doe@example.com',
phone: '+1-555-1234'
})
};
fetch('https://api.contracting.kukkingu.software/api/v1/contacts/{contactId}', 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.contracting.kukkingu.software/api/v1/contacts/{contactId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Jane Doe',
'isDefault' => true,
'order' => 13,
'salutation' => 'Ms.',
'firstName' => 'Jane',
'middleName' => 'Allison',
'lastName' => 'Doe',
'jobTitle' => 'Procurement Lead',
'email' => 'jane.doe@example.com',
'phone' => '+1-555-1234'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"tenant-id: <tenant-id>"
],
]);
$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.contracting.kukkingu.software/api/v1/contacts/{contactId}"
payload := strings.NewReader("{\n \"name\": \"Jane Doe\",\n \"isDefault\": true,\n \"order\": 13,\n \"salutation\": \"Ms.\",\n \"firstName\": \"Jane\",\n \"middleName\": \"Allison\",\n \"lastName\": \"Doe\",\n \"jobTitle\": \"Procurement Lead\",\n \"email\": \"jane.doe@example.com\",\n \"phone\": \"+1-555-1234\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("tenant-id", "<tenant-id>")
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.put("https://api.contracting.kukkingu.software/api/v1/contacts/{contactId}")
.header("tenant-id", "<tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Jane Doe\",\n \"isDefault\": true,\n \"order\": 13,\n \"salutation\": \"Ms.\",\n \"firstName\": \"Jane\",\n \"middleName\": \"Allison\",\n \"lastName\": \"Doe\",\n \"jobTitle\": \"Procurement Lead\",\n \"email\": \"jane.doe@example.com\",\n \"phone\": \"+1-555-1234\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.contracting.kukkingu.software/api/v1/contacts/{contactId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["tenant-id"] = '<tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Jane Doe\",\n \"isDefault\": true,\n \"order\": 13,\n \"salutation\": \"Ms.\",\n \"firstName\": \"Jane\",\n \"middleName\": \"Allison\",\n \"lastName\": \"Doe\",\n \"jobTitle\": \"Procurement Lead\",\n \"email\": \"jane.doe@example.com\",\n \"phone\": \"+1-555-1234\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "con_xlbg6ubfio7tzvsijyp5794c",
"client": "clnt_z2b3mo8qa5kzptgsu26q2wmh",
"name": "Jane Doe",
"isDefault": true,
"createdAt": "2023-10-05T14:48:00.000Z",
"updatedAt": "2023-10-05T14:48:00.000Z",
"salutation": "Ms.",
"firstName": "Jane",
"middleName": "Allison",
"lastName": "Doe",
"jobTitle": "Procurement Lead",
"email": "jane.doe@example.com",
"phone": "+1-555-1234",
"order": 13
}
}{
"error": "ValidationError",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>",
"constraint": "<string>"
}
]
}{
"error": "Unauthorized",
"message": "Unauthorized"
}{
"error": "Forbidden",
"message": "Forbidden"
}{
"error": "NotFound",
"message": "Not Found"
}Update contact
Updates an existing contact by its ID.
curl --request PUT \
--url https://api.contracting.kukkingu.software/api/v1/contacts/{contactId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'tenant-id: <tenant-id>' \
--data '
{
"name": "Jane Doe",
"isDefault": true,
"order": 13,
"salutation": "Ms.",
"firstName": "Jane",
"middleName": "Allison",
"lastName": "Doe",
"jobTitle": "Procurement Lead",
"email": "jane.doe@example.com",
"phone": "+1-555-1234"
}
'import requests
url = "https://api.contracting.kukkingu.software/api/v1/contacts/{contactId}"
payload = {
"name": "Jane Doe",
"isDefault": True,
"order": 13,
"salutation": "Ms.",
"firstName": "Jane",
"middleName": "Allison",
"lastName": "Doe",
"jobTitle": "Procurement Lead",
"email": "jane.doe@example.com",
"phone": "+1-555-1234"
}
headers = {
"tenant-id": "<tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'tenant-id': '<tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Jane Doe',
isDefault: true,
order: 13,
salutation: 'Ms.',
firstName: 'Jane',
middleName: 'Allison',
lastName: 'Doe',
jobTitle: 'Procurement Lead',
email: 'jane.doe@example.com',
phone: '+1-555-1234'
})
};
fetch('https://api.contracting.kukkingu.software/api/v1/contacts/{contactId}', 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.contracting.kukkingu.software/api/v1/contacts/{contactId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Jane Doe',
'isDefault' => true,
'order' => 13,
'salutation' => 'Ms.',
'firstName' => 'Jane',
'middleName' => 'Allison',
'lastName' => 'Doe',
'jobTitle' => 'Procurement Lead',
'email' => 'jane.doe@example.com',
'phone' => '+1-555-1234'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"tenant-id: <tenant-id>"
],
]);
$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.contracting.kukkingu.software/api/v1/contacts/{contactId}"
payload := strings.NewReader("{\n \"name\": \"Jane Doe\",\n \"isDefault\": true,\n \"order\": 13,\n \"salutation\": \"Ms.\",\n \"firstName\": \"Jane\",\n \"middleName\": \"Allison\",\n \"lastName\": \"Doe\",\n \"jobTitle\": \"Procurement Lead\",\n \"email\": \"jane.doe@example.com\",\n \"phone\": \"+1-555-1234\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("tenant-id", "<tenant-id>")
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.put("https://api.contracting.kukkingu.software/api/v1/contacts/{contactId}")
.header("tenant-id", "<tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Jane Doe\",\n \"isDefault\": true,\n \"order\": 13,\n \"salutation\": \"Ms.\",\n \"firstName\": \"Jane\",\n \"middleName\": \"Allison\",\n \"lastName\": \"Doe\",\n \"jobTitle\": \"Procurement Lead\",\n \"email\": \"jane.doe@example.com\",\n \"phone\": \"+1-555-1234\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.contracting.kukkingu.software/api/v1/contacts/{contactId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["tenant-id"] = '<tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Jane Doe\",\n \"isDefault\": true,\n \"order\": 13,\n \"salutation\": \"Ms.\",\n \"firstName\": \"Jane\",\n \"middleName\": \"Allison\",\n \"lastName\": \"Doe\",\n \"jobTitle\": \"Procurement Lead\",\n \"email\": \"jane.doe@example.com\",\n \"phone\": \"+1-555-1234\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "con_xlbg6ubfio7tzvsijyp5794c",
"client": "clnt_z2b3mo8qa5kzptgsu26q2wmh",
"name": "Jane Doe",
"isDefault": true,
"createdAt": "2023-10-05T14:48:00.000Z",
"updatedAt": "2023-10-05T14:48:00.000Z",
"salutation": "Ms.",
"firstName": "Jane",
"middleName": "Allison",
"lastName": "Doe",
"jobTitle": "Procurement Lead",
"email": "jane.doe@example.com",
"phone": "+1-555-1234",
"order": 13
}
}{
"error": "ValidationError",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>",
"constraint": "<string>"
}
]
}{
"error": "Unauthorized",
"message": "Unauthorized"
}{
"error": "Forbidden",
"message": "Forbidden"
}{
"error": "NotFound",
"message": "Not Found"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Specifies the tenant context for the request. All endpoints operate within this tenant scope.
"tnt_pfh0haxfpzowht3oi213cqos"
Path Parameters
The ID of the contact.
1"con_xlbg6ubfio7tzvsijyp5794c"
Body
Request body used to fully replace an existing contact resource.
Request body used to fully replace an existing contact resource.
The full name of the contact.
1 - 255"Jane Doe"
Whether the contact is the default contact for a client.
true
Order of the resource for sorting purposes.
0 <= x <= 900719925474099113
The salutation of the contact.
50"Ms."
First name of the contact when available.
255"Jane"
Middle name of the contact when available.
255"Allison"
Last name of the contact when available.
255"Doe"
Job title of the contact.
255"Procurement Lead"
Primary email for the contact.
^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$"jane.doe@example.com"
Primary phone number for the contact.
50"+1-555-1234"
Response
Default Response
Standard success response payload wrapped in a data property.
Contact resource returned by the API.
Show child attributes
Show child attributes