curl --request POST \
--url https://api.arcuserp.com/v1/fixed_assets/{id}/place_in_service \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"placed_in_service_date": "2026-05-18T00:00:00.000Z"
}
'import requests
url = "https://api.arcuserp.com/v1/fixed_assets/{id}/place_in_service"
payload = { "placed_in_service_date": "2026-05-18T00:00:00.000Z" }
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({placed_in_service_date: '2026-05-18T00:00:00.000Z'})
};
fetch('https://api.arcuserp.com/v1/fixed_assets/{id}/place_in_service', 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/fixed_assets/{id}/place_in_service",
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([
'placed_in_service_date' => '2026-05-18T00:00:00.000Z'
]),
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/fixed_assets/{id}/place_in_service"
payload := strings.NewReader("{\n \"placed_in_service_date\": \"2026-05-18T00:00:00.000Z\"\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/fixed_assets/{id}/place_in_service")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"placed_in_service_date\": \"2026-05-18T00:00:00.000Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arcuserp.com/v1/fixed_assets/{id}/place_in_service")
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 \"placed_in_service_date\": \"2026-05-18T00:00:00.000Z\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"entity_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"asset_code": "<string>",
"name": "<string>",
"description": "<string>",
"serial_number": "<string>",
"status": "pending_service",
"category_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"location_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"vendor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"po_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"vendor_bill_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"cost_basis": 123,
"salvage_value": 123,
"accumulated_depreciation": 123,
"tax_accumulated_depreciation": 123,
"net_book_value": 123,
"depreciation_method": "straight_line",
"useful_life_months": 123,
"macrs_class": "three_year",
"macrs_convention": "half_year",
"placed_in_service_date": "2023-12-25",
"acquisition_date": "2023-12-25",
"disposal_date": "2023-12-25",
"disposal_method": "sold",
"disposal_amount": 123,
"gain_loss_amount": 123,
"gl_asset_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"gl_accum_depr_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"gl_depr_expense_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"warranty_expiration": "2023-12-25",
"warranty_provider": "<string>",
"warranty_terms": "<string>",
"insurance_policy": "<string>",
"insurance_expiration": "2023-12-25",
"notes": "<string>",
"metadata": {},
"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"
}Place a fixed asset in service
Transitions a pending asset to active, generating its depreciation schedule and posting the acquisition journal entry in the same call if they have not already been created. Calling it again on an asset already active or fully depreciated is a no-op; calling it on a disposed asset returns a 409.
curl --request POST \
--url https://api.arcuserp.com/v1/fixed_assets/{id}/place_in_service \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"placed_in_service_date": "2026-05-18T00:00:00.000Z"
}
'import requests
url = "https://api.arcuserp.com/v1/fixed_assets/{id}/place_in_service"
payload = { "placed_in_service_date": "2026-05-18T00:00:00.000Z" }
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({placed_in_service_date: '2026-05-18T00:00:00.000Z'})
};
fetch('https://api.arcuserp.com/v1/fixed_assets/{id}/place_in_service', 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/fixed_assets/{id}/place_in_service",
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([
'placed_in_service_date' => '2026-05-18T00:00:00.000Z'
]),
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/fixed_assets/{id}/place_in_service"
payload := strings.NewReader("{\n \"placed_in_service_date\": \"2026-05-18T00:00:00.000Z\"\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/fixed_assets/{id}/place_in_service")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"placed_in_service_date\": \"2026-05-18T00:00:00.000Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arcuserp.com/v1/fixed_assets/{id}/place_in_service")
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 \"placed_in_service_date\": \"2026-05-18T00:00:00.000Z\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"entity_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"asset_code": "<string>",
"name": "<string>",
"description": "<string>",
"serial_number": "<string>",
"status": "pending_service",
"category_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"location_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"vendor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"po_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"vendor_bill_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"cost_basis": 123,
"salvage_value": 123,
"accumulated_depreciation": 123,
"tax_accumulated_depreciation": 123,
"net_book_value": 123,
"depreciation_method": "straight_line",
"useful_life_months": 123,
"macrs_class": "three_year",
"macrs_convention": "half_year",
"placed_in_service_date": "2023-12-25",
"acquisition_date": "2023-12-25",
"disposal_date": "2023-12-25",
"disposal_method": "sold",
"disposal_amount": 123,
"gain_loss_amount": 123,
"gl_asset_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"gl_accum_depr_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"gl_depr_expense_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"warranty_expiration": "2023-12-25",
"warranty_provider": "<string>",
"warranty_terms": "<string>",
"insurance_policy": "<string>",
"insurance_expiration": "2023-12-25",
"notes": "<string>",
"metadata": {},
"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"
}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.
Headers
Client-generated unique key for idempotent POST/PATCH/DELETE operations. Alias for the Idempotency parameter. Max 255 chars. On retry with the same key, the original response is returned without re-executing the operation. Keys expire after 24 hours.
255Path Parameters
Body
Defaults to today when omitted.
"2026-05-18T00:00:00.000Z"
Response
Asset placed in service (data includes acquisition_journal_entry_id)
A capitalized fixed asset (PP and E) tracked on the entity's books with cost basis, accumulated depreciation, depreciation schedule, and lifecycle state. Lifecycle: pending_service (created, not yet placed in service), active (depreciating), suspended (depreciation halted), fully_depreciated (accumulated depreciation equals depreciable base), disposed (sold/scrapped/donated/traded_in). Scope: assets:read / assets:write. Rule 23 SSOT: cost_basis is written only by createFixedAsset and revalueAsset; accumulated_depreciation is written only by postDepreciation, disposeAsset, impairAsset, and revalueAsset.
Show child attributes
Show child attributes
Was this page helpful?

