Transfer Material to Job
Authentication
Path parameters
Request
ID of the location to transfer from. Must be an active warehouse or truck belonging to the business — a job cannot be used as a source.
Quantity to transfer. Must be greater than zero and available at the source location — transfers exceeding the source’s on-hand quantity are rejected.
The exact inventory record to transfer from, as returned by GET /locations/{id}/materials. Provide either this or materialId.
Narrows materialId to a specific variation. Only valid together with materialId.
Catalog material ID to transfer. Must resolve to exactly one inventory record at the source location — when several exist, narrow with materialVariationId or pass materialDetailsId instead.
Transfer reason recorded on the activity. Accepts one of the default reason keys (CONSUMED, DAMAGED, RESTOCKED, RETURNED, SOLD, STOCKTAKE, STOLEN, DELETED, REPLENISHED, RECONCILED, ADJUSTMENT, OTHER_BUSINESS, WITHOUT_REASON, DEFECTIVE, WARRANTY_REPLACEMENT) or the ID of a custom transfer reason code configured for the business. When omitted, “Without Reason” is recorded.
Free-form note recorded on the resulting activity. Maximum 500 characters.
Serial numbers to transfer, when the material is serialized. Each serial must be present at the source location, and each serialized unit becomes its own quantity-1 row on the job. When supplied, the number of serials must equal quantity — supply exactly one serial per unit being transferred. Omit the field entirely to transfer non-serialized stock.
Response
Job rows affected by the transfer. A non-serialized transfer touches a single row; serialized units come back as one row per serial number.