Skip to main content
POST
/
inventory
/
receive
curl --request POST \
  --url https://api.arcuserp.com/v1/inventory/receive \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "location_id": "91aa7588-4dc7-4edd-b172-7de91f5e1f78",
  "notes": "Restocking run from supplier",
  "items": [
    {
      "product_id": "7f6f3e14-eaad-4c45-b922-209f6dc6d140",
      "quantity": 10,
      "unit_cost": 12.5,
      "notes": "Circuit Breaker 10A White"
    },
    {
      "product_id": "ec9288c3-12b1-474f-bb09-b0b15bb7a8ff",
      "quantity": 5,
      "unit_cost": 8.75,
      "notes": "Square D Breaker Black"
    }
  ]
}
'
{
  "object": "inventory_receive_result",
  "items": [
    {
      "index": 0,
      "product_id": "7f6f3e14-eaad-4c45-b922-209f6dc6d140",
      "location_id": "91aa7588-4dc7-4edd-b172-7de91f5e1f78",
      "quantity": 10,
      "unit_cost": 12.5,
      "balance": {
        "id": "0118ff93-8f65-4a72-ae7e-ca2a75526631",
        "on_hand": 10,
        "allocated": 0,
        "available": 10,
        "total_value": "125.00",
        "avg_unit_value": "12.5000"
      },
      "transaction": {
        "id": "3096987e-b156-4ee0-b373-8056f5bd8d91",
        "type": "receiving",
        "quantity": 10,
        "unit_price": "12.5000",
        "total_price": "125.00",
        "transaction_id": "IVT-0000153"
      }
    },
    {
      "index": 1,
      "product_id": "ec9288c3-12b1-474f-bb09-b0b15bb7a8ff",
      "location_id": "91aa7588-4dc7-4edd-b172-7de91f5e1f78",
      "quantity": 5,
      "unit_cost": 8.75,
      "balance": {
        "id": "6e082a9d-7314-4bd9-9bf3-609b3aae12b3",
        "on_hand": 5,
        "allocated": 0,
        "available": 5,
        "total_value": "43.75",
        "avg_unit_value": "8.7500"
      },
      "transaction": {
        "id": "f7d36a63-008b-4973-9025-e22328786e40",
        "type": "receiving",
        "quantity": 5,
        "unit_price": "8.7500",
        "total_price": "43.75",
        "transaction_id": "IVT-0000154"
      }
    }
  ],
  "summary": {
    "total_items": 2,
    "total_quantity": 15
  }
}
{
"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

Authorization
string
header
required

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

Idempotency-Key
string

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.

Maximum string length: 255

Body

application/json

Multi-item atomic mode

location_id
string<uuid>
required

Layer 4 -- required

items
object[]
required
Minimum array length: 1
notes
string

Response

Inventory received

object
enum<string>
Available options:
inventory_receive_result