Errors
precondition_ failed
412. The If-Match entity tag you sent does not match the current one: the resource changed since you read it. The write was rejected before doing anything. HTTP 412.
- HTTP status
- 412
- Problem type
- https://docs.filmo.io/errors/precondition_failed
Example
When it happens
412. The If-Match entity tag you sent does not match the current one: the resource changed since you read it. The write was rejected before doing anything.
What to do
Read the resource again, redo your change on top of the fresh state, and send it with the new ETag. Do not resend the old body with the new tag without looking at what changed.
Retry
Read the resource first412 precondition_failed
Read the resource again, redo your change on top of it and send the new
ETag.
Returned by
78 operations
POST /api/v1/contacts— Create a contactPATCH /api/v1/contacts/{contactId}— Update a contactDELETE /api/v1/contacts/{contactId}— Delete a contactPATCH /api/v1/contacts/{contactId}/preferences— Update the commercial terms of a contactPOST /api/v1/contacts/{contactId}/addresses— Add an address to a contactPATCH /api/v1/contacts/{contactId}/addresses/{addressId}— Update an address of a contactDELETE /api/v1/contacts/{contactId}/addresses/{addressId}— Remove an address from a contactPOST /api/v1/contacts/{contactId}/related-contacts— Relate two contactsPATCH /api/v1/contacts/{contactId}/related-contacts/{relatedContactId}— Change the role of a relationshipDELETE /api/v1/contacts/{contactId}/related-contacts/{relatedContactId}— Unrelate two contactsPOST /api/v1/items— Create an itemPATCH /api/v1/items/{itemId}— Update an itemDELETE /api/v1/items/{itemId}— Delete an itemPATCH /api/v1/items/{itemId}/physical-properties— Update weight and dimensionsPATCH /api/v1/items/{itemId}/pricing— Update the pricing of an itemPOST /api/v1/orders— Create an orderPATCH /api/v1/orders/{orderId}— Update the header of an orderPOST /api/v1/projects— Create a projectPUT /api/v1/projects/{projectId}/archive— Archive or restore a projectPATCH /api/v1/projects/{projectId}— Update a projectPATCH /api/v1/serialized-items/{serializedItemId}— Update a serialized itemPATCH /api/v1/spaces/{spaceId}— Update a warehouse or spaceDELETE /api/v1/spaces/{spaceId}— Delete a spacePUT /api/v1/spaces/{spaceId}/amenities— Replace the amenities and equipmentPATCH /api/v1/spaces/{spaceId}/pricing— Update the pricing of a spacePOST /api/v1/repair-tickets— Create a repair ticketPATCH /api/v1/repair-tickets/{ticketId}— Update a repair ticketPOST /api/v1/vehicles— Create a vehiclePATCH /api/v1/vehicles/{vehicleId}— Update a vehicleDELETE /api/v1/vehicles/{vehicleId}— Delete a vehiclePOST /api/v1/staff— Create a staff memberPATCH /api/v1/staff/{staffId}— Update a staff memberDELETE /api/v1/staff/{staffId}— Delete a staff memberPATCH /api/v1/subrents/{subrentId}— Update a subrentPATCH /api/v1/purchase-orders/{purchaseOrderId}— Update a purchase orderPOST /api/v1/kits— Create a kitPATCH /api/v1/kits/{kitId}— Update a kitPOST /api/v1/services— Create a servicePATCH /api/v1/services/{serviceId}— Update a servicePOST /api/v1/internal-services— Create an internal servicePATCH /api/v1/internal-services/{internalServiceId}— Update an internal servicePOST /api/v1/incidents— Open an incidentPATCH /api/v1/incidents/{incidentId}— Update an incidentPOST /api/v1/incidents/{incidentId}/comments— Comment on an incidentPOST /api/v1/tasks— Create a taskPATCH /api/v1/tasks/{taskId}— Update a taskDELETE /api/v1/tasks/{taskId}— Delete a taskPOST /api/v1/crm/opportunities— Create an opportunityPATCH /api/v1/crm/opportunities/{opportunityId}— Update an opportunityPATCH /api/v1/crm/opportunities/{opportunityId}/stage— Move an opportunity to another stagePOST /api/v1/crm/opportunities/{opportunityId}/close— Close an opportunityPOST /api/v1/crm/opportunities/{opportunityId}/links— Link a document to an opportunityPOST /api/v1/purchase-orders/{purchaseOrderId}/approve— Approve a purchase orderPOST /api/v1/purchase-orders/{purchaseOrderId}/receive— Receive material from a purchase orderPOST /api/v1/treasury/payments— Record an incoming or outgoing paymentPATCH /api/v1/treasury/payments/{paymentId}— Update a paymentPOST /api/v1/treasury/payments/{paymentId}/links— Link a payment to a documentPOST /api/v1/orders/{orderId}/cancel— Cancel an orderPUT /api/v1/orders/{orderId}/archive— Archive or restore an orderPUT /api/v1/items/{itemId}/accessories— Update the accessories of an itemPUT /api/v1/items/{itemId}/alternatives— Update the alternatives of an itemPATCH /api/v1/items/{itemId}/variants/{variantId}— Update a variant of an itemPOST /api/v1/orders/{orderId}/reserve— Reserve an orderPOST /api/v1/orders/{orderId}/unreserve— Unreserve an orderPOST /api/v1/projects/{projectId}/orders/{orderId}— Link an order to a projectDELETE /api/v1/projects/{projectId}/orders/{orderId}— Unlink an order from a projectPOST /api/v1/invoices/{invoiceId}/validate— Validate an invoicePOST /api/v1/invoices/{invoiceId}/void— Void an invoicePOST /api/v1/credit-notes/{creditNoteId}/validate— Validate a credit notePOST /api/v1/credit-notes/{creditNoteId}/void— Void a credit notePATCH /api/v1/proformas/{proformaId}/status— Change the commercial status of a proformaPATCH /api/v1/quotes/{quoteId}/status— Change the commercial status of a quotePOST /api/v1/contracts/{contractId}/validate— Validate a contractPOST /api/v1/contracts/{contractId}/sign— Record the signature of a contractPOST /api/v1/contracts/{contractId}/void— Void a contractPOST /api/v1/contracts/{contractId}/cancel— Cancel a contract operativelyPOST /api/v1/supplier-invoices/{supplierInvoiceId}/validate— Validate a supplier invoicePOST /api/v1/supplier-invoices/{supplierInvoiceId}/void— Void a supplier invoice
Through MCP
A tool call that fails comes back with `isError` set and the problem as structured content, with the same `code`.
Was this page helpful?