# Update/create fulfilment request by ID Endpoint: PUT /fulfilmentRequests/{fulfilmentRequestId} Version: 1.0.0 Security: M2X_auth_application ## Path parameters: - `fulfilmentRequestId` (string, required) The fulfilment request Id ## Request fields (application/json): - `fulfilmentRequest` (object) - `fulfilmentRequest.externalReference` (string) - `fulfilmentRequest.externalNote` (string) - `fulfilmentRequest.internalNote` (string) - `fulfilmentRequest.backOrder` (boolean) - `fulfilmentRequest.urgent` (boolean) - `fulfilmentRequest.labels` (array) Extra labels for picking - `fulfilmentRequest.noPayment` (boolean) Whether upon acceptance the carrier shall get a payment or not (e.g. freight forward) - `fulfilmentRequest.noPrice` (boolean) Whether the booking is free of charge, no offer generated - `fulfilmentRequest.requestedQuantity` (number) The product quantity - `fulfilmentRequest.massKgPerUnit` (number) Optional override for the weight per unit - `fulfilmentRequest.spatialRequirementPerUnit` (number) Optional override for the volume per unit - `fulfilmentRequest.fromDateAndTimeConstraint` (object) - `fulfilmentRequest.fromDateAndTimeConstraint.date` (string, required) Day required (YYYY-MM-DD) - `fulfilmentRequest.fromDateAndTimeConstraint.timezone` (string, required) IANA (aka TZ database) timezone name Example: "Pacific/Auckland" - `fulfilmentRequest.fromDateAndTimeConstraint.timeConstraint` (any) - `fulfilmentRequest.fromTimeWindows` (array) - `fulfilmentRequest.fromTimeWindows.start` (integer, required) Epoch timestamp (seconds since 1970), start of the window - `fulfilmentRequest.fromTimeWindows.end` (integer, required) Epoch timestamp (seconds since 1970), end of the window - `fulfilmentRequest.fromContactDetails` (object) - `fulfilmentRequest.fromContactDetails.email` (string) - `fulfilmentRequest.fromContactDetails.phone` (string) - `fulfilmentRequest.fromContactDetails.name` (string) - `fulfilmentRequest.toContactDetails` (object) - `fulfilmentRequest.toDateAndTimeConstraint` (object) - `fulfilmentRequest.toTimeWindows` (array) - `fulfilmentRequest.properties` (object,null) A key value store containing bespoke properties usable for pricing and optimisation - `fulfilmentRequest.metadata` (object,null) Opaque passenger data - `mappingRequests` (object) - `mappingRequests.carrier` (object) - `mappingRequests.carrier.carrierExternalId` (string) External carrier id for this booking - `mappingRequests.content` (object,null) Specific information about the content of the booking - `mappingRequests.content.description` (string) Description of the payload - `mappingRequests.content.productBundle` (object) Details of the products carted - `mappingRequests.content.productBundle.payload` (array) - `mappingRequests.content.productBundle.payload.description` (string) - `mappingRequests.content.productBundle.payload.itemId` (string) - `mappingRequests.content.productBundle.payload.requestedQuantity` (number) This item quantity - `mappingRequests.content.productBundle.payload.unitOfMeasure` (string) Optional unit of measure (e.g. bags) - `mappingRequests.content.productBundle.payload.product` (object) - `mappingRequests.content.productBundle.payload.product.productCode` (string,null) M2X internal tracking id for the product code used - `mappingRequests.content.productBundle.payload.product.productCodeExternalId` (string,null) External Id for product tracking - `mappingRequests.content.productBundle.payload.product.productDescription` (string,null) Helps user creating the missing mapping upon mapping failure - `mappingRequests.content.productBundle.payload.propertyRequests` (array) - `mappingRequests.content.productBundle.payload.propertyRequests.fieldId` (string) The property field to fill - `mappingRequests.content.productBundle.payload.propertyRequests.fieldLabel` (string) The property field label for the UI - `mappingRequests.content.productBundle.payload.propertyRequests.type` (string) The type of input Enum: "select", "selectWithQuantity", "string", "stringWithQuantity", "boolean", "number" - `mappingRequests.content.productBundle.payload.propertyRequests.items` (array) In case of a select the items to select from - `mappingRequests.content.productBundle.payload.propertyRequests.items.text` (string) - `mappingRequests.content.productBundle.payload.propertyRequests.items.value` (string) - `mappingRequests.fromLocation` (object) - `mappingRequests.fromLocation.locationId` (string,null) M2X internal tracking id for the location code used - `mappingRequests.fromLocation.addressText` (string,null) Address, if present and no locationId or external Id is matching, will try to geocode - `mappingRequests.fromLocation.locationExternalId` (string,null) External Id - `mappingRequests.fromLocation.locationName` (string,null) Helps user creating the missing mapping upon mapping failure, or used to save location if new - `mappingRequests.fromLocation.latitude` (number) - `mappingRequests.fromLocation.longitude` (number) - `mappingRequests.fromLocation.saveIfUnknown` (boolean) If no existing location is found, locationId provided and lat/lng provided or geocode successful, will create location - `mappingRequests.fromLocation.locationNameResolutionEnabled` (boolean) Try to resolve location by name, quick weak method, disabled by default - `mappingRequests.fromLocation.useDefaultParentGroup` (boolean) If a parent location group is found, will associate location group - `mappingRequests.fromLocation.parentGroupExternalId` (string,null) Parent Group External Id used in case of location creation - `mappingRequests.fromLocation.parentGroupName` (string,null) Parent Group Name for creation if necessary - `mappingRequests.fromLocation.saveGroupIfUnknown` (boolean) If no existing parent location group is found, a parentGroupExternalId is provided, a parentGroupName is provided, a location needs to be created, will create group - `mappingRequests.fromLocationGroup` (object) - `mappingRequests.fromLocationGroup.groupId` (string,null) M2X internal tracking id for the location code used - `mappingRequests.fromLocationGroup.externalId` (string,null) External Id - `mappingRequests.fromLocationGroup.usePrimaryLocation` (boolean) Will use primary location of this supplier. If specified, will ignore location - `mappingRequests.fromLocationGroup.subLocationExternalId` (string,null) External Id of one of the group sub location. If specified, will ignore location - `mappingRequests.toLocation` (object) - `mappingRequests.toLocationGroup` (object) ## Response 200 fields (application/json): - `success` (boolean) Example: true ## Response 400 fields (application/json): - `message` (string) Example: "missing data" ## Response 202 fields