Update Fulfillment Order Signature Requirement
PATCH/api/fulfillment-orders/:fulfillmentOrder/signature
Add or remove "signature required on delivery" on a fulfillment order that has already been submitted to its shipping provider. The change is sent to the provider in the same request, and is saved only if the provider accepts it.
orders:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Use this after submission; before submission, set requested_metadata.signature_required with Edit Fulfillment Order Shipping Details instead.
When it is allowed. The fulfillment order must be status=open with request_status submitted or accepted, have no shipment yet, and its shipping provider must accept the change before shipping (currently Odoo 3PL, while the provider order is still a draft). Check can_update_signature on the fulfillment order before calling.
A change made here is recorded as your decision (requested_metadata.signature_required_source = operator), so a later sales-channel tag change will not undo it. Sending the value the order already has is a no-op and does not contact the provider.
Body fields:
signature_required(required, boolean) —trueto require a signature,falseto remove the requirement.
Responses: 200 returns the updated fulfillment order. 409 when the order can no longer take the change (not submitted, already shipped, or a provider that does not accept it after submission). 422 when the body is invalid or the provider rejects the update — nothing is saved in that case.
Authentication: requires a Bearer token.
Request
Responses
- 200
- 401
- 403
- 404
- 409
- 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.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Conflict
Response Headers
Unprocessable Entity
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.