curl --request POST \
--url https://api.arcuserp.com/v1/quick-check \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"vendor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount": 123,
"gl_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"memo": "<string>",
"payment_date": "2023-12-25"
}
'import requests
url = "https://api.arcuserp.com/v1/quick-check"
payload = {
"vendor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount": 123,
"gl_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"memo": "<string>",
"payment_date": "2023-12-25"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
vendor_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
amount: 123,
gl_account_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
memo: '<string>',
payment_date: '2023-12-25'
})
};
fetch('https://api.arcuserp.com/v1/quick-check', 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.arcuserp.com/v1/quick-check",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'vendor_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'amount' => 123,
'gl_account_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'memo' => '<string>',
'payment_date' => '2023-12-25'
]),
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.arcuserp.com/v1/quick-check"
payload := strings.NewReader("{\n \"vendor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"amount\": 123,\n \"gl_account_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"memo\": \"<string>\",\n \"payment_date\": \"2023-12-25\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.arcuserp.com/v1/quick-check")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"vendor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"amount\": 123,\n \"gl_account_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"memo\": \"<string>\",\n \"payment_date\": \"2023-12-25\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arcuserp.com/v1/quick-check")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"vendor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"amount\": 123,\n \"gl_account_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"memo\": \"<string>\",\n \"payment_date\": \"2023-12-25\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"object": "printed_check",
"entity_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"check_number": 123,
"bank_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"vendor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount": 123,
"memo": "<string>",
"status": "printed",
"printed_at": "2023-11-07T05:31:56Z",
"voided_at": "2023-11-07T05:31:56Z",
"cleared_at": "2023-11-07T05:31:56Z",
"cleared_source": "bank_match",
"cleared_bank_transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "not_found",
"code": "not_found",
"type": "not_found",
"hint": "The requested order does not exist or does not belong to this entity.",
"param": "expand[0]",
"required": "accounts:read",
"request_id": "req_abc123"
}{
"error": "not_found",
"code": "not_found",
"type": "not_found",
"hint": "The requested order does not exist or does not belong to this entity.",
"param": "expand[0]",
"required": "accounts:read",
"request_id": "req_abc123"
}{
"error": "not_found",
"code": "not_found",
"type": "not_found",
"hint": "The requested order does not exist or does not belong to this entity.",
"param": "expand[0]",
"required": "accounts:read",
"request_id": "req_abc123"
}Create a quick check (one-time payment without bill)
Creates and immediately prints a one-off check outside of a batch, for urgent or ad-hoc
vendor payments. Specify the payee, amount, and the GL expense account to debit. The check
number is drawn from the entity’s check sequence and the GL journal entry is posted immediately.
Requires purchasing:write scope.
curl --request POST \
--url https://api.arcuserp.com/v1/quick-check \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"vendor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount": 123,
"gl_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"memo": "<string>",
"payment_date": "2023-12-25"
}
'import requests
url = "https://api.arcuserp.com/v1/quick-check"
payload = {
"vendor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount": 123,
"gl_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"memo": "<string>",
"payment_date": "2023-12-25"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
vendor_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
amount: 123,
gl_account_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
memo: '<string>',
payment_date: '2023-12-25'
})
};
fetch('https://api.arcuserp.com/v1/quick-check', 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.arcuserp.com/v1/quick-check",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'vendor_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'amount' => 123,
'gl_account_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'memo' => '<string>',
'payment_date' => '2023-12-25'
]),
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.arcuserp.com/v1/quick-check"
payload := strings.NewReader("{\n \"vendor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"amount\": 123,\n \"gl_account_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"memo\": \"<string>\",\n \"payment_date\": \"2023-12-25\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.arcuserp.com/v1/quick-check")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"vendor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"amount\": 123,\n \"gl_account_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"memo\": \"<string>\",\n \"payment_date\": \"2023-12-25\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arcuserp.com/v1/quick-check")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"vendor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"amount\": 123,\n \"gl_account_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"memo\": \"<string>\",\n \"payment_date\": \"2023-12-25\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"object": "printed_check",
"entity_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"check_number": 123,
"bank_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"vendor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount": 123,
"memo": "<string>",
"status": "printed",
"printed_at": "2023-11-07T05:31:56Z",
"voided_at": "2023-11-07T05:31:56Z",
"cleared_at": "2023-11-07T05:31:56Z",
"cleared_source": "bank_match",
"cleared_bank_transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "not_found",
"code": "not_found",
"type": "not_found",
"hint": "The requested order does not exist or does not belong to this entity.",
"param": "expand[0]",
"required": "accounts:read",
"request_id": "req_abc123"
}{
"error": "not_found",
"code": "not_found",
"type": "not_found",
"hint": "The requested order does not exist or does not belong to this entity.",
"param": "expand[0]",
"required": "accounts:read",
"request_id": "req_abc123"
}{
"error": "not_found",
"code": "not_found",
"type": "not_found",
"hint": "The requested order does not exist or does not belong to this entity.",
"param": "expand[0]",
"required": "accounts:read",
"request_id": "req_abc123"
}Authorizations
API key issued per entity via Settings > Developers > API Keys.
Each key carries scopes (e.g. orders:read, products:write).
Bearer token format: Authorization: Bearer ark_live_ent_Test keys use ark_test_ent_. Both are issued per entity
via Settings > Developers > API Keys.
Body
Response
Created quick check
A check printed by Arcus (paper AP payment).
printed_check Sequential per bank account.
printed, reprinted, voided, cleared The EVIDENCE CLASS behind status=cleared. register_only means the payment leg already credited a bank account and no journal entry was posted for the clear, so the row is a register truth and NOT a bank fact. Null on a check cleared before migration 20260915a, when nothing recorded the class.
bank_match, manual_clear, register_only, migrated The bank line that paid this check. Written when the clear is driven by a matched bank row; null for a manual clear and for every check cleared before 2026-09-18. When it is null the pairing may still be recorded on the bank side.
Was this page helpful?

