Receive ASN (Report Receipt)
POST/api/3pl/asns/receipt
Reports receipt of an ASN at the 3PL warehouse. Creates purchase receipts or return receipts in SKU.
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
Request fields:
- type (required): one of
purchase_order,rma,inbound_shipment. Determines which entity theline_idvalues reference. - reference_number (required): the SKU reference of the PO / RMA / inbound shipment being received.
- received_at (required): ISO-8601 datetime the goods were received.
- lines (required, min 1): array of receipt lines.
- lines[].line_id (required): the purchase order line / RMA line / inbound shipment line ID, depending on
type. - lines[].quantity_received (required): quantity received for that line (>= 0).
Warehouse resolution: a purchase_order-type ASN is accepted when the 3PL partner can access EITHER the purchase order's header destination warehouse OR any of the destination warehouses of the purchase order's inbound shipments. Received goods land in the inbound shipment's destination warehouse — which may differ from the PO header — so one PO can be received across multiple 3PL warehouses.
Idempotency: Identical receipts are de-duplicated within a 10-minute window. The dedup key is (integration instance, type, reference_number, received_at, sorted line/quantity pairs) — any two requests with the same fingerprint will only materialise one receipt. The duplicate request still returns HTTP 200, but with the message ASN receipt already processed (duplicate ignored). This protects against client retries (e.g. Infor IONAPI Mingle re-firing with a fresh request id after a slow receive times out). To submit a genuinely distinct receipt for the same document, vary received_at or the line/quantity payload.
Authentication: Requires 3PL integration Bearer token (with 3pl:write ability). Rate limit: 120 requests per 60 seconds.
Request
Responses
- 200
- 401
- 403
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Unprocessable Content
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.