Documentation sections

Sync records from your ERP

Keep EverdeenDMS in step with your ERP by sending your own record ID as external_id. It is unique per company, so pushes never create duplicates.

Upsert by external ID

PUT /v1/{resource}/by_external_id/{external_id} with the full record creates it (201) or replaces it (200). Fields you leave out are cleared. It works for products, outlets, suppliers, documents, and both kinds of certification.

curl -X PUT \
  https://api.dms.everdeenone.com/v1/suppliers/by_external_id/SUP-0042 \
  -H "Authorization: Bearer $EVERDEEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Sinar Spices", "country": "MY"}'

Avoid conflicts

  • A POST with an external_id that already exists returns 409 external_id_taken, with the existing record ID in error.details.existing_id.
  • Every record has a version. Send If-Match: <version> on PATCH or PUT to update only if nobody changed it since you read it; otherwise you get 409 version_conflict.