curl --request GET \
--url https://api.arcuserp.com/v1/entities/{entity_id}/reconciliation/marketplace-payout-candidates \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.arcuserp.com/v1/entities/{entity_id}/reconciliation/marketplace-payout-candidates"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.arcuserp.com/v1/entities/{entity_id}/reconciliation/marketplace-payout-candidates', 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/entities/{entity_id}/reconciliation/marketplace-payout-candidates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.arcuserp.com/v1/entities/{entity_id}/reconciliation/marketplace-payout-candidates"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.arcuserp.com/v1/entities/{entity_id}/reconciliation/marketplace-payout-candidates")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arcuserp.com/v1/entities/{entity_id}/reconciliation/marketplace-payout-candidates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"bank_transaction": {},
"marketplace_payouts": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"platform": "<string>",
"platform_payout_id": "<string>",
"amount": 123,
"payout_date": "2023-12-25",
"score": 123,
"match_reason": "<string>",
"days_apart": 123
}
],
"top_candidate": {}
}{
"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"
}{
"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"
}Suggest marketplace payout matches
For an inbound bank deposit, returns confidence-scored candidate marketplace payouts (Shopify, Amazon, eBay) within five cents and seven days of the deposit, scored from 1.0 for an exact amount and same-day match down to 0.6 for a same-window match on memo alone. Suggest-only: it posts and mutates nothing, excludes any payout whose journal entry is currently reversed, and requires accounting:read scope.
curl --request GET \
--url https://api.arcuserp.com/v1/entities/{entity_id}/reconciliation/marketplace-payout-candidates \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.arcuserp.com/v1/entities/{entity_id}/reconciliation/marketplace-payout-candidates"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.arcuserp.com/v1/entities/{entity_id}/reconciliation/marketplace-payout-candidates', 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/entities/{entity_id}/reconciliation/marketplace-payout-candidates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.arcuserp.com/v1/entities/{entity_id}/reconciliation/marketplace-payout-candidates"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.arcuserp.com/v1/entities/{entity_id}/reconciliation/marketplace-payout-candidates")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arcuserp.com/v1/entities/{entity_id}/reconciliation/marketplace-payout-candidates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"bank_transaction": {},
"marketplace_payouts": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"platform": "<string>",
"platform_payout_id": "<string>",
"amount": 123,
"payout_date": "2023-12-25",
"score": 123,
"match_reason": "<string>",
"days_apart": 123
}
],
"top_candidate": {}
}{
"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"
}{
"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.
Path Parameters
Query Parameters
The inbound bank transaction to find marketplace-payout candidates for.
Optional. Also return payouts that match this text, whatever their amount or date: the processor payout id, the platform name, or the journal entry number. Scoped to your own entity. Shorter than the minimum length, or longer than the maximum, is ignored rather than rejected; % and _ match themselves.
Optional. Widen the date window from the 7-day default. Clamped to the server ceiling; a value that is not a number is ignored and the default applies.
x >= 0Optional. Widen the amount tolerance from the $0.05 default. Clamped to the server ceiling; a value that is not a number is ignored and the default applies.
x >= 0Response
Scored candidate payouts for the bank transaction.
Was this page helpful?

