Receive an outgoing Inventory event
The API runs on your application instance. Schemas and field names come directly from the OpenAPI specification. Session-authenticated requests require a session on that instance.
This operation documents the HTTP request Inventory sends to each subscribed target; it is not an endpoint hosted by Inventory. Delivery is at least once, so receivers must deduplicate by the stable event id. Return any 2xx status to acknowledge the exact request body.
X-Inventory-Event-Id*stringStable event UUID; use it as the receiver's deduplication key.
uuidX-Inventory-Event-Type*stringEvent name, also present in the JSON envelope.
"inventory.resource.created""inventory.resource.updated""inventory.resource.deleted""inventory.resource.merged""inventory.stock.movement.created""inventory.webhook.test"X-Inventory-Delivery-Id*stringUUID of this endpoint-specific delivery record.
uuidX-Inventory-Timestamp*stringUnix timestamp also carried as t in the signature header.
^[0-9]+$X-Inventory-Signature*stringt=<unix>,v1=<hex> where v1 is the lowercase hexadecimal HMAC-SHA256 of <unix>.<exact raw request body> using the endpoint signing secret. Verify the raw bytes before parsing JSON.
^t=[0-9]+,v1=[a-f0-9]{64}$application/json- body
id*stringStable event identifier used by receivers for deduplication across retries.
uuidtype*WebhookOutboundEventTypeEvent name sent in a delivery. Test actions use a dedicated type that cannot be subscribed to.
"inventory.resource.created""inventory.resource.updated""inventory.resource.deleted""inventory.resource.merged""inventory.stock.movement.created""inventory.webhook.test"apiVersion*stringoccurredAt*stringdate-timeactor*|Identity responsible for the event when one is available.
data*Event-specific snapshot: create, update, and delete events include resource; updates also include changedFields; merges include keptResource, removedResource, keptResourceId, and removedResourceId; stock movement events include the immutable movement snapshot; test deliveries include test: true and a human-readable message.
Event acknowledged; Inventory marks the delivery successful.
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "type": "inventory.resource.created", "apiVersion": "1", "occurredAt": "2019-08-24T14:15:22Z", "actor": "string", "data": {}}{ "X-Inventory-Event-Id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "X-Inventory-Event-Type": "inventory.resource.created", "X-Inventory-Delivery-Id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "X-Inventory-Timestamp": "string", "X-Inventory-Signature": "t=1786608000,v1=7d6f2dba7b8d83cd0c87bfce4c34f35621e96fe930a29d309926f7156bdb976c"}Read stock planning inputs and history GET
Requires stock.read. Returns a consistent snapshot for non-archived items with stock settings: up to 90 days of consumption, recent 30-day consumption, daily stock balances and outstanding purchase receipts. Consumption includes issues, production consumption and waste; loans, transfers and corrections are excluded. This endpoint returns inputs; the web client calculates forecast curves and replenishment suggestions. It neither orders nor changes stock.
List outgoing webhook endpoints GET
Requires an authenticated browser session with `webhooks.manage`. Stored targets are redacted in responses, and API bearer tokens are not accepted.