Overview
The Polygon One API enables you to manage your EUDR compliance data programmatically. It is designed for server-to-server integration with your ERP system (SAP, Oracle, Microsoft Dynamics, etc.). What you can do with the API:- Articles — Create, update, and query articles. EUDR relevance is determined automatically based on the HS code.
- Suppliers — Manage supplier data and link suppliers to articles.
- Orders — Import purchase and sale orders (individually or in batches). Orders can be assigned to DDS statements automatically.
- DDS Statements — Create and manage due diligence statements for TRACES submission.
Authentication
All API endpoints require a bearer token. Generate your API key in the Polygon One dashboard:- Navigate to Settings > API Keys
- Click Create API Key
- Select the required permissions (e.g.
articles:read,orders:write) - Copy the generated key
Authorization header of every request:
Base URL
All API requests are directed to the following URL:Permissions
Each API key is assigned specific permissions that govern access:
Write permissions include the corresponding read permission. A key with
articles:write may therefore perform both write operations and GET requests for articles.
Response Format
Successful responses return JSON data directly. List endpoints return arrays, while single-resource endpoints return objects. Creating a single resource returns HTTP201:
{"rows": [...]}) run asynchronously and return HTTP 202 with a job reference:
GET /api/import-jobs/{jobId} — see the Batch Import (async) guide.
Error Handling
The API uses standard HTTP status codes:
Error responses include an
error field and optionally details:
Duplicate and plausibility warnings
When creating an article, the API runs advisory checks that can return409 instead of creating the article:
- Hard conflict (cannot be overridden): an article with the same
internalArticleNralready exists. The response is409with anerrormessage. - Soft warnings (overridable): a duplicate article name (
duplicateName), a duplicateean(duplicateEan), or an HS-code that does not plausibly match the description (hsMismatch). The response is409with a machine-readablewarningsarray:
acknowledgeWarnings: true. Hard conflicts are never overridden by this flag.