curl --request GET \
--url https://api.arcuserp.com/v1/accounts/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.arcuserp.com/v1/accounts/{id}"
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/accounts/{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.arcuserp.com/v1/accounts/{id}",
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/accounts/{id}"
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/accounts/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arcuserp.com/v1/accounts/{id}")
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{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"object": "account",
"entity_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"display_name": "<string>",
"company_name": "<string>",
"account_type": "business",
"account_number": "<string>",
"email": "<string>",
"phone_main": "<string>",
"phone_secondary": "<string>",
"phone_mobile": "<string>",
"website": "<string>",
"payment_term_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"credit_limit": 123,
"credit_balance": 123,
"is_credit_hold": true,
"tax_exempt": true,
"avatax_entity_code": "<string>",
"tax_number": "<string>",
"default_pricing_level_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"default_location_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"default_shipping_method": "<string>",
"shipping_preference": "always_freight",
"enable_pro_portal": true,
"is_active": true,
"notes": "<string>",
"metadata": {},
"stripe_customer_id": "<string>",
"source_platform": "<string>",
"external_customer_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
}{
"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"
}Retrieve an account
Returns the full detail of a single account by UUID or account number, including addresses, contacts, payment terms, pricing level, tax settings, and custom fields, with optional expansion of nested collections. Returns 404 if no account matches either identifier form.
curl --request GET \
--url https://api.arcuserp.com/v1/accounts/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.arcuserp.com/v1/accounts/{id}"
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/accounts/{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.arcuserp.com/v1/accounts/{id}",
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/accounts/{id}"
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/accounts/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arcuserp.com/v1/accounts/{id}")
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{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"object": "account",
"entity_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"display_name": "<string>",
"company_name": "<string>",
"account_type": "business",
"account_number": "<string>",
"email": "<string>",
"phone_main": "<string>",
"phone_secondary": "<string>",
"phone_mobile": "<string>",
"website": "<string>",
"payment_term_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"credit_limit": 123,
"credit_balance": 123,
"is_credit_hold": true,
"tax_exempt": true,
"avatax_entity_code": "<string>",
"tax_number": "<string>",
"default_pricing_level_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"default_location_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"default_shipping_method": "<string>",
"shipping_preference": "always_freight",
"enable_pro_portal": true,
"is_active": true,
"notes": "<string>",
"metadata": {},
"stripe_customer_id": "<string>",
"source_platform": "<string>",
"external_customer_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
}{
"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
Account UUID or account_number (e.g. ACCT-001, CUST-00042). Polymorphic lookup: if the value is not a UUID it is resolved to a UUID via accounts.account_number within the entity scope before the record is fetched. (NEW-GAP-API-V1-POLYMORPHIC-LOOKUP-CROSS-RESOURCE 2026-05-20)
Query Parameters
Comma-separated list of relations to expand. Valid values - addresses, contacts, recent_orders.
Response
Account object
An Arcus ERP account. Represents a customer, vendor, lead, or individual. account_type drives AR vs AP behavior: business/individual/lead = customer (AR); vendor = supplier (AP). entity_id is always from the API key (Layer 1 isolation).
Show child attributes
Show child attributes
Was this page helpful?

