Documentation sections

Authentication and errors

Base URL: https://api.dms.everdeenone.com/v1

The REST API is for your own systems, such as an ERP or product database. All requests go to the base URL below over HTTPS, and every response is JSON.

Authentication

Send your API key in the Authorization header: Bearer edk_…. Each key belongs to one company and carries scopes. A request outside its scopes returns 403 insufficient_scope. Keys never belong in URLs, browsers, or mobile apps.

  • products:read, products:write: products, outlets, and suppliers.
  • documents:read, documents:write: documents, files, and categories.
  • certifications:read, certifications:write: certifications, labels, and halal schemes.
  • webhooks:manage: webhook endpoints and deliveries.

Rate limits

Each key may make 60 requests a minute. Beyond that you get 429 rate_limited with a Retry-After header in seconds.

Errors

Failures share one envelope:

{
  "error": {
    "code": "document_not_found",
    "message": "Not found.",
    "details": {}
  }
}
  • 400: the request is malformed; details.fields names each bad field.
  • 401: the key is missing, revoked, or expired.
  • 403: the key lacks a scope.
  • 404: not found. Records of other companies also return 404.
  • 409: a conflict (version, external_id, idempotency).
  • 422: understood but refused, such as a rejected file.
  • 429: rate limited.
  • 500: our fault; retry with the same Idempotency-Key.

Resources