Contractor Payments
Update Contractor Payment
Update fields on an existing, pending contractor payment in Zeal.
PATCH
/
contractorPayment
Update Contractor Payment
curl --request PATCH \
--url https://api.zeal.com/contractorPayment \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"companyID": "<string>",
"contractorPaymentID": "<string>",
"contractorID": "<string>",
"approval_required": true,
"approved": true,
"pay_date": "2023-12-25",
"amount": 123,
"metadata": {},
"customerAccountID": "<string>"
}
'import requests
url = "https://api.zeal.com/contractorPayment"
payload = {
"companyID": "<string>",
"contractorPaymentID": "<string>",
"contractorID": "<string>",
"approval_required": True,
"approved": True,
"pay_date": "2023-12-25",
"amount": 123,
"metadata": {},
"customerAccountID": "<string>"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
companyID: '<string>',
contractorPaymentID: '<string>',
contractorID: '<string>',
approval_required: true,
approved: true,
pay_date: '2023-12-25',
amount: 123,
metadata: {},
customerAccountID: '<string>'
})
};
fetch('https://api.zeal.com/contractorPayment', 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.zeal.com/contractorPayment",
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([
'companyID' => '<string>',
'contractorPaymentID' => '<string>',
'contractorID' => '<string>',
'approval_required' => true,
'approved' => true,
'pay_date' => '2023-12-25',
'amount' => 123,
'metadata' => [
],
'customerAccountID' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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.zeal.com/contractorPayment"
payload := strings.NewReader("{\n \"companyID\": \"<string>\",\n \"contractorPaymentID\": \"<string>\",\n \"contractorID\": \"<string>\",\n \"approval_required\": true,\n \"approved\": true,\n \"pay_date\": \"2023-12-25\",\n \"amount\": 123,\n \"metadata\": {},\n \"customerAccountID\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<api-key>")
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.zeal.com/contractorPayment")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"companyID\": \"<string>\",\n \"contractorPaymentID\": \"<string>\",\n \"contractorID\": \"<string>\",\n \"approval_required\": true,\n \"approved\": true,\n \"pay_date\": \"2023-12-25\",\n \"amount\": 123,\n \"metadata\": {},\n \"customerAccountID\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zeal.com/contractorPayment")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"companyID\": \"<string>\",\n \"contractorPaymentID\": \"<string>\",\n \"contractorID\": \"<string>\",\n \"approval_required\": true,\n \"approved\": true,\n \"pay_date\": \"2023-12-25\",\n \"amount\": 123,\n \"metadata\": {},\n \"customerAccountID\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"contractorPaymentID": "6sd3382d4232390024d3f627",
"disbursement": {
"method": "direct_deposit"
},
"status": "pending",
"approval_required": true,
"approved": true,
"contractorID": "6283dqqe2391cc2a00257e2342",
"companyID": "fc2323ccbae46aa8a083347715bcfa",
"first_name": "Erlich",
"last_name": "Bachman",
"amount": 200,
"pay_date": "2023-07-22",
"triggered": false,
"triggered_at": null,
"customerAccountID": null,
"metadata": {
"example": "example"
}
}
}{
"success": false,
"errors": [
{
"message": "Contractor Payment with this payment ID does not exist",
"code": 46
}
]
}Authorizations
Body
application/json
companyID of the company
ID of the contractor payment to be updated
ID of the contractor
Boolean determining if approval is required for a contractor payment
Boolean determining if contractor payment is approved or not
Pay date of the contractor payment
Pay amount of the contractor payment
Disbursement pay object
Show child attributes
Show child attributes
Type of payment. Only regular payments are reported on a contractor's Form 1099-NEC.
Available options:
regular, reimbursement Custom metadata object
ID of Customer Account associated with Contractor Payment
⌘I
Update Contractor Payment
curl --request PATCH \
--url https://api.zeal.com/contractorPayment \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"companyID": "<string>",
"contractorPaymentID": "<string>",
"contractorID": "<string>",
"approval_required": true,
"approved": true,
"pay_date": "2023-12-25",
"amount": 123,
"metadata": {},
"customerAccountID": "<string>"
}
'import requests
url = "https://api.zeal.com/contractorPayment"
payload = {
"companyID": "<string>",
"contractorPaymentID": "<string>",
"contractorID": "<string>",
"approval_required": True,
"approved": True,
"pay_date": "2023-12-25",
"amount": 123,
"metadata": {},
"customerAccountID": "<string>"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
companyID: '<string>',
contractorPaymentID: '<string>',
contractorID: '<string>',
approval_required: true,
approved: true,
pay_date: '2023-12-25',
amount: 123,
metadata: {},
customerAccountID: '<string>'
})
};
fetch('https://api.zeal.com/contractorPayment', 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.zeal.com/contractorPayment",
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([
'companyID' => '<string>',
'contractorPaymentID' => '<string>',
'contractorID' => '<string>',
'approval_required' => true,
'approved' => true,
'pay_date' => '2023-12-25',
'amount' => 123,
'metadata' => [
],
'customerAccountID' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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.zeal.com/contractorPayment"
payload := strings.NewReader("{\n \"companyID\": \"<string>\",\n \"contractorPaymentID\": \"<string>\",\n \"contractorID\": \"<string>\",\n \"approval_required\": true,\n \"approved\": true,\n \"pay_date\": \"2023-12-25\",\n \"amount\": 123,\n \"metadata\": {},\n \"customerAccountID\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<api-key>")
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.zeal.com/contractorPayment")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"companyID\": \"<string>\",\n \"contractorPaymentID\": \"<string>\",\n \"contractorID\": \"<string>\",\n \"approval_required\": true,\n \"approved\": true,\n \"pay_date\": \"2023-12-25\",\n \"amount\": 123,\n \"metadata\": {},\n \"customerAccountID\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zeal.com/contractorPayment")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"companyID\": \"<string>\",\n \"contractorPaymentID\": \"<string>\",\n \"contractorID\": \"<string>\",\n \"approval_required\": true,\n \"approved\": true,\n \"pay_date\": \"2023-12-25\",\n \"amount\": 123,\n \"metadata\": {},\n \"customerAccountID\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"contractorPaymentID": "6sd3382d4232390024d3f627",
"disbursement": {
"method": "direct_deposit"
},
"status": "pending",
"approval_required": true,
"approved": true,
"contractorID": "6283dqqe2391cc2a00257e2342",
"companyID": "fc2323ccbae46aa8a083347715bcfa",
"first_name": "Erlich",
"last_name": "Bachman",
"amount": 200,
"pay_date": "2023-07-22",
"triggered": false,
"triggered_at": null,
"customerAccountID": null,
"metadata": {
"example": "example"
}
}
}{
"success": false,
"errors": [
{
"message": "Contractor Payment with this payment ID does not exist",
"code": 46
}
]
}