Retrieve a paginated list of articles. Supports filtering by article number, HS code, supplier number, order number, species, commodity group, article type, and EUDR relevance.
plots lists the distinct plots of the article without geometry, at most 1000 entries (ordered by id); plotsTruncated: true means more exist. Fetch a plot’s geometry via GET /api/v1/plots/{id}.supplierLinks lists the article’s supplier links as [{ supplierId, supplierArticleId }] ([] when the article has no supplier). supplierArticleId addresses the article for exactly one supplier — pass it in supplierArticleIds of POST /api/v1/plots and as supplierArticleId to GET /api/v1/evidence. The article embedded in order lines carries the same field. See Per-order origin via ERP.
Comma-separated list of the resource's top-level keys to return (per element for a list), e.g. id,name; omit for the full body. Top-level only; whitespace is trimmed and duplicates count once. fields never adds keys: a selected optional key that is absent on a row stays absent. 400 when passed more than once, when empty, or when it names an unknown key (the error names it and lists the allowed ones).
Internal article number (your ERP ID), unique per company. A per-order copy of an article carries <internalArticleNr>#<orderNumber>; the number to show to people is externalArticleNr when set, else internalArticleNr.
standing: the article's source is fixed. perOrder: the article is a template whose source varies per order; order import creates one copy per order from it.
Stored result of an advisory check of the HS code against the article description, or null when not checked. Stored only: it never warns about or blocks a create or update. The object's shape is not part of the v1 contract and may change — do not depend on it.
Certifications (e.g. FSC, PEFC) on record for the article; absent when the article has no supplier link. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.
The article's supplier links. supplierArticleId addresses this article for one supplier: pass it in supplierArticleIds of POST /api/v1/plots. Present on the article endpoints and on order-line articles; [] when the article has no supplier.
Upstream input articles recorded for the article's supply chain; absent when there are none. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Polygon One Helpcenter","colors":{"primary":"#15803D","light":"#07C983","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/polygonone/AMoRp9VbcW46gNsT/logo/light.svg?fit=max\u0026auto=format\u0026n=AMoRp9VbcW46gNsT\u0026q=85\u0026s=4a316da81d50e49c7f9f6480a235558e","dark":"https://mintcdn.com/polygonone/AMoRp9VbcW46gNsT/logo/dark.svg?fit=max\u0026auto=format\u0026n=AMoRp9VbcW46gNsT\u0026q=85\u0026s=2f010ff600ff4880f154678933ee7214"},"favicon":"https://mintcdn.com/polygonone/ySkQMGGRhMNkPSTt/favicon.svg?fit=max\u0026auto=format\u0026n=ySkQMGGRhMNkPSTt\u0026q=85\u0026s=90cbe4fd3ee2dbffcb8de6167a8d47f3","api":{"playground":{"display":"simple"}},"navbar":{"links":[{"href":"mailto:help@polygon-one.eu","label":"Support"}],"primary":{"type":"button","label":"App","href":"https://app.polygon-one.com/"}},"footer":{"socials":{"website":"https://polygon-one.com"}},"search":{"prompt":"Suche..."},"integrations":{"posthog":{"apiKey":"phc_uKa9gMArvxxjzGfYWUWS4YLP7yT7gPETBzA3ktR7mUTD","apiHost":"https://eu.i.posthog.com","sessionRecording":false}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[]},"languages":[{"language":"de","default":true,"href":""},{"language":"en","href":"en"},{"language":"fr","href":"fr/lieferanten/start"},{"language":"es","href":"es/lieferanten/start"},{"language":"zh","href":"zh/lieferanten/start"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"polygonone","hasAudioNarration":false,"actualSubdomain":"polygonone","customDomains":["help.polygon-one.com"],"gitSource":{"type":"github","owner":"polygon-one","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae0b07ed03bec028f0a63ad","collectionId":"0d95f0d6-0f41-4003-828c-a1abdfd66982","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae0b07ed03bec028f0a63ad"},"entitlements":{},"buildId":"6ae0b07ed03bec028f0a63ad","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"de","tag":"API-Referenz","count":62},{"language":"en","tag":"API Reference","count":62},{"language":"de","tag":"EUDR","count":53},{"language":"en","tag":"EUDR","count":53},{"language":"de","tag":"Für Lieferanten","count":28},{"language":"en","tag":"For suppliers","count":28},{"language":"es","tag":"Para proveedores","count":28},{"language":"fr","tag":"Pour les fournisseurs","count":28},{"language":"zh","tag":"供应商帮助","count":28},{"language":"de","tag":"PPWR","count":25},{"language":"en","tag":"PPWR","count":25},{"language":"de","tag":"API-Dokumentation","count":10},{"language":"en","tag":"API Documentation","count":10},{"language":"de","tag":"PPWR – Verpackungsdaten","count":9},{"language":"de","tag":"Ihr Datenformat","count":9},{"language":"en","tag":"PPWR – Packaging Data","count":9},{"language":"en","tag":"Your data format","count":9},{"language":"es","tag":"Su formato de datos","count":9},{"language":"fr","tag":"Votre format de données","count":9},{"language":"zh","tag":"数据格式指南","count":9},{"language":"de","tag":"Datensammlung (Art. 9 EUDR)","count":8},{"language":"de","tag":"DDS \u0026 Bestellungen (Art. 3 EUDR)","count":8},{"language":"de","tag":"Optional","count":8},{"language":"en","tag":"Data Collection (Art. 9 EUDR)","count":8},{"language":"en","tag":"DDS \u0026 Orders (Art. 3 EUDR)","count":8},{"language":"en","tag":"Optional","count":8},{"language":"es","tag":"Solicitud EUDR","count":7},{"language":"fr","tag":"Demande EUDR","count":7},{"language":"zh","tag":"EUDR 请求","count":7},{"language":"es","tag":"Espacio del proveedor","count":4},{"language":"es","tag":"Solicitud PPWR","count":4},{"language":"fr","tag":"Espace fournisseur","count":4},{"language":"fr","tag":"Demande PPWR","count":4},{"language":"zh","tag":"供应商工作区","count":4},{"language":"zh","tag":"PPWR 请求","count":4},{"language":"es","tag":"Resolver un problema","count":3},{"language":"fr","tag":"Résoudre un problème","count":3},{"language":"zh","tag":"更正、审核和状态","count":3},{"language":"es","tag":"Empiece aquí","count":1},{"language":"fr","tag":"Commencer ici","count":1},{"language":"zh","tag":"从这里开始","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"html:has(#content[data-page-href$=\"/lieferanten/start\"]) #pagination,html:has(#content[data-page-href*=\"/lieferanten/\"]) #mobile-nav #navigation-items>div:has(>#localization-select-trigger)>div:has(>button[aria-haspopup=menu]),html:has(#content[data-page-href*=\"/lieferanten/\"]) #navbar div:has(>div>a[href$=\"/lieferanten/start\"]),html:has(#content[data-page-href*=\"/lieferanten/\"]) #navbar li:has(>a[href=\"https://app.polygon-one.com/\"]),html:has(#content[data-page-href*=\"/lieferanten/\"]) [role=dialog] li:has(>a[href=\"https://app.polygon-one.com/\"]){display:none!important}"}],"page":{"pagePath":"en/api-reference/endpoint/articles/list","slug":"/en/api-reference/endpoint/articles/list","pageMetadata":{"title":"List Articles","openapi":"GET /api/v1/articles","description":"Retrieve a paginated list of articles. Supports filtering by article number, HS code, supplier number, order number, species, commodity group, article type, and EUDR relevance.","href":"/en/api-reference/endpoint/articles/list"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Retrieve a paginated list of articles. Supports filtering by article number, HS code, supplier number, order number, species, commodity group, article type, and EUDR relevance.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,..._provideComponents(),...props.components};return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`plots`}),` lists the distinct plots of the article without geometry, at most 1000 entries (ordered by `,_jsx(_components.code,{children:`id`}),`); `,_jsx(_components.code,{children:`plotsTruncated: true`}),` means more exist. Fetch a plot’s geometry via `,_jsx(_components.code,{children:`GET /api/v1/plots/{id}`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`supplierLinks`}),` lists the article’s supplier links as `,_jsx(_components.code,{children:`[{ supplierId, supplierArticleId }]`}),` (`,_jsx(_components.code,{children:`[]`}),` when the article has no supplier). `,_jsx(_components.code,{children:`supplierArticleId`}),` addresses the article for exactly one supplier — pass it in `,_jsx(_components.code,{children:`supplierArticleIds`}),` of `,_jsx(_components.code,{children:`POST /api/v1/plots`}),` and as `,_jsx(_components.code,{children:`supplierArticleId`}),` to `,_jsx(_components.code,{children:`GET /api/v1/evidence`}),`. The article embedded in order lines carries the same field. See `,_jsx(_components.a,{href:`/en/api-reference/orders#per-order-origin-via-erp`,children:`Per-order origin via ERP`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"List Articles","openapi":"GET /api/v1/articles","description":"Retrieve a paginated list of articles. Supports filtering by article number, HS code, supplier number, order number, species, commodity group, article type, and EUDR relevance.","href":"/en/api-reference/endpoint/articles/list"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"listArticles","summary":"List Articles","description":"Retrieve a paginated list of articles. Supports filtering by article number, HS code, supplier number, order number, species, commodity group, article type, and EUDR relevance.","tags":["Articles"],"parameters":["478572dd-8007-4afa-9a90-edafd768bf01","16c9b98b-b67f-4450-a6b5-87763cea0e87","eee8c51f-d7e2-401d-97c8-c69150a7870f","6434f861-d7f6-450e-b2ec-5b2f39653c33","80521f7c-6e39-459e-b329-81c1a38d733b","df7996bb-a4a0-4a3a-99b5-d0064e4f59ba","4ac32c25-f91f-4fb0-b5c9-769c17ac1d05","f7796c63-4af0-4255-bdff-77e6b43a6374","72bffea4-96f8-4626-a164-eecc19fb9155","92980b0f-f0aa-4475-950d-079fd33bc24a","0cd03289-7217-49a0-98df-b72c0091760c","f0a36408-0943-4653-a56e-ea324149e850"],"responses":{"200":"0b30cc77-33c8-451d-ad1d-197f3ef9dc42","400":"9b6c812f-eab2-4056-bb6f-024c0a61f85b","401":"42baa80a-2d90-4454-8738-4480f13b3944","403":"67a0847a-0a00-482e-9f96-78ecaa81b613","429":"1e1d3040-7bc3-4731-9e6a-74f737f3f68a","500":"29caa63f-a787-47b3-8ea6-a60274fe4352"},"method":"get","type":"path","servers":["525ee7a2-0b29-4150-83c9-6311c95aea37"],"security":["bae4c7a0-d716-46dc-bfdc-909a8704f12f"],"path":"/api/v1/articles","baseUrlOptions":["https://app.polygon-one.com"],"title":"List Articles","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"478572dd-8007-4afa-9a90-edafd768bf01":{"schema":{"type":"string","description":"Filter by internal article number (ERP ID), exact match. A per-order copy of an article is `\u003cinternalArticleNr>#\u003corderNumber>` — encode `#` as `%23`.","isRequired":false,"uniqueKey":"","typeLabel":"string"},"required":false,"description":"Filter by internal article number (ERP ID), exact match. A per-order copy of an article is `\u003cinternalArticleNr>#\u003corderNumber>` — encode `#` as `%23`.","name":"internalArticleNr","in":"query"},"16c9b98b-b67f-4450-a6b5-87763cea0e87":{"schema":{"type":"string","description":"Filter by external article number","isRequired":false,"uniqueKey":"","typeLabel":"string"},"required":false,"description":"Filter by external article number","name":"externalArticleNr","in":"query"},"eee8c51f-d7e2-401d-97c8-c69150a7870f":{"schema":{"type":"string","description":"Filter by HS code","isRequired":false,"uniqueKey":"","typeLabel":"string"},"required":false,"description":"Filter by HS code","name":"hsCode","in":"query"},"6434f861-d7f6-450e-b2ec-5b2f39653c33":{"schema":{"type":"string","description":"Filter by the supplier number from your ERP (`externalSupplierId`) of a supplier linked to the article","isRequired":false,"uniqueKey":"","typeLabel":"string"},"required":false,"description":"Filter by the supplier number from your ERP (`externalSupplierId`) of a supplier linked to the article","name":"externalSupplierId","in":"query"},"80521f7c-6e39-459e-b329-81c1a38d733b":{"schema":{"type":"string","description":"Filter by order number: articles on a line of that order","isRequired":false,"uniqueKey":"","typeLabel":"string"},"required":false,"description":"Filter by order number: articles on a line of that order","name":"orderNumber","in":"query"},"df7996bb-a4a0-4a3a-99b5-d0064e4f59ba":{"schema":{"type":"string","description":"Filter by species: articles with a linked plot naming this scientific name (exact match)","isRequired":false,"uniqueKey":"","typeLabel":"string"},"required":false,"description":"Filter by species: articles with a linked plot naming this scientific name (exact match)","name":"species","in":"query"},"4ac32c25-f91f-4fb0-b5c9-769c17ac1d05":{"schema":{"type":"string","enum":["cattle","cocoa","coffee","oil_palm","rubber","soya","wood","non_relevant"],"description":"Filter by commodity group","isRequired":false,"uniqueKey":"","typeLabel":"enum\u003cstring>"},"required":false,"description":"Filter by commodity group","name":"commodityGroup","in":"query"},"f7796c63-4af0-4255-bdff-77e6b43a6374":{"schema":{"type":"string","enum":["purchase","sale"],"description":"Filter by article type","isRequired":false,"uniqueKey":"","typeLabel":"enum\u003cstring>"},"required":false,"description":"Filter by article type","name":"articleType","in":"query"},"72bffea4-96f8-4626-a164-eecc19fb9155":{"schema":{"type":"string","enum":["true","false"],"description":"Filter by EUDR relevance","isRequired":false,"uniqueKey":"","typeLabel":"enum\u003cstring>"},"required":false,"description":"Filter by EUDR relevance","name":"eudrRelevant","in":"query"},"92980b0f-f0aa-4475-950d-079fd33bc24a":{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":100,"description":"Maximum number of results to return (default 100, max 1000).","isRequired":false,"uniqueKey":"","typeLabel":"integer"},"required":false,"description":"Maximum number of results to return (default 100, max 1000).","name":"limit","in":"query"},"0cd03289-7217-49a0-98df-b72c0091760c":{"schema":{"oneOf":[{"type":"integer","minimum":0,"default":0,"description":"Number of results to skip for pagination.","uniqueKey":"oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"default":0,"description":"Number of results to skip for pagination.","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"integer | null"},"required":false,"description":"Number of results to skip for pagination.","name":"offset","in":"query"},"f0a36408-0943-4653-a56e-ea324149e850":{"schema":{"type":"string","description":"Comma-separated list of the resource's top-level keys to return (per element for a list), e.g. `id,name`; omit for the full body. Top-level only; whitespace is trimmed and duplicates count once. `fields` never adds keys: a selected optional key that is absent on a row stays absent. `400` when passed more than once, when empty, or when it names an unknown key (the error names it and lists the allowed ones).","isRequired":false,"uniqueKey":"","typeLabel":"string"},"required":false,"description":"Comma-separated list of the resource's top-level keys to return (per element for a list), e.g. `id,name`; omit for the full body. Top-level only; whitespace is trimmed and duplicates count once. `fields` never adds keys: a selected optional key that is absent on a row stays absent. `400` when passed more than once, when empty, or when it names an unknown key (the error names it and lists the allowed ones).","name":"fields","in":"query"}},"responses":{"0b30cc77-33c8-451d-ad1d-197f3ef9dc42":{"description":"List of articles","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the article.","isRequired":true,"uniqueKey":"items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","description":"Article name.","isRequired":true,"uniqueKey":"items.[INDEX].name","typeLabel":"string"},"shortDescription":{"type":"string","description":"Short description of the article; empty string when none was given.","isRequired":true,"uniqueKey":"items.[INDEX].shortDescription","typeLabel":"string"},"internalArticleNr":{"type":"string","description":"Internal article number (your ERP ID), unique per company. A per-order copy of an article carries `\u003cinternalArticleNr>#\u003corderNumber>`; the number to show to people is `externalArticleNr` when set, else `internalArticleNr`.","isRequired":true,"uniqueKey":"items.[INDEX].internalArticleNr","typeLabel":"string"},"externalArticleNr":{"oneOf":[{"type":"string","description":"External article number, e.g. a supplier's or customer's number. On a per-order copy it holds the original article's `internalArticleNr`.","isRequired":true,"uniqueKey":"items.[INDEX].externalArticleNr.oneOf.0","typeLabel":"string"},{"type":"null","description":"External article number, e.g. a supplier's or customer's number. On a per-order copy it holds the original article's `internalArticleNr`.","isRequired":true,"uniqueKey":"items.[INDEX].externalArticleNr.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].externalArticleNr","typeLabel":"string | null"},"ean":{"oneOf":[{"type":"string","description":"EAN / GTIN barcode, or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].ean.oneOf.0","typeLabel":"string"},{"type":"null","description":"EAN / GTIN barcode, or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].ean.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].ean","typeLabel":"string | null"},"hsCode":{"type":"string","description":"Harmonized System code","isRequired":true,"uniqueKey":"items.[INDEX].hsCode","typeLabel":"string"},"articleType":{"type":"string","description":"`purchase` (bought from a supplier) or `sale` (sold by your company).","isRequired":true,"uniqueKey":"items.[INDEX].articleType","typeLabel":"string"},"eudrRelevant":{"type":"boolean","description":"Automatically determined from HS code","isRequired":true,"uniqueKey":"items.[INDEX].eudrRelevant","typeLabel":"boolean"},"needsManualCheck":{"type":"boolean","description":"`true` when the EUDR classification derived from the HS code should be checked by a person.","isRequired":true,"uniqueKey":"items.[INDEX].needsManualCheck","typeLabel":"boolean"},"sourceScope":{"type":"string","description":"`standing`: the article's source is fixed. `perOrder`: the article is a template whose source varies per order; order import creates one copy per order from it.","isRequired":true,"uniqueKey":"items.[INDEX].sourceScope","typeLabel":"string"},"hsPlausibility":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"items.[INDEX].hsPlausibility.oneOf.0.additionalProperties","typeLabel":"any"},"description":"Stored result of an advisory check of the HS code against the article description, or `null` when not checked. Stored only: it never warns about or blocks a create or update. The object's shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true,"uniqueKey":"items.[INDEX].hsPlausibility.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{}],"uniqueKey":"items.[INDEX].hsPlausibility.oneOf.1.additionalProperties","typeLabel":"any"},"description":"Stored result of an advisory check of the HS code against the article description, or `null` when not checked. Stored only: it never warns about or blocks a create or update. The object's shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true,"uniqueKey":"items.[INDEX].hsPlausibility.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].hsPlausibility","typeLabel":"object | null"},"suppliers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the supplier.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","description":"Supplier company name.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].name","typeLabel":"string"},"contactName":{"type":"string","description":"Contact person; empty string when none is recorded.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].contactName","typeLabel":"string"},"country":{"type":"string","description":"Country of the supplier as recorded (the value sent on create, e.g. a country name); empty string when unknown.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].country","typeLabel":"string"},"status":{"type":"string","description":"Deprecated: legacy data-completeness flag, no longer maintained. Read `articles[].complianceResults` for the supplier's compliance status. One of: `data_incomplete`, `data_complete`, `dds_submitted`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].status","typeLabel":"string"},"externalSupplierId":{"oneOf":[{"type":"string","description":"External ID from your ERP system","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].externalSupplierId.oneOf.0","typeLabel":"string"},{"type":"null","description":"External ID from your ERP system","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].externalSupplierId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].externalSupplierId","typeLabel":"string | null"},"email":{"type":"string","description":"Contact email; empty string when none is recorded.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].email","typeLabel":"string"},"articles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the article.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","description":"Article name.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].name","typeLabel":"string"},"shortDescription":{"type":"string","description":"Short description of the article; empty string when none was given.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].shortDescription","typeLabel":"string"},"internalArticleNr":{"type":"string","description":"Internal article number (your ERP ID), unique per company. A per-order copy of an article carries `\u003cinternalArticleNr>#\u003corderNumber>`; the number to show to people is `externalArticleNr` when set, else `internalArticleNr`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].internalArticleNr","typeLabel":"string"},"externalArticleNr":{"oneOf":[{"type":"string","description":"External article number, e.g. a supplier's or customer's number. On a per-order copy it holds the original article's `internalArticleNr`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].externalArticleNr.oneOf.0","typeLabel":"string"},{"type":"null","description":"External article number, e.g. a supplier's or customer's number. On a per-order copy it holds the original article's `internalArticleNr`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].externalArticleNr.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].externalArticleNr","typeLabel":"string | null"},"ean":{"oneOf":[{"type":"string","description":"EAN / GTIN barcode, or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].ean.oneOf.0","typeLabel":"string"},{"type":"null","description":"EAN / GTIN barcode, or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].ean.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].ean","typeLabel":"string | null"},"hsCode":{"type":"string","description":"Harmonized System code","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].hsCode","typeLabel":"string"},"articleType":{"type":"string","description":"`purchase` (bought from a supplier) or `sale` (sold by your company).","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].articleType","typeLabel":"string"},"eudrRelevant":{"type":"boolean","description":"Automatically determined from HS code","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].eudrRelevant","typeLabel":"boolean"},"needsManualCheck":{"type":"boolean","description":"`true` when the EUDR classification derived from the HS code should be checked by a person.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].needsManualCheck","typeLabel":"boolean"},"sourceScope":{"type":"string","description":"`standing`: the article's source is fixed. `perOrder`: the article is a template whose source varies per order; order import creates one copy per order from it.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].sourceScope","typeLabel":"string"},"hsPlausibility":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].hsPlausibility.oneOf.0.additionalProperties","typeLabel":"any"},"description":"Stored result of an advisory check of the HS code against the article description, or `null` when not checked. Stored only: it never warns about or blocks a create or update. The object's shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].hsPlausibility.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{}],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].hsPlausibility.oneOf.1.additionalProperties","typeLabel":"any"},"description":"Stored result of an advisory check of the HS code against the article description, or `null` when not checked. Stored only: it never warns about or blocks a create or update. The object's shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].hsPlausibility.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].hsPlausibility","typeLabel":"object | null"},"suppliers":{"type":"array","items":{"$circularRef":"23846a46-9330-4037-a213-f86cdc9d94de"},"description":"The suppliers linked to the article. Embedded suppliers carry empty `articles` and `plots`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].suppliers","typeLabel":"array"},"plots":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the plot.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].id","typeLabel":"string"},"companyId":{"type":"string","description":"UUID of your company (the plot's owner).","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].companyId","typeLabel":"string"},"name":{"type":"string","description":"Plot name; empty string when none was given.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].name","typeLabel":"string"},"species":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].species.items.[INDEX]","typeLabel":"any"},"description":"Tree species recorded for the plot (entries as sent on create, with `commonName` and `scientificName`). The item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].species","typeLabel":"any[]"},"country":{"type":"string","description":"Country as sent on create; ISO 3166-1 alpha-2 (e.g. `BR`) expected but not validated. Empty string when unknown.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].country","typeLabel":"string"},"size":{"type":"number","description":"Declared area in hectares; `0` when none was given.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].size","typeLabel":"number"},"requiresAreaPlausibilityReview":{"type":"boolean","description":"`true` when the declared or the measured area exceeds 10,000 ha, so the area should be checked by a person.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].requiresAreaPlausibilityReview","typeLabel":"boolean"},"commodityGroup":{"oneOf":[{"type":"string","description":"EUDR commodity group of the plot (a `CommodityGroup` value), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].commodityGroup.oneOf.0","typeLabel":"string"},{"type":"null","description":"EUDR commodity group of the plot (a `CommodityGroup` value), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].commodityGroup.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].commodityGroup","typeLabel":"string | null"},"deforestationRiskResult":{"oneOf":[{"type":"number","description":"Stored deforestation risk as a number: `0` low, `2` moderate, `1` high; `null` when no result is stored or the analysis was invalid. `GET /api/v1/plots/{id}` carries the readable `analysis.riskLevel`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].deforestationRiskResult.oneOf.0","typeLabel":"number"},{"type":"null","description":"Stored deforestation risk as a number: `0` low, `2` moderate, `1` high; `null` when no result is stored or the analysis was invalid. `GET /api/v1/plots/{id}` carries the readable `analysis.riskLevel`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].deforestationRiskResult.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].deforestationRiskResult","typeLabel":"number | null"},"createdAt":{"oneOf":[{"type":"string","description":"When the plot was created (ISO 8601, UTC), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].createdAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When the plot was created (ISO 8601, UTC), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].createdAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].createdAt","typeLabel":"string | null"},"updatedAt":{"oneOf":[{"type":"string","description":"When the plot was last changed (ISO 8601, UTC), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].updatedAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When the plot was last changed (ISO 8601, UTC), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].updatedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].updatedAt","typeLabel":"string | null"},"analysisStatus":{"type":"string","description":"State of the deforestation analysis: `pending`, `in_progress`, `completed`, `failed`, `exempt` or `skipped`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].analysisStatus","typeLabel":"string"},"isDegraded":{"oneOf":[{"type":"boolean","description":"Whether the plot carries an unresolved forest-degradation risk (wood only); `null` when not determined.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].isDegraded.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Whether the plot carries an unresolved forest-degradation risk (wood only); `null` when not determined.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].isDegraded.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].isDegraded","typeLabel":"boolean | null"},"geojson":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].geojson.oneOf.0.additionalProperties","typeLabel":"any"},"description":"The stored geometry as GeoJSON (RFC 7946): a Feature or a bare Geometry in WGS84 longitude/latitude; `null` when none is stored.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].geojson.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{}],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].geojson.oneOf.1.additionalProperties","typeLabel":"any"},"description":"The stored geometry as GeoJSON (RFC 7946): a Feature or a bare Geometry in WGS84 longitude/latitude; `null` when none is stored.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].geojson.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].geojson","typeLabel":"object | null"},"supplierArticleIds":{"type":"array","items":{"type":"string","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].supplierArticleIds.items.[INDEX]","typeLabel":"string"},"description":"UUIDs of the supplier articles the plot is linked to.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].supplierArticleIds","typeLabel":"string[]"},"createdByUserId":{"type":"string","description":"UUID of the user who created the plot (for an API key: the user the key acts as); absent when unknown.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].createdByUserId","typeLabel":"string"},"productionDateFrom":{"type":"string","description":"Start of the production period (ISO 8601, midnight UTC of the stored day); absent when not set.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].productionDateFrom","typeLabel":"string"},"productionDateTo":{"type":"string","description":"End of the production period (ISO 8601, midnight UTC of the stored day); absent when not set.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].productionDateTo","typeLabel":"string"},"producerName":{"type":"string","description":"Name of the producer; absent when not set.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].producerName","typeLabel":"string"},"importSourceFormat":{"type":"string","description":"File format the plot was imported from in the app: `geojson`, `wkt`, `point_csv`, `kml`, `kmz` or `document_extraction`; absent otherwise.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].importSourceFormat","typeLabel":"string"},"importPrecisionClass":{"type":"string","description":"Coordinate precision class measured at import: `ok` (6 or more decimals), `borderline` (5), `low` (4), `reject` (3 or fewer) or `mixed`; absent when not measured.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].importPrecisionClass","typeLabel":"string"},"importPrecisionDigits":{"type":"number","description":"Fewest decimal places of any coordinate, as measured at import; absent when not measured.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].importPrecisionDigits","typeLabel":"number"},"importPrecisionAcceptedAt":{"type":"string","description":"When the plot's coordinate precision was accepted despite being below the EUDR format (ISO 8601, UTC); absent when no acceptance is recorded.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].importPrecisionAcceptedAt","typeLabel":"string"},"importPrecisionAcceptedBy":{"type":"string","description":"UUID of the user who accepted the coordinate precision; absent when no user is recorded.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].importPrecisionAcceptedBy","typeLabel":"string"},"importPrecisionAcceptedByName":{"type":"string","description":"Name of the user who accepted the coordinate precision; absent when not known.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].importPrecisionAcceptedByName","typeLabel":"string"},"importOriginalCentroidLng":{"type":"number","description":"Longitude of the centroid of the geometry as originally imported (e.g. before a point was turned into a circle); absent when not recorded.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].importOriginalCentroidLng","typeLabel":"number"},"importOriginalCentroidLat":{"type":"number","description":"Latitude of the centroid of the geometry as originally imported; absent when not recorded.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].importOriginalCentroidLat","typeLabel":"number"},"forestPercentage":{"type":"number","description":"Share of the plot that is forest in the JRC Global Forest Cover 2020 map, in percent; absent until measured.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX].forestPercentage","typeLabel":"number"}},"required":["id","companyId","name","species","country","size","requiresAreaPlausibilityReview","commodityGroup","deforestationRiskResult","createdAt","updatedAt","analysisStatus","isDegraded","geojson","supplierArticleIds"],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots.items.[INDEX]","typeLabel":"object"},"description":"Order-line and DDS-line articles carry `plots: []` (DDS line plots live on `DdsStatementArticle.plots`). The article endpoints serve articles as `ArticleResponse` (distinct plots without geometry, capped at 1000); articles on the supplier endpoints (`SupplierResponseArticle`) carry no plot list — use GET /articles/{id}.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].plots","typeLabel":"object[]"},"complianceResults":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the compliance result.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].complianceResults.items.[INDEX].id","typeLabel":"string"},"supplierArticleId":{"type":"string","description":"UUID of the supplier article (one article from one supplier) this result belongs to.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].complianceResults.items.[INDEX].supplierArticleId","typeLabel":"string"},"overallStatus":{"type":"string","description":"One of: `compliant`, `non_compliant`, `invalid`, `unknown`, `not_eudr_relevant`, `pending_review`, `not_required_before_cutoff`, `covered_by_upstream_dds`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].complianceResults.items.[INDEX].overallStatus","typeLabel":"string"},"geoStatus":{"type":"string","description":"One of: `compliant`, `non_compliant`, `invalid`, `unknown`, `not_eudr_relevant`, `pending_review`, `not_required_before_cutoff`, `covered_by_upstream_dds`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].complianceResults.items.[INDEX].geoStatus","typeLabel":"string"},"legalStatus":{"type":"string","description":"One of: `compliant`, `non_compliant`, `invalid`, `unknown`, `not_eudr_relevant`, `pending_review`, `not_required_before_cutoff`, `covered_by_upstream_dds`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].complianceResults.items.[INDEX].legalStatus","typeLabel":"string"},"manuallyOverridden":{"type":"boolean","description":"`true` when a user set this verdict by hand; it may then intentionally differ from what the evidence alone supports.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].complianceResults.items.[INDEX].manuallyOverridden","typeLabel":"boolean"},"evidenceOpen":{"type":"boolean","description":"`true` when the result is `non_compliant` only because no document has been provided yet for the failing legal categories (shown as \"evidence open\" in the app). `false` otherwise.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].complianceResults.items.[INDEX].evidenceOpen","typeLabel":"boolean"},"generatedReportUrl":{"oneOf":[{"type":"string","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].complianceResults.items.[INDEX].generatedReportUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].complianceResults.items.[INDEX].generatedReportUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].complianceResults.items.[INDEX].generatedReportUrl","typeLabel":"string | null"},"generatedAt":{"oneOf":[{"type":"string","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].complianceResults.items.[INDEX].generatedAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].complianceResults.items.[INDEX].generatedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].complianceResults.items.[INDEX].generatedAt","typeLabel":"string | null"},"updatedAt":{"type":"string","description":"When the result was last recalculated (ISO 8601, UTC).","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].complianceResults.items.[INDEX].updatedAt","typeLabel":"string"}},"required":["id","supplierArticleId","overallStatus","geoStatus","legalStatus","manuallyOverridden","evidenceOpen","generatedReportUrl","generatedAt","updatedAt"],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].complianceResults.items.[INDEX]","typeLabel":"object"},"description":"The EUDR compliance result per supplier link of the article.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].complianceResults","typeLabel":"object[]"},"geoComplianceResults":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].geoComplianceResults.items.[INDEX]","typeLabel":"any"},"description":"Geolocation compliance details. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].geoComplianceResults","typeLabel":"any[]"},"legalComplianceResults":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].legalComplianceResults.items.[INDEX]","typeLabel":"any"},"description":"Legal compliance details. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].legalComplianceResults","typeLabel":"any[]"},"legalDocuments":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].legalDocuments.items.[INDEX]","typeLabel":"any"},"description":"Legal documents on record. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].legalDocuments","typeLabel":"any[]"},"legalCategoryResults":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].legalCategoryResults.items.[INDEX]","typeLabel":"any"},"description":"Per-category legal compliance results. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].legalCategoryResults","typeLabel":"any[]"},"questionnaires":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].questionnaires.items.[INDEX]","typeLabel":"any"},"description":"Supplier questionnaire responses. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].questionnaires","typeLabel":"any[]"},"countryOfProduction":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].countryOfProduction.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Countries of production declared on one of the article's supplier links (which one is not specified), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].countryOfProduction.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Countries of production declared on one of the article's supplier links (which one is not specified), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].countryOfProduction.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].countryOfProduction","typeLabel":"string[] | null"},"commodityGroup":{"type":"string","description":"EUDR commodity group, derived from the HS code unless set explicitly. One of the `CommodityGroup` values.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].commodityGroup","typeLabel":"string"},"weightPerPieceKg":{"oneOf":[{"type":"number","description":"Weight of one piece in kg, used to derive net mass from a piece count; `null` when unknown.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].weightPerPieceKg.oneOf.0","typeLabel":"number"},{"type":"null","description":"Weight of one piece in kg, used to derive net mass from a piece count; `null` when unknown.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].weightPerPieceKg.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].weightPerPieceKg","typeLabel":"number | null"},"deletedAt":{"oneOf":[{"type":"string","description":"When the article was moved to the trash (ISO 8601, UTC); `null` for a live article.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].deletedAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When the article was moved to the trash (ISO 8601, UTC); `null` for a live article.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].deletedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].deletedAt","typeLabel":"string | null"},"certifications":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].certifications.items.[INDEX]","typeLabel":"any"},"description":"Certifications (e.g. FSC, PEFC) on record for the article; absent when the article has no supplier link. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].certifications","typeLabel":"any[]"},"ownSupplierArticleIds":{"type":"array","items":{"type":"string","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].ownSupplierArticleIds.items.[INDEX]","typeLabel":"string"},"description":"UUIDs of the article's own supplier articles (one per linked supplier); absent when the article has no supplier link.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].ownSupplierArticleIds","typeLabel":"string[]"},"supplierLinks":{"type":"array","items":{"type":"object","properties":{"supplierId":{"type":"string","description":"UUID of the linked supplier.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].supplierLinks.items.[INDEX].supplierId","typeLabel":"string"},"supplierArticleId":{"type":"string","description":"UUID of the supplier article: this article as supplied by that supplier.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].supplierLinks.items.[INDEX].supplierArticleId","typeLabel":"string"}},"required":["supplierId","supplierArticleId"],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].supplierLinks.items.[INDEX]","typeLabel":"object"},"description":"The article's supplier links. `supplierArticleId` addresses this article for one supplier: pass it in `supplierArticleIds` of `POST /api/v1/plots`. Present on the article endpoints and on order-line articles; `[]` when the article has no supplier.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].supplierLinks","typeLabel":"object[]"},"inputArticles":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].inputArticles.items.[INDEX]","typeLabel":"any"},"description":"Upstream input articles recorded for the article's supply chain; absent when there are none. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX].inputArticles","typeLabel":"any[]"}},"required":["id","name","shortDescription","internalArticleNr","externalArticleNr","ean","hsCode","articleType","eudrRelevant","needsManualCheck","sourceScope","hsPlausibility","suppliers","plots","complianceResults","geoComplianceResults","legalComplianceResults","legalDocuments","legalCategoryResults","questionnaires","countryOfProduction","commodityGroup","weightPerPieceKg","deletedAt"],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles.items.[INDEX]","typeLabel":"object"},"description":"The articles linked to the supplier. Suppliers embedded in an article carry `[]`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].articles","typeLabel":"object[]"},"plots":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the plot.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].id","typeLabel":"string"},"companyId":{"type":"string","description":"UUID of your company (the plot's owner).","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].companyId","typeLabel":"string"},"name":{"type":"string","description":"Plot name; empty string when none was given.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].name","typeLabel":"string"},"species":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].species.items.[INDEX]","typeLabel":"any"},"description":"Tree species recorded for the plot (entries as sent on create, with `commonName` and `scientificName`). The item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].species","typeLabel":"any[]"},"country":{"type":"string","description":"Country as sent on create; ISO 3166-1 alpha-2 (e.g. `BR`) expected but not validated. Empty string when unknown.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].country","typeLabel":"string"},"size":{"type":"number","description":"Declared area in hectares; `0` when none was given.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].size","typeLabel":"number"},"requiresAreaPlausibilityReview":{"type":"boolean","description":"`true` when the declared or the measured area exceeds 10,000 ha, so the area should be checked by a person.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].requiresAreaPlausibilityReview","typeLabel":"boolean"},"commodityGroup":{"oneOf":[{"type":"string","description":"EUDR commodity group of the plot (a `CommodityGroup` value), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].commodityGroup.oneOf.0","typeLabel":"string"},{"type":"null","description":"EUDR commodity group of the plot (a `CommodityGroup` value), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].commodityGroup.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].commodityGroup","typeLabel":"string | null"},"deforestationRiskResult":{"oneOf":[{"type":"number","description":"Stored deforestation risk as a number: `0` low, `2` moderate, `1` high; `null` when no result is stored or the analysis was invalid. `GET /api/v1/plots/{id}` carries the readable `analysis.riskLevel`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].deforestationRiskResult.oneOf.0","typeLabel":"number"},{"type":"null","description":"Stored deforestation risk as a number: `0` low, `2` moderate, `1` high; `null` when no result is stored or the analysis was invalid. `GET /api/v1/plots/{id}` carries the readable `analysis.riskLevel`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].deforestationRiskResult.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].deforestationRiskResult","typeLabel":"number | null"},"createdAt":{"oneOf":[{"type":"string","description":"When the plot was created (ISO 8601, UTC), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].createdAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When the plot was created (ISO 8601, UTC), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].createdAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].createdAt","typeLabel":"string | null"},"updatedAt":{"oneOf":[{"type":"string","description":"When the plot was last changed (ISO 8601, UTC), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].updatedAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When the plot was last changed (ISO 8601, UTC), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].updatedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].updatedAt","typeLabel":"string | null"},"analysisStatus":{"type":"string","description":"State of the deforestation analysis: `pending`, `in_progress`, `completed`, `failed`, `exempt` or `skipped`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].analysisStatus","typeLabel":"string"},"isDegraded":{"oneOf":[{"type":"boolean","description":"Whether the plot carries an unresolved forest-degradation risk (wood only); `null` when not determined.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].isDegraded.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Whether the plot carries an unresolved forest-degradation risk (wood only); `null` when not determined.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].isDegraded.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].isDegraded","typeLabel":"boolean | null"},"geojson":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].geojson.oneOf.0.additionalProperties","typeLabel":"any"},"description":"The stored geometry as GeoJSON (RFC 7946): a Feature or a bare Geometry in WGS84 longitude/latitude; `null` when none is stored.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].geojson.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{}],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].geojson.oneOf.1.additionalProperties","typeLabel":"any"},"description":"The stored geometry as GeoJSON (RFC 7946): a Feature or a bare Geometry in WGS84 longitude/latitude; `null` when none is stored.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].geojson.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].geojson","typeLabel":"object | null"},"supplierArticleIds":{"type":"array","items":{"type":"string","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].supplierArticleIds.items.[INDEX]","typeLabel":"string"},"description":"UUIDs of the supplier articles the plot is linked to.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].supplierArticleIds","typeLabel":"string[]"},"createdByUserId":{"type":"string","description":"UUID of the user who created the plot (for an API key: the user the key acts as); absent when unknown.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].createdByUserId","typeLabel":"string"},"productionDateFrom":{"type":"string","description":"Start of the production period (ISO 8601, midnight UTC of the stored day); absent when not set.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].productionDateFrom","typeLabel":"string"},"productionDateTo":{"type":"string","description":"End of the production period (ISO 8601, midnight UTC of the stored day); absent when not set.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].productionDateTo","typeLabel":"string"},"producerName":{"type":"string","description":"Name of the producer; absent when not set.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].producerName","typeLabel":"string"},"importSourceFormat":{"type":"string","description":"File format the plot was imported from in the app: `geojson`, `wkt`, `point_csv`, `kml`, `kmz` or `document_extraction`; absent otherwise.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].importSourceFormat","typeLabel":"string"},"importPrecisionClass":{"type":"string","description":"Coordinate precision class measured at import: `ok` (6 or more decimals), `borderline` (5), `low` (4), `reject` (3 or fewer) or `mixed`; absent when not measured.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].importPrecisionClass","typeLabel":"string"},"importPrecisionDigits":{"type":"number","description":"Fewest decimal places of any coordinate, as measured at import; absent when not measured.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].importPrecisionDigits","typeLabel":"number"},"importPrecisionAcceptedAt":{"type":"string","description":"When the plot's coordinate precision was accepted despite being below the EUDR format (ISO 8601, UTC); absent when no acceptance is recorded.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].importPrecisionAcceptedAt","typeLabel":"string"},"importPrecisionAcceptedBy":{"type":"string","description":"UUID of the user who accepted the coordinate precision; absent when no user is recorded.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].importPrecisionAcceptedBy","typeLabel":"string"},"importPrecisionAcceptedByName":{"type":"string","description":"Name of the user who accepted the coordinate precision; absent when not known.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].importPrecisionAcceptedByName","typeLabel":"string"},"importOriginalCentroidLng":{"type":"number","description":"Longitude of the centroid of the geometry as originally imported (e.g. before a point was turned into a circle); absent when not recorded.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].importOriginalCentroidLng","typeLabel":"number"},"importOriginalCentroidLat":{"type":"number","description":"Latitude of the centroid of the geometry as originally imported; absent when not recorded.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].importOriginalCentroidLat","typeLabel":"number"},"forestPercentage":{"type":"number","description":"Share of the plot that is forest in the JRC Global Forest Cover 2020 map, in percent; absent until measured.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX].forestPercentage","typeLabel":"number"}},"required":["id","companyId","name","species","country","size","requiresAreaPlausibilityReview","commodityGroup","deforestationRiskResult","createdAt","updatedAt","analysisStatus","isDegraded","geojson","supplierArticleIds"],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots.items.[INDEX]","typeLabel":"object"},"description":"Suppliers embedded in articles, orders and DDS lines carry `plots: []`. The supplier endpoints serve `SupplierResponse`: distinct plots without geometry, capped at 1000, and articles without a plot list.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].plots","typeLabel":"object[]"},"complianceResults":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the compliance result.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].complianceResults.items.[INDEX].id","typeLabel":"string"},"supplierArticleId":{"type":"string","description":"UUID of the supplier article (one article from one supplier) this result belongs to.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].complianceResults.items.[INDEX].supplierArticleId","typeLabel":"string"},"overallStatus":{"type":"string","description":"One of: `compliant`, `non_compliant`, `invalid`, `unknown`, `not_eudr_relevant`, `pending_review`, `not_required_before_cutoff`, `covered_by_upstream_dds`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].complianceResults.items.[INDEX].overallStatus","typeLabel":"string"},"geoStatus":{"type":"string","description":"One of: `compliant`, `non_compliant`, `invalid`, `unknown`, `not_eudr_relevant`, `pending_review`, `not_required_before_cutoff`, `covered_by_upstream_dds`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].complianceResults.items.[INDEX].geoStatus","typeLabel":"string"},"legalStatus":{"type":"string","description":"One of: `compliant`, `non_compliant`, `invalid`, `unknown`, `not_eudr_relevant`, `pending_review`, `not_required_before_cutoff`, `covered_by_upstream_dds`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].complianceResults.items.[INDEX].legalStatus","typeLabel":"string"},"manuallyOverridden":{"type":"boolean","description":"`true` when a user set this verdict by hand; it may then intentionally differ from what the evidence alone supports.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].complianceResults.items.[INDEX].manuallyOverridden","typeLabel":"boolean"},"evidenceOpen":{"type":"boolean","description":"`true` when the result is `non_compliant` only because no document has been provided yet for the failing legal categories (shown as \"evidence open\" in the app). `false` otherwise.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].complianceResults.items.[INDEX].evidenceOpen","typeLabel":"boolean"},"generatedReportUrl":{"oneOf":[{"type":"string","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].complianceResults.items.[INDEX].generatedReportUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].complianceResults.items.[INDEX].generatedReportUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].complianceResults.items.[INDEX].generatedReportUrl","typeLabel":"string | null"},"generatedAt":{"oneOf":[{"type":"string","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].complianceResults.items.[INDEX].generatedAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].complianceResults.items.[INDEX].generatedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].complianceResults.items.[INDEX].generatedAt","typeLabel":"string | null"},"updatedAt":{"type":"string","description":"When the result was last recalculated (ISO 8601, UTC).","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].complianceResults.items.[INDEX].updatedAt","typeLabel":"string"}},"required":["id","supplierArticleId","overallStatus","geoStatus","legalStatus","manuallyOverridden","evidenceOpen","generatedReportUrl","generatedAt","updatedAt"],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].complianceResults.items.[INDEX]","typeLabel":"object"},"description":"Compliance results at supplier level. Compliance results live per article (`articles[].complianceResults`); expect `[]` here.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].complianceResults","typeLabel":"object[]"},"isCompanySelf":{"type":"boolean","description":"True if this supplier represents your own company (for sale articles)","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].isCompanySelf","typeLabel":"boolean"},"supplierArticles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the supplier article (this supplier's link to one article) — what `supplierArticleIds` of `POST /api/v1/plots` takes.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].supplierArticles.items.[INDEX].id","typeLabel":"string"},"supplierId":{"type":"string","description":"UUID of the supplier.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].supplierArticles.items.[INDEX].supplierId","typeLabel":"string"},"articleId":{"type":"string","description":"UUID of the linked article.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].supplierArticles.items.[INDEX].articleId","typeLabel":"string"},"producerName":{"oneOf":[{"type":"string","description":"Name of the producer recorded for this link, or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].supplierArticles.items.[INDEX].producerName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Name of the producer recorded for this link, or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].supplierArticles.items.[INDEX].producerName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].supplierArticles.items.[INDEX].producerName","typeLabel":"string | null"},"countryOfProduction":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].supplierArticles.items.[INDEX].countryOfProduction.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Countries of production declared for this link, as canonical English country names (e.g. `\"Brazil\"`). ISO 3166-1 alpha-2 / alpha-3 codes and localized names are accepted on write and read back as the name; values that do not resolve to a known country are stored as sent; older records may still hold the value as originally sent. `null` when none is recorded.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].supplierArticles.items.[INDEX].countryOfProduction.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Countries of production declared for this link, as canonical English country names (e.g. `\"Brazil\"`). ISO 3166-1 alpha-2 / alpha-3 codes and localized names are accepted on write and read back as the name; values that do not resolve to a known country are stored as sent; older records may still hold the value as originally sent. `null` when none is recorded.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].supplierArticles.items.[INDEX].countryOfProduction.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].supplierArticles.items.[INDEX].countryOfProduction","typeLabel":"string[] | null"},"supplierDdsReference":{"oneOf":[{"type":"string","description":"Reference number of the supplier's own DDS for this article, when recorded; `null` otherwise.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].supplierArticles.items.[INDEX].supplierDdsReference.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reference number of the supplier's own DDS for this article, when recorded; `null` otherwise.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].supplierArticles.items.[INDEX].supplierDdsReference.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].supplierArticles.items.[INDEX].supplierDdsReference","typeLabel":"string | null"}},"required":["id","supplierId","articleId","producerName","countryOfProduction","supplierDdsReference"],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].supplierArticles.items.[INDEX]","typeLabel":"object"},"description":"The supplier's links to articles (one supplier article per linked article).","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].supplierArticles","typeLabel":"object[]"},"deletedAt":{"oneOf":[{"type":"string","description":"When the supplier was moved to the trash (ISO 8601, UTC); `null` for a live supplier.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].deletedAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When the supplier was moved to the trash (ISO 8601, UTC); `null` for a live supplier.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].deletedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].deletedAt","typeLabel":"string | null"},"assignedToUserId":{"oneOf":[{"type":"string","description":"UUID of the user in your company responsible for this supplier, or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].assignedToUserId.oneOf.0","typeLabel":"string"},{"type":"null","description":"UUID of the user in your company responsible for this supplier, or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].assignedToUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].assignedToUserId","typeLabel":"string | null"},"otpContactEmail":{"oneOf":[{"type":"string","description":"The email address the supplier confirmed for one-time security codes in the supplier portal, or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].otpContactEmail.oneOf.0","typeLabel":"string"},{"type":"null","description":"The email address the supplier confirmed for one-time security codes in the supplier portal, or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].otpContactEmail.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].otpContactEmail","typeLabel":"string | null"},"otpContactConfirmedAt":{"oneOf":[{"type":"string","description":"When the supplier confirmed `otpContactEmail` (ISO 8601, UTC), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].otpContactConfirmedAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When the supplier confirmed `otpContactEmail` (ISO 8601, UTC), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].otpContactConfirmedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].otpContactConfirmedAt","typeLabel":"string | null"},"otpExemptUntil":{"oneOf":[{"type":"string","description":"Until when the supplier is exempt from one-time security codes in the supplier portal (ISO 8601, UTC), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].otpExemptUntil.oneOf.0","typeLabel":"string"},{"type":"null","description":"Until when the supplier is exempt from one-time security codes in the supplier portal (ISO 8601, UTC), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].otpExemptUntil.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].otpExemptUntil","typeLabel":"string | null"},"address":{"type":"object","properties":{"street":{"type":"string","description":"Street and house number (or the full one-line address).","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].address.street","typeLabel":"string"},"city":{"type":"string","description":"City; may be empty.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].address.city","typeLabel":"string"},"postalCode":{"type":"string","description":"Postal code; may be empty.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers.items.[INDEX].address.postalCode","typeLabel":"string"}},"required":["street","city","postalCode"],"description":"Postal address; absent when none is recorded.","uniqueKey":"items.[INDEX].suppliers.items.[INDEX].address","typeLabel":"object"}},"required":["id","name","contactName","country","status","externalSupplierId","email","articles","plots","complianceResults","isCompanySelf","supplierArticles","deletedAt","assignedToUserId","otpContactEmail","otpContactConfirmedAt","otpExemptUntil"],"uniqueKey":"items.[INDEX].suppliers.items.[INDEX]","typeLabel":"object"},"description":"The suppliers linked to the article. Embedded suppliers carry empty `articles` and `plots`.","isRequired":true,"uniqueKey":"items.[INDEX].suppliers","typeLabel":"object[]"},"plots":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the plot.","isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].id","typeLabel":"string"},"companyId":{"type":"string","description":"UUID of your company (the plot's owner).","isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].companyId","typeLabel":"string"},"name":{"type":"string","description":"Plot name; empty string when none was given.","isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].name","typeLabel":"string"},"species":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"items.[INDEX].plots.items.[INDEX].species.items.[INDEX]","typeLabel":"any"},"description":"Tree species recorded for the plot (entries as sent on create, with `commonName` and `scientificName`). The item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].species","typeLabel":"any[]"},"country":{"type":"string","description":"Country as sent on create; ISO 3166-1 alpha-2 (e.g. `BR`) expected but not validated. Empty string when unknown.","isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].country","typeLabel":"string"},"size":{"type":"number","description":"Declared area in hectares; `0` when none was given.","isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].size","typeLabel":"number"},"requiresAreaPlausibilityReview":{"type":"boolean","description":"`true` when the declared or the measured area exceeds 10,000 ha, so the area should be checked by a person.","isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].requiresAreaPlausibilityReview","typeLabel":"boolean"},"commodityGroup":{"oneOf":[{"type":"string","description":"EUDR commodity group of the plot (a `CommodityGroup` value), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].commodityGroup.oneOf.0","typeLabel":"string"},{"type":"null","description":"EUDR commodity group of the plot (a `CommodityGroup` value), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].commodityGroup.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].commodityGroup","typeLabel":"string | null"},"deforestationRiskResult":{"oneOf":[{"type":"number","description":"Stored deforestation risk as a number: `0` low, `2` moderate, `1` high; `null` when no result is stored or the analysis was invalid. `GET /api/v1/plots/{id}` carries the readable `analysis.riskLevel`.","isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].deforestationRiskResult.oneOf.0","typeLabel":"number"},{"type":"null","description":"Stored deforestation risk as a number: `0` low, `2` moderate, `1` high; `null` when no result is stored or the analysis was invalid. `GET /api/v1/plots/{id}` carries the readable `analysis.riskLevel`.","isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].deforestationRiskResult.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].deforestationRiskResult","typeLabel":"number | null"},"createdAt":{"oneOf":[{"type":"string","description":"When the plot was created (ISO 8601, UTC), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].createdAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When the plot was created (ISO 8601, UTC), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].createdAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].createdAt","typeLabel":"string | null"},"updatedAt":{"oneOf":[{"type":"string","description":"When the plot was last changed (ISO 8601, UTC), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].updatedAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When the plot was last changed (ISO 8601, UTC), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].updatedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].updatedAt","typeLabel":"string | null"},"analysisStatus":{"type":"string","description":"State of the deforestation analysis: `pending`, `in_progress`, `completed`, `failed`, `exempt` or `skipped`.","isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].analysisStatus","typeLabel":"string"},"isDegraded":{"oneOf":[{"type":"boolean","description":"Whether the plot carries an unresolved forest-degradation risk (wood only); `null` when not determined.","isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].isDegraded.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Whether the plot carries an unresolved forest-degradation risk (wood only); `null` when not determined.","isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].isDegraded.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].plots.items.[INDEX].isDegraded","typeLabel":"boolean | null"},"createdByUserId":{"type":"string","description":"UUID of the user who created the plot (for an API key: the user the key acts as); absent when unknown.","uniqueKey":"items.[INDEX].plots.items.[INDEX].createdByUserId","typeLabel":"string"},"productionDateFrom":{"type":"string","description":"Start of the production period (ISO 8601, midnight UTC of the stored day); absent when not set.","uniqueKey":"items.[INDEX].plots.items.[INDEX].productionDateFrom","typeLabel":"string"},"productionDateTo":{"type":"string","description":"End of the production period (ISO 8601, midnight UTC of the stored day); absent when not set.","uniqueKey":"items.[INDEX].plots.items.[INDEX].productionDateTo","typeLabel":"string"},"producerName":{"type":"string","description":"Name of the producer; absent when not set.","uniqueKey":"items.[INDEX].plots.items.[INDEX].producerName","typeLabel":"string"},"importSourceFormat":{"type":"string","description":"File format the plot was imported from in the app: `geojson`, `wkt`, `point_csv`, `kml`, `kmz` or `document_extraction`; absent otherwise.","uniqueKey":"items.[INDEX].plots.items.[INDEX].importSourceFormat","typeLabel":"string"},"importPrecisionClass":{"type":"string","description":"Coordinate precision class measured at import: `ok` (6 or more decimals), `borderline` (5), `low` (4), `reject` (3 or fewer) or `mixed`; absent when not measured.","uniqueKey":"items.[INDEX].plots.items.[INDEX].importPrecisionClass","typeLabel":"string"},"importPrecisionDigits":{"type":"number","description":"Fewest decimal places of any coordinate, as measured at import; absent when not measured.","uniqueKey":"items.[INDEX].plots.items.[INDEX].importPrecisionDigits","typeLabel":"number"},"importPrecisionAcceptedAt":{"type":"string","description":"When the plot's coordinate precision was accepted despite being below the EUDR format (ISO 8601, UTC); absent when no acceptance is recorded.","uniqueKey":"items.[INDEX].plots.items.[INDEX].importPrecisionAcceptedAt","typeLabel":"string"},"importPrecisionAcceptedBy":{"type":"string","description":"UUID of the user who accepted the coordinate precision; absent when no user is recorded.","uniqueKey":"items.[INDEX].plots.items.[INDEX].importPrecisionAcceptedBy","typeLabel":"string"},"importPrecisionAcceptedByName":{"type":"string","description":"Name of the user who accepted the coordinate precision; absent when not known.","uniqueKey":"items.[INDEX].plots.items.[INDEX].importPrecisionAcceptedByName","typeLabel":"string"},"importOriginalCentroidLng":{"type":"number","description":"Longitude of the centroid of the geometry as originally imported (e.g. before a point was turned into a circle); absent when not recorded.","uniqueKey":"items.[INDEX].plots.items.[INDEX].importOriginalCentroidLng","typeLabel":"number"},"importOriginalCentroidLat":{"type":"number","description":"Latitude of the centroid of the geometry as originally imported; absent when not recorded.","uniqueKey":"items.[INDEX].plots.items.[INDEX].importOriginalCentroidLat","typeLabel":"number"},"forestPercentage":{"type":"number","description":"Share of the plot that is forest in the JRC Global Forest Cover 2020 map, in percent; absent until measured.","uniqueKey":"items.[INDEX].plots.items.[INDEX].forestPercentage","typeLabel":"number"}},"required":["id","companyId","name","species","country","size","requiresAreaPlausibilityReview","commodityGroup","deforestationRiskResult","createdAt","updatedAt","analysisStatus","isDegraded"],"uniqueKey":"items.[INDEX].plots.items.[INDEX]","typeLabel":"object"},"description":"Distinct plots of the article without geometry, at most 1000 (ordered by id); fetch geometry via GET /plots/{id}.","isRequired":true,"uniqueKey":"items.[INDEX].plots","typeLabel":"object[]"},"complianceResults":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the compliance result.","isRequired":true,"uniqueKey":"items.[INDEX].complianceResults.items.[INDEX].id","typeLabel":"string"},"supplierArticleId":{"type":"string","description":"UUID of the supplier article (one article from one supplier) this result belongs to.","isRequired":true,"uniqueKey":"items.[INDEX].complianceResults.items.[INDEX].supplierArticleId","typeLabel":"string"},"overallStatus":{"type":"string","description":"One of: `compliant`, `non_compliant`, `invalid`, `unknown`, `not_eudr_relevant`, `pending_review`, `not_required_before_cutoff`, `covered_by_upstream_dds`.","isRequired":true,"uniqueKey":"items.[INDEX].complianceResults.items.[INDEX].overallStatus","typeLabel":"string"},"geoStatus":{"type":"string","description":"One of: `compliant`, `non_compliant`, `invalid`, `unknown`, `not_eudr_relevant`, `pending_review`, `not_required_before_cutoff`, `covered_by_upstream_dds`.","isRequired":true,"uniqueKey":"items.[INDEX].complianceResults.items.[INDEX].geoStatus","typeLabel":"string"},"legalStatus":{"type":"string","description":"One of: `compliant`, `non_compliant`, `invalid`, `unknown`, `not_eudr_relevant`, `pending_review`, `not_required_before_cutoff`, `covered_by_upstream_dds`.","isRequired":true,"uniqueKey":"items.[INDEX].complianceResults.items.[INDEX].legalStatus","typeLabel":"string"},"manuallyOverridden":{"type":"boolean","description":"`true` when a user set this verdict by hand; it may then intentionally differ from what the evidence alone supports.","isRequired":true,"uniqueKey":"items.[INDEX].complianceResults.items.[INDEX].manuallyOverridden","typeLabel":"boolean"},"evidenceOpen":{"type":"boolean","description":"`true` when the result is `non_compliant` only because no document has been provided yet for the failing legal categories (shown as \"evidence open\" in the app). `false` otherwise.","isRequired":true,"uniqueKey":"items.[INDEX].complianceResults.items.[INDEX].evidenceOpen","typeLabel":"boolean"},"generatedReportUrl":{"oneOf":[{"type":"string","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true,"uniqueKey":"items.[INDEX].complianceResults.items.[INDEX].generatedReportUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true,"uniqueKey":"items.[INDEX].complianceResults.items.[INDEX].generatedReportUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].complianceResults.items.[INDEX].generatedReportUrl","typeLabel":"string | null"},"generatedAt":{"oneOf":[{"type":"string","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true,"uniqueKey":"items.[INDEX].complianceResults.items.[INDEX].generatedAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true,"uniqueKey":"items.[INDEX].complianceResults.items.[INDEX].generatedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].complianceResults.items.[INDEX].generatedAt","typeLabel":"string | null"},"updatedAt":{"type":"string","description":"When the result was last recalculated (ISO 8601, UTC).","isRequired":true,"uniqueKey":"items.[INDEX].complianceResults.items.[INDEX].updatedAt","typeLabel":"string"}},"required":["id","supplierArticleId","overallStatus","geoStatus","legalStatus","manuallyOverridden","evidenceOpen","generatedReportUrl","generatedAt","updatedAt"],"uniqueKey":"items.[INDEX].complianceResults.items.[INDEX]","typeLabel":"object"},"description":"The EUDR compliance result per supplier link of the article.","isRequired":true,"uniqueKey":"items.[INDEX].complianceResults","typeLabel":"object[]"},"geoComplianceResults":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"items.[INDEX].geoComplianceResults.items.[INDEX]","typeLabel":"any"},"description":"Geolocation compliance details. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true,"uniqueKey":"items.[INDEX].geoComplianceResults","typeLabel":"any[]"},"legalComplianceResults":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"items.[INDEX].legalComplianceResults.items.[INDEX]","typeLabel":"any"},"description":"Legal compliance details. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true,"uniqueKey":"items.[INDEX].legalComplianceResults","typeLabel":"any[]"},"legalDocuments":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"items.[INDEX].legalDocuments.items.[INDEX]","typeLabel":"any"},"description":"Legal documents on record. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true,"uniqueKey":"items.[INDEX].legalDocuments","typeLabel":"any[]"},"legalCategoryResults":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"items.[INDEX].legalCategoryResults.items.[INDEX]","typeLabel":"any"},"description":"Per-category legal compliance results. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true,"uniqueKey":"items.[INDEX].legalCategoryResults","typeLabel":"any[]"},"questionnaires":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"items.[INDEX].questionnaires.items.[INDEX]","typeLabel":"any"},"description":"Supplier questionnaire responses. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true,"uniqueKey":"items.[INDEX].questionnaires","typeLabel":"any[]"},"countryOfProduction":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"items.[INDEX].countryOfProduction.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Countries of production declared on one of the article's supplier links (which one is not specified), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].countryOfProduction.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Countries of production declared on one of the article's supplier links (which one is not specified), or `null`.","isRequired":true,"uniqueKey":"items.[INDEX].countryOfProduction.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].countryOfProduction","typeLabel":"string[] | null"},"commodityGroup":{"type":"string","description":"EUDR commodity group, derived from the HS code unless set explicitly. One of the `CommodityGroup` values.","isRequired":true,"uniqueKey":"items.[INDEX].commodityGroup","typeLabel":"string"},"weightPerPieceKg":{"oneOf":[{"type":"number","description":"Weight of one piece in kg, used to derive net mass from a piece count; `null` when unknown.","isRequired":true,"uniqueKey":"items.[INDEX].weightPerPieceKg.oneOf.0","typeLabel":"number"},{"type":"null","description":"Weight of one piece in kg, used to derive net mass from a piece count; `null` when unknown.","isRequired":true,"uniqueKey":"items.[INDEX].weightPerPieceKg.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].weightPerPieceKg","typeLabel":"number | null"},"deletedAt":{"oneOf":[{"type":"string","description":"When the article was moved to the trash (ISO 8601, UTC); `null` for a live article.","isRequired":true,"uniqueKey":"items.[INDEX].deletedAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When the article was moved to the trash (ISO 8601, UTC); `null` for a live article.","isRequired":true,"uniqueKey":"items.[INDEX].deletedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].deletedAt","typeLabel":"string | null"},"plotsTruncated":{"type":"boolean","description":"true when the article has more than 1000 distinct plots and `plots` holds only the first 1000 by id.","isRequired":true,"uniqueKey":"items.[INDEX].plotsTruncated","typeLabel":"boolean"},"certifications":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"items.[INDEX].certifications.items.[INDEX]","typeLabel":"any"},"description":"Certifications (e.g. FSC, PEFC) on record for the article; absent when the article has no supplier link. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","uniqueKey":"items.[INDEX].certifications","typeLabel":"any[]"},"ownSupplierArticleIds":{"type":"array","items":{"type":"string","uniqueKey":"items.[INDEX].ownSupplierArticleIds.items.[INDEX]","typeLabel":"string"},"description":"UUIDs of the article's own supplier articles (one per linked supplier); absent when the article has no supplier link.","uniqueKey":"items.[INDEX].ownSupplierArticleIds","typeLabel":"string[]"},"supplierLinks":{"type":"array","items":{"type":"object","properties":{"supplierId":{"type":"string","description":"UUID of the linked supplier.","isRequired":true,"uniqueKey":"items.[INDEX].supplierLinks.items.[INDEX].supplierId","typeLabel":"string"},"supplierArticleId":{"type":"string","description":"UUID of the supplier article: this article as supplied by that supplier.","isRequired":true,"uniqueKey":"items.[INDEX].supplierLinks.items.[INDEX].supplierArticleId","typeLabel":"string"}},"required":["supplierId","supplierArticleId"],"uniqueKey":"items.[INDEX].supplierLinks.items.[INDEX]","typeLabel":"object"},"description":"The article's supplier links. `supplierArticleId` addresses this article for one supplier: pass it in `supplierArticleIds` of `POST /api/v1/plots`. Present on the article endpoints and on order-line articles; `[]` when the article has no supplier.","uniqueKey":"items.[INDEX].supplierLinks","typeLabel":"object[]"},"inputArticles":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"items.[INDEX].inputArticles.items.[INDEX]","typeLabel":"any"},"description":"Upstream input articles recorded for the article's supply chain; absent when there are none. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","uniqueKey":"items.[INDEX].inputArticles","typeLabel":"any[]"}},"required":["id","name","shortDescription","internalArticleNr","externalArticleNr","ean","hsCode","articleType","eudrRelevant","needsManualCheck","sourceScope","hsPlausibility","suppliers","plots","complianceResults","geoComplianceResults","legalComplianceResults","legalDocuments","legalCategoryResults","questionnaires","countryOfProduction","commodityGroup","weightPerPieceKg","deletedAt","plotsTruncated"],"description":"An article as returned by GET /articles, GET /articles/{id} and PATCH /articles/{id}.","uniqueKey":"items.[INDEX]","typeLabel":"object"},"uniqueKey":"","typeLabel":"object[]"},"example":[{"id":"7c4e2b19-3a85-4d6f-b210-8e9a5c1d7f36","name":"Pine plank 20 mm","shortDescription":"Kiln-dried pine plank, 20 × 100 × 2400 mm","internalArticleNr":"ART-1001","externalArticleNr":null,"ean":null,"hsCode":"4407.11","articleType":"purchase","eudrRelevant":true,"needsManualCheck":false,"sourceScope":"standing","hsPlausibility":null,"geoComplianceResults":[],"legalComplianceResults":[],"legalDocuments":[],"legalCategoryResults":[],"questionnaires":[],"commodityGroup":"wood","weightPerPieceKg":2.5,"deletedAt":null,"suppliers":[{"id":"5a1d8c3e-7f24-4b9a-a6e0-1c3f5b8d2e94","name":"Sawmill Example GmbH","contactName":"Alex Example","country":"Germany","status":"data_complete","externalSupplierId":"LIEF-4711","address":{"street":"Industriestraße 12","city":"Musterstadt","postalCode":"12345"},"email":"sales@sawmill.example","articles":[],"plots":[],"complianceResults":[],"isCompanySelf":false,"supplierArticles":[],"deletedAt":null,"assignedToUserId":null,"otpContactEmail":null,"otpContactConfirmedAt":null,"otpExemptUntil":null}],"plots":[{"id":"8f3b5d2a-6e19-4c74-a8d3-0b7e2f9c4a16","companyId":"3f6c2a8e-5b1d-4c7e-9a2f-6d8b1e4c0a17","createdByUserId":"9b2e7d41-0c6a-4f38-8e15-2a7c9d3b6f80","name":"Example Farm plot 3","species":[{"commonName":"Loblolly pine","scientificName":"Pinus taeda"}],"country":"BR","size":2.35,"requiresAreaPlausibilityReview":false,"commodityGroup":"wood","productionDateFrom":"2025-01-01T00:00:00.000Z","productionDateTo":"2025-12-31T00:00:00.000Z","producerName":"Example Forestry Ltda.","createdAt":"2026-03-02T09:15:00.000Z","deforestationRiskResult":0,"updatedAt":"2026-03-02T09:21:41.000Z","analysisStatus":"completed","forestPercentage":0,"isDegraded":false}],"plotsTruncated":false,"complianceResults":[{"id":"4d9a1f7e-2c38-4e65-9b0d-3a6f8c2e1b47","supplierArticleId":"2e8f6a3c-9d17-4b52-8c4a-7f1e3d9b0a65","overallStatus":"compliant","geoStatus":"compliant","legalStatus":"compliant","manuallyOverridden":false,"evidenceOpen":false,"generatedReportUrl":null,"generatedAt":null,"updatedAt":"2026-03-02T09:25:00.000Z"}],"countryOfProduction":["BR"],"certifications":[],"ownSupplierArticleIds":["2e8f6a3c-9d17-4b52-8c4a-7f1e3d9b0a65"],"supplierLinks":[{"supplierId":"5a1d8c3e-7f24-4b9a-a6e0-1c3f5b8d2e94","supplierArticleId":"2e8f6a3c-9d17-4b52-8c4a-7f1e3d9b0a65"}]}],"examples":{"Example":{"title":"Example","value":[{"id":"7c4e2b19-3a85-4d6f-b210-8e9a5c1d7f36","name":"Pine plank 20 mm","shortDescription":"Kiln-dried pine plank, 20 × 100 × 2400 mm","internalArticleNr":"ART-1001","externalArticleNr":null,"ean":null,"hsCode":"4407.11","articleType":"purchase","eudrRelevant":true,"needsManualCheck":false,"sourceScope":"standing","hsPlausibility":null,"geoComplianceResults":[],"legalComplianceResults":[],"legalDocuments":[],"legalCategoryResults":[],"questionnaires":[],"commodityGroup":"wood","weightPerPieceKg":2.5,"deletedAt":null,"suppliers":[{"id":"5a1d8c3e-7f24-4b9a-a6e0-1c3f5b8d2e94","name":"Sawmill Example GmbH","contactName":"Alex Example","country":"Germany","status":"data_complete","externalSupplierId":"LIEF-4711","address":{"street":"Industriestraße 12","city":"Musterstadt","postalCode":"12345"},"email":"sales@sawmill.example","articles":[],"plots":[],"complianceResults":[],"isCompanySelf":false,"supplierArticles":[],"deletedAt":null,"assignedToUserId":null,"otpContactEmail":null,"otpContactConfirmedAt":null,"otpExemptUntil":null}],"plots":[{"id":"8f3b5d2a-6e19-4c74-a8d3-0b7e2f9c4a16","companyId":"3f6c2a8e-5b1d-4c7e-9a2f-6d8b1e4c0a17","createdByUserId":"9b2e7d41-0c6a-4f38-8e15-2a7c9d3b6f80","name":"Example Farm plot 3","species":[{"commonName":"Loblolly pine","scientificName":"Pinus taeda"}],"country":"BR","size":2.35,"requiresAreaPlausibilityReview":false,"commodityGroup":"wood","productionDateFrom":"2025-01-01T00:00:00.000Z","productionDateTo":"2025-12-31T00:00:00.000Z","producerName":"Example Forestry Ltda.","createdAt":"2026-03-02T09:15:00.000Z","deforestationRiskResult":0,"updatedAt":"2026-03-02T09:21:41.000Z","analysisStatus":"completed","forestPercentage":0,"isDegraded":false}],"plotsTruncated":false,"complianceResults":[{"id":"4d9a1f7e-2c38-4e65-9b0d-3a6f8c2e1b47","supplierArticleId":"2e8f6a3c-9d17-4b52-8c4a-7f1e3d9b0a65","overallStatus":"compliant","geoStatus":"compliant","legalStatus":"compliant","manuallyOverridden":false,"evidenceOpen":false,"generatedReportUrl":null,"generatedAt":null,"updatedAt":"2026-03-02T09:25:00.000Z"}],"countryOfProduction":["BR"],"certifications":[],"ownSupplierArticleIds":["2e8f6a3c-9d17-4b52-8c4a-7f1e3d9b0a65"],"supplierLinks":[{"supplierId":"5a1d8c3e-7f24-4b9a-a6e0-1c3f5b8d2e94","supplierArticleId":"2e8f6a3c-9d17-4b52-8c4a-7f1e3d9b0a65"}]}]}},"exampleType":"examples"}},"exampleType":"examples"},"9b6c812f-eab2-4056-bb6f-024c0a61f85b":{"description":"Invalid request data","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable message, or a stable machine key (e.g. `batchTooLarge`, `overwriteRequired`, `duplicate`) on the batch, PPWR and upload endpoints.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable machine code on some `400` and `409` answers, e.g. `plot_geometry_invalid` or `FORK_HAS_ORDER`. Match on it rather than on `error`. Further flat keys may accompany it (e.g. `precisionDigits`, `field`).","uniqueKey":"code","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"Machine code of the issue, e.g. `invalid_type`, `too_small`, `custom`.","isRequired":true,"uniqueKey":"details.items.[INDEX].code","typeLabel":"string"},"path":{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"details.items.[INDEX].path.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"details.items.[INDEX].path.items.[INDEX].oneOf.1","typeLabel":"number"}],"uniqueKey":"details.items.[INDEX].path.items.[INDEX]","typeLabel":"string | number"},"description":"Location of the offending value in the request: object keys and 0-based array positions.","isRequired":true,"uniqueKey":"details.items.[INDEX].path","typeLabel":"(string | number)[]"},"message":{"type":"string","description":"Human-readable English explanation. The wording may change; match on `code` and `path`.","isRequired":true,"uniqueKey":"details.items.[INDEX].message","typeLabel":"string"}},"required":["code","path","message"],"additionalProperties":{"oneOf":[{}],"uniqueKey":"details.items.[INDEX].additionalProperties","typeLabel":"any"},"description":"One validation issue. Issue-specific keys (e.g. `expected`, `minimum`) may accompany the three listed.","uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"description":"The validation issues on a `400` validation error.","uniqueKey":"details","typeLabel":"object[]"},"warnings":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["duplicateName","duplicateEan"],"description":"`duplicateName`: a live article of your company already has this name. `duplicateEan`: a live article already has this EAN.","isRequired":true,"uniqueKey":"warnings.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"existingInternalArticleNr":{"type":"string","description":"`duplicateName` only: internal article number of the existing article.","uniqueKey":"warnings.items.[INDEX].existingInternalArticleNr","typeLabel":"string"},"existingArticleName":{"type":"string","description":"`duplicateEan` only: name of the existing article.","uniqueKey":"warnings.items.[INDEX].existingArticleName","typeLabel":"string"}},"required":["type"],"uniqueKey":"warnings.items.[INDEX]","typeLabel":"object"},"description":"`POST /articles` `409` only: soft duplicate warnings. Resend with `acknowledgeWarnings: true` to create the article anyway.","uniqueKey":"warnings","typeLabel":"object[]"}},"required":["error"],"additionalProperties":{"oneOf":[{}],"uniqueKey":"additionalProperties","typeLabel":"any"},"description":"Error body of every endpoint except the `429` the edge answers. Some errors add flat machine-readable keys next to `error`, e.g. `maxBatchSize` on `413 batchTooLarge` or `confirmUpdateCount` on `409 overwriteRequired`.","uniqueKey":"","typeLabel":"object"},"example":{"error":"Validation failed","details":[{"origin":"string","code":"too_small","minimum":1,"inclusive":true,"path":["address","street"],"message":"Address is required."}]},"examples":{"Example":{"title":"Example","value":{"error":"Validation failed","details":[{"origin":"string","code":"too_small","minimum":1,"inclusive":true,"path":["address","street"],"message":"Address is required."}]}}},"exampleType":"examples"}},"exampleType":"examples"},"42baa80a-2d90-4454-8738-4480f13b3944":{"description":"Invalid or expired API key, or the key's user account is not active.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable message, or a stable machine key (e.g. `batchTooLarge`, `overwriteRequired`, `duplicate`) on the batch, PPWR and upload endpoints.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable machine code on some `400` and `409` answers, e.g. `plot_geometry_invalid` or `FORK_HAS_ORDER`. Match on it rather than on `error`. Further flat keys may accompany it (e.g. `precisionDigits`, `field`).","uniqueKey":"code","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"Machine code of the issue, e.g. `invalid_type`, `too_small`, `custom`.","isRequired":true,"uniqueKey":"details.items.[INDEX].code","typeLabel":"string"},"path":{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"details.items.[INDEX].path.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"details.items.[INDEX].path.items.[INDEX].oneOf.1","typeLabel":"number"}],"uniqueKey":"details.items.[INDEX].path.items.[INDEX]","typeLabel":"string | number"},"description":"Location of the offending value in the request: object keys and 0-based array positions.","isRequired":true,"uniqueKey":"details.items.[INDEX].path","typeLabel":"(string | number)[]"},"message":{"type":"string","description":"Human-readable English explanation. The wording may change; match on `code` and `path`.","isRequired":true,"uniqueKey":"details.items.[INDEX].message","typeLabel":"string"}},"required":["code","path","message"],"additionalProperties":{"oneOf":[{}],"uniqueKey":"details.items.[INDEX].additionalProperties","typeLabel":"any"},"description":"One validation issue. Issue-specific keys (e.g. `expected`, `minimum`) may accompany the three listed.","uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"description":"The validation issues on a `400` validation error.","uniqueKey":"details","typeLabel":"object[]"},"warnings":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["duplicateName","duplicateEan"],"description":"`duplicateName`: a live article of your company already has this name. `duplicateEan`: a live article already has this EAN.","isRequired":true,"uniqueKey":"warnings.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"existingInternalArticleNr":{"type":"string","description":"`duplicateName` only: internal article number of the existing article.","uniqueKey":"warnings.items.[INDEX].existingInternalArticleNr","typeLabel":"string"},"existingArticleName":{"type":"string","description":"`duplicateEan` only: name of the existing article.","uniqueKey":"warnings.items.[INDEX].existingArticleName","typeLabel":"string"}},"required":["type"],"uniqueKey":"warnings.items.[INDEX]","typeLabel":"object"},"description":"`POST /articles` `409` only: soft duplicate warnings. Resend with `acknowledgeWarnings: true` to create the article anyway.","uniqueKey":"warnings","typeLabel":"object[]"}},"required":["error"],"additionalProperties":{"oneOf":[{}],"uniqueKey":"additionalProperties","typeLabel":"any"},"description":"Error body of every endpoint except the `429` the edge answers. Some errors add flat machine-readable keys next to `error`, e.g. `maxBatchSize` on `413 batchTooLarge` or `confirmUpdateCount` on `409 overwriteRequired`.","uniqueKey":"","typeLabel":"object"},"example":{"error":"Invalid or expired API key"},"examples":{"Example":{"title":"Example","value":{"error":"Invalid or expired API key"}}},"exampleType":"examples"}},"exampleType":"examples"},"67a0847a-0a00-482e-9f96-78ecaa81b613":{"description":"Insufficient permissions for this resource","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable message, or a stable machine key (e.g. `batchTooLarge`, `overwriteRequired`, `duplicate`) on the batch, PPWR and upload endpoints.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable machine code on some `400` and `409` answers, e.g. `plot_geometry_invalid` or `FORK_HAS_ORDER`. Match on it rather than on `error`. Further flat keys may accompany it (e.g. `precisionDigits`, `field`).","uniqueKey":"code","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"Machine code of the issue, e.g. `invalid_type`, `too_small`, `custom`.","isRequired":true,"uniqueKey":"details.items.[INDEX].code","typeLabel":"string"},"path":{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"details.items.[INDEX].path.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"details.items.[INDEX].path.items.[INDEX].oneOf.1","typeLabel":"number"}],"uniqueKey":"details.items.[INDEX].path.items.[INDEX]","typeLabel":"string | number"},"description":"Location of the offending value in the request: object keys and 0-based array positions.","isRequired":true,"uniqueKey":"details.items.[INDEX].path","typeLabel":"(string | number)[]"},"message":{"type":"string","description":"Human-readable English explanation. The wording may change; match on `code` and `path`.","isRequired":true,"uniqueKey":"details.items.[INDEX].message","typeLabel":"string"}},"required":["code","path","message"],"additionalProperties":{"oneOf":[{}],"uniqueKey":"details.items.[INDEX].additionalProperties","typeLabel":"any"},"description":"One validation issue. Issue-specific keys (e.g. `expected`, `minimum`) may accompany the three listed.","uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"description":"The validation issues on a `400` validation error.","uniqueKey":"details","typeLabel":"object[]"},"warnings":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["duplicateName","duplicateEan"],"description":"`duplicateName`: a live article of your company already has this name. `duplicateEan`: a live article already has this EAN.","isRequired":true,"uniqueKey":"warnings.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"existingInternalArticleNr":{"type":"string","description":"`duplicateName` only: internal article number of the existing article.","uniqueKey":"warnings.items.[INDEX].existingInternalArticleNr","typeLabel":"string"},"existingArticleName":{"type":"string","description":"`duplicateEan` only: name of the existing article.","uniqueKey":"warnings.items.[INDEX].existingArticleName","typeLabel":"string"}},"required":["type"],"uniqueKey":"warnings.items.[INDEX]","typeLabel":"object"},"description":"`POST /articles` `409` only: soft duplicate warnings. Resend with `acknowledgeWarnings: true` to create the article anyway.","uniqueKey":"warnings","typeLabel":"object[]"}},"required":["error"],"additionalProperties":{"oneOf":[{}],"uniqueKey":"additionalProperties","typeLabel":"any"},"description":"Error body of every endpoint except the `429` the edge answers. Some errors add flat machine-readable keys next to `error`, e.g. `maxBatchSize` on `413 batchTooLarge` or `confirmUpdateCount` on `409 overwriteRequired`.","uniqueKey":"","typeLabel":"object"},"example":{"error":"Forbidden"},"examples":{"Example":{"title":"Example","value":{"error":"Forbidden"}}},"exampleType":"examples"}},"exampleType":"examples"},"1e1d3040-7bc3-4731-9e6a-74f737f3f68a":{"description":"Rate limit exceeded: currently 1000 requests per 60 seconds per client IP across all `/api` paths. Issued by the edge before the application runs, so the JSON body differs from every other error: `error` is an object. A `429` with an HTML body instead of JSON means the request carried no API key.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["rate_limited"],"description":"Always `rate_limited`.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable explanation.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"description":"Unlike every other error body, `error` is an object here.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"rate_limited","message":"…"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"rate_limited","message":"…"}}}},"exampleType":"examples"}},"exampleType":"examples"},"29caa63f-a787-47b3-8ea6-a60274fe4352":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable message, or a stable machine key (e.g. `batchTooLarge`, `overwriteRequired`, `duplicate`) on the batch, PPWR and upload endpoints.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable machine code on some `400` and `409` answers, e.g. `plot_geometry_invalid` or `FORK_HAS_ORDER`. Match on it rather than on `error`. Further flat keys may accompany it (e.g. `precisionDigits`, `field`).","uniqueKey":"code","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"Machine code of the issue, e.g. `invalid_type`, `too_small`, `custom`.","isRequired":true,"uniqueKey":"details.items.[INDEX].code","typeLabel":"string"},"path":{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"details.items.[INDEX].path.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"details.items.[INDEX].path.items.[INDEX].oneOf.1","typeLabel":"number"}],"uniqueKey":"details.items.[INDEX].path.items.[INDEX]","typeLabel":"string | number"},"description":"Location of the offending value in the request: object keys and 0-based array positions.","isRequired":true,"uniqueKey":"details.items.[INDEX].path","typeLabel":"(string | number)[]"},"message":{"type":"string","description":"Human-readable English explanation. The wording may change; match on `code` and `path`.","isRequired":true,"uniqueKey":"details.items.[INDEX].message","typeLabel":"string"}},"required":["code","path","message"],"additionalProperties":{"oneOf":[{}],"uniqueKey":"details.items.[INDEX].additionalProperties","typeLabel":"any"},"description":"One validation issue. Issue-specific keys (e.g. `expected`, `minimum`) may accompany the three listed.","uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"description":"The validation issues on a `400` validation error.","uniqueKey":"details","typeLabel":"object[]"},"warnings":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["duplicateName","duplicateEan"],"description":"`duplicateName`: a live article of your company already has this name. `duplicateEan`: a live article already has this EAN.","isRequired":true,"uniqueKey":"warnings.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"existingInternalArticleNr":{"type":"string","description":"`duplicateName` only: internal article number of the existing article.","uniqueKey":"warnings.items.[INDEX].existingInternalArticleNr","typeLabel":"string"},"existingArticleName":{"type":"string","description":"`duplicateEan` only: name of the existing article.","uniqueKey":"warnings.items.[INDEX].existingArticleName","typeLabel":"string"}},"required":["type"],"uniqueKey":"warnings.items.[INDEX]","typeLabel":"object"},"description":"`POST /articles` `409` only: soft duplicate warnings. Resend with `acknowledgeWarnings: true` to create the article anyway.","uniqueKey":"warnings","typeLabel":"object[]"}},"required":["error"],"additionalProperties":{"oneOf":[{}],"uniqueKey":"additionalProperties","typeLabel":"any"},"description":"Error body of every endpoint except the `429` the edge answers. Some errors add flat machine-readable keys next to `error`, e.g. `maxBatchSize` on `413 batchTooLarge` or `confirmUpdateCount` on `409 overwriteRequired`.","uniqueKey":"","typeLabel":"object"},"example":{"error":"Internal server error"},"examples":{"Example":{"title":"Example","value":{"error":"Internal server error"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"bae4c7a0-d716-46dc-bfdc-909a8704f12f":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Key","description":"API key generated in Settings > API Keys. Include as `Authorization: Bearer \u003ckey>`.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"525ee7a2-0b29-4150-83c9-6311c95aea37":{"url":"https://app.polygon-one.com","description":"Production Server"}},"schemas":{"23846a46-9330-4037-a213-f86cdc9d94de":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the supplier.","isRequired":true},"name":{"type":"string","description":"Supplier company name.","isRequired":true},"contactName":{"type":"string","description":"Contact person; empty string when none is recorded.","isRequired":true},"country":{"type":"string","description":"Country of the supplier as recorded (the value sent on create, e.g. a country name); empty string when unknown.","isRequired":true},"status":{"type":"string","description":"Deprecated: legacy data-completeness flag, no longer maintained. Read `articles[].complianceResults` for the supplier's compliance status. One of: `data_incomplete`, `data_complete`, `dds_submitted`.","isRequired":true},"externalSupplierId":{"oneOf":[{"type":"string","description":"External ID from your ERP system","isRequired":true},{"type":"null","description":"External ID from your ERP system","isRequired":true}],"isRequired":true},"email":{"type":"string","description":"Contact email; empty string when none is recorded.","isRequired":true},"articles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the article.","isRequired":true},"name":{"type":"string","description":"Article name.","isRequired":true},"shortDescription":{"type":"string","description":"Short description of the article; empty string when none was given.","isRequired":true},"internalArticleNr":{"type":"string","description":"Internal article number (your ERP ID), unique per company. A per-order copy of an article carries `\u003cinternalArticleNr>#\u003corderNumber>`; the number to show to people is `externalArticleNr` when set, else `internalArticleNr`.","isRequired":true},"externalArticleNr":{"oneOf":[{"type":"string","description":"External article number, e.g. a supplier's or customer's number. On a per-order copy it holds the original article's `internalArticleNr`.","isRequired":true},{"type":"null","description":"External article number, e.g. a supplier's or customer's number. On a per-order copy it holds the original article's `internalArticleNr`.","isRequired":true}],"isRequired":true},"ean":{"oneOf":[{"type":"string","description":"EAN / GTIN barcode, or `null`.","isRequired":true},{"type":"null","description":"EAN / GTIN barcode, or `null`.","isRequired":true}],"isRequired":true},"hsCode":{"type":"string","description":"Harmonized System code","isRequired":true},"articleType":{"type":"string","description":"`purchase` (bought from a supplier) or `sale` (sold by your company).","isRequired":true},"eudrRelevant":{"type":"boolean","description":"Automatically determined from HS code","isRequired":true},"needsManualCheck":{"type":"boolean","description":"`true` when the EUDR classification derived from the HS code should be checked by a person.","isRequired":true},"sourceScope":{"type":"string","description":"`standing`: the article's source is fixed. `perOrder`: the article is a template whose source varies per order; order import creates one copy per order from it.","isRequired":true},"hsPlausibility":{"oneOf":[{"type":"object","description":"Stored result of an advisory check of the HS code against the article description, or `null` when not checked. Stored only: it never warns about or blocks a create or update. The object's shape is not part of the v1 contract and may change — do not depend on it.","additionalProperties":{"oneOf":[{}]},"isRequired":true},{"type":"null","description":"Stored result of an advisory check of the HS code against the article description, or `null` when not checked. Stored only: it never warns about or blocks a create or update. The object's shape is not part of the v1 contract and may change — do not depend on it.","additionalProperties":{"oneOf":[{}]},"isRequired":true}],"isRequired":true},"suppliers":{"type":"array","items":{"$circularRef":"23846a46-9330-4037-a213-f86cdc9d94de"},"description":"The suppliers linked to the article. Embedded suppliers carry empty `articles` and `plots`.","isRequired":true},"plots":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the plot.","isRequired":true},"companyId":{"type":"string","description":"UUID of your company (the plot's owner).","isRequired":true},"name":{"type":"string","description":"Plot name; empty string when none was given.","isRequired":true},"species":{"type":"array","items":{"oneOf":[{}]},"description":"Tree species recorded for the plot (entries as sent on create, with `commonName` and `scientificName`). The item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true},"country":{"type":"string","description":"Country as sent on create; ISO 3166-1 alpha-2 (e.g. `BR`) expected but not validated. Empty string when unknown.","isRequired":true},"size":{"type":"number","description":"Declared area in hectares; `0` when none was given.","isRequired":true},"requiresAreaPlausibilityReview":{"type":"boolean","description":"`true` when the declared or the measured area exceeds 10,000 ha, so the area should be checked by a person.","isRequired":true},"commodityGroup":{"oneOf":[{"type":"string","description":"EUDR commodity group of the plot (a `CommodityGroup` value), or `null`.","isRequired":true},{"type":"null","description":"EUDR commodity group of the plot (a `CommodityGroup` value), or `null`.","isRequired":true}],"isRequired":true},"deforestationRiskResult":{"oneOf":[{"type":"number","description":"Stored deforestation risk as a number: `0` low, `2` moderate, `1` high; `null` when no result is stored or the analysis was invalid. `GET /api/v1/plots/{id}` carries the readable `analysis.riskLevel`.","isRequired":true},{"type":"null","description":"Stored deforestation risk as a number: `0` low, `2` moderate, `1` high; `null` when no result is stored or the analysis was invalid. `GET /api/v1/plots/{id}` carries the readable `analysis.riskLevel`.","isRequired":true}],"isRequired":true},"createdAt":{"oneOf":[{"type":"string","description":"When the plot was created (ISO 8601, UTC), or `null`.","isRequired":true},{"type":"null","description":"When the plot was created (ISO 8601, UTC), or `null`.","isRequired":true}],"isRequired":true},"updatedAt":{"oneOf":[{"type":"string","description":"When the plot was last changed (ISO 8601, UTC), or `null`.","isRequired":true},{"type":"null","description":"When the plot was last changed (ISO 8601, UTC), or `null`.","isRequired":true}],"isRequired":true},"analysisStatus":{"type":"string","description":"State of the deforestation analysis: `pending`, `in_progress`, `completed`, `failed`, `exempt` or `skipped`.","isRequired":true},"isDegraded":{"oneOf":[{"type":"boolean","description":"Whether the plot carries an unresolved forest-degradation risk (wood only); `null` when not determined.","isRequired":true},{"type":"null","description":"Whether the plot carries an unresolved forest-degradation risk (wood only); `null` when not determined.","isRequired":true}],"isRequired":true},"geojson":{"oneOf":[{"type":"object","description":"The stored geometry as GeoJSON (RFC 7946): a Feature or a bare Geometry in WGS84 longitude/latitude; `null` when none is stored.","additionalProperties":{"oneOf":[{}]},"isRequired":true},{"type":"null","description":"The stored geometry as GeoJSON (RFC 7946): a Feature or a bare Geometry in WGS84 longitude/latitude; `null` when none is stored.","additionalProperties":{"oneOf":[{}]},"isRequired":true}],"isRequired":true},"supplierArticleIds":{"type":"array","items":{"type":"string"},"description":"UUIDs of the supplier articles the plot is linked to.","isRequired":true},"createdByUserId":{"type":"string","description":"UUID of the user who created the plot (for an API key: the user the key acts as); absent when unknown."},"productionDateFrom":{"type":"string","description":"Start of the production period (ISO 8601, midnight UTC of the stored day); absent when not set."},"productionDateTo":{"type":"string","description":"End of the production period (ISO 8601, midnight UTC of the stored day); absent when not set."},"producerName":{"type":"string","description":"Name of the producer; absent when not set."},"importSourceFormat":{"type":"string","description":"File format the plot was imported from in the app: `geojson`, `wkt`, `point_csv`, `kml`, `kmz` or `document_extraction`; absent otherwise."},"importPrecisionClass":{"type":"string","description":"Coordinate precision class measured at import: `ok` (6 or more decimals), `borderline` (5), `low` (4), `reject` (3 or fewer) or `mixed`; absent when not measured."},"importPrecisionDigits":{"type":"number","description":"Fewest decimal places of any coordinate, as measured at import; absent when not measured."},"importPrecisionAcceptedAt":{"type":"string","description":"When the plot's coordinate precision was accepted despite being below the EUDR format (ISO 8601, UTC); absent when no acceptance is recorded."},"importPrecisionAcceptedBy":{"type":"string","description":"UUID of the user who accepted the coordinate precision; absent when no user is recorded."},"importPrecisionAcceptedByName":{"type":"string","description":"Name of the user who accepted the coordinate precision; absent when not known."},"importOriginalCentroidLng":{"type":"number","description":"Longitude of the centroid of the geometry as originally imported (e.g. before a point was turned into a circle); absent when not recorded."},"importOriginalCentroidLat":{"type":"number","description":"Latitude of the centroid of the geometry as originally imported; absent when not recorded."},"forestPercentage":{"type":"number","description":"Share of the plot that is forest in the JRC Global Forest Cover 2020 map, in percent; absent until measured."}},"required":["id","companyId","name","species","country","size","requiresAreaPlausibilityReview","commodityGroup","deforestationRiskResult","createdAt","updatedAt","analysisStatus","isDegraded","geojson","supplierArticleIds"]},"description":"Order-line and DDS-line articles carry `plots: []` (DDS line plots live on `DdsStatementArticle.plots`). The article endpoints serve articles as `ArticleResponse` (distinct plots without geometry, capped at 1000); articles on the supplier endpoints (`SupplierResponseArticle`) carry no plot list — use GET /articles/{id}.","isRequired":true},"complianceResults":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the compliance result.","isRequired":true},"supplierArticleId":{"type":"string","description":"UUID of the supplier article (one article from one supplier) this result belongs to.","isRequired":true},"overallStatus":{"type":"string","description":"One of: `compliant`, `non_compliant`, `invalid`, `unknown`, `not_eudr_relevant`, `pending_review`, `not_required_before_cutoff`, `covered_by_upstream_dds`.","isRequired":true},"geoStatus":{"type":"string","description":"One of: `compliant`, `non_compliant`, `invalid`, `unknown`, `not_eudr_relevant`, `pending_review`, `not_required_before_cutoff`, `covered_by_upstream_dds`.","isRequired":true},"legalStatus":{"type":"string","description":"One of: `compliant`, `non_compliant`, `invalid`, `unknown`, `not_eudr_relevant`, `pending_review`, `not_required_before_cutoff`, `covered_by_upstream_dds`.","isRequired":true},"manuallyOverridden":{"type":"boolean","description":"`true` when a user set this verdict by hand; it may then intentionally differ from what the evidence alone supports.","isRequired":true},"evidenceOpen":{"type":"boolean","description":"`true` when the result is `non_compliant` only because no document has been provided yet for the failing legal categories (shown as \"evidence open\" in the app). `false` otherwise.","isRequired":true},"generatedReportUrl":{"oneOf":[{"type":"string","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true},{"type":"null","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true}],"isRequired":true},"generatedAt":{"oneOf":[{"type":"string","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true},{"type":"null","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true}],"isRequired":true},"updatedAt":{"type":"string","description":"When the result was last recalculated (ISO 8601, UTC).","isRequired":true}},"required":["id","supplierArticleId","overallStatus","geoStatus","legalStatus","manuallyOverridden","evidenceOpen","generatedReportUrl","generatedAt","updatedAt"]},"description":"The EUDR compliance result per supplier link of the article.","isRequired":true},"geoComplianceResults":{"type":"array","items":{"oneOf":[{}]},"description":"Geolocation compliance details. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true},"legalComplianceResults":{"type":"array","items":{"oneOf":[{}]},"description":"Legal compliance details. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true},"legalDocuments":{"type":"array","items":{"oneOf":[{}]},"description":"Legal documents on record. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true},"legalCategoryResults":{"type":"array","items":{"oneOf":[{}]},"description":"Per-category legal compliance results. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true},"questionnaires":{"type":"array","items":{"oneOf":[{}]},"description":"Supplier questionnaire responses. Present, but the item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true},"countryOfProduction":{"oneOf":[{"type":"array","items":{"type":"string"},"description":"Countries of production declared on one of the article's supplier links (which one is not specified), or `null`.","isRequired":true},{"type":"null","description":"Countries of production declared on one of the article's supplier links (which one is not specified), or `null`.","isRequired":true}],"isRequired":true},"commodityGroup":{"type":"string","description":"EUDR commodity group, derived from the HS code unless set explicitly. One of the `CommodityGroup` values.","isRequired":true},"weightPerPieceKg":{"oneOf":[{"type":"number","description":"Weight of one piece in kg, used to derive net mass from a piece count; `null` when unknown.","isRequired":true},{"type":"null","description":"Weight of one piece in kg, used to derive net mass from a piece count; `null` when unknown.","isRequired":true}],"isRequired":true},"deletedAt":{"oneOf":[{"type":"string","description":"When the article was moved to the trash (ISO 8601, UTC); `null` for a live article.","isRequired":true},{"type":"null","description":"When the article was moved to the trash (ISO 8601, UTC); `null` for a live article.","isRequired":true}],"isRequired":true},"certifications":{"type":"array","items":{"oneOf":[{}]},"description":"Certifications (e.g. FSC, PEFC) on record for the article; absent when the article has no supplier link. Present, but the item shape is not part of the v1 contract and may change — do not depend on it."},"ownSupplierArticleIds":{"type":"array","items":{"type":"string"},"description":"UUIDs of the article's own supplier articles (one per linked supplier); absent when the article has no supplier link."},"supplierLinks":{"type":"array","items":{"type":"object","properties":{"supplierId":{"type":"string","description":"UUID of the linked supplier.","isRequired":true},"supplierArticleId":{"type":"string","description":"UUID of the supplier article: this article as supplied by that supplier.","isRequired":true}},"required":["supplierId","supplierArticleId"]},"description":"The article's supplier links. `supplierArticleId` addresses this article for one supplier: pass it in `supplierArticleIds` of `POST /api/v1/plots`. Present on the article endpoints and on order-line articles; `[]` when the article has no supplier."},"inputArticles":{"type":"array","items":{"oneOf":[{}]},"description":"Upstream input articles recorded for the article's supply chain; absent when there are none. Present, but the item shape is not part of the v1 contract and may change — do not depend on it."}},"required":["id","name","shortDescription","internalArticleNr","externalArticleNr","ean","hsCode","articleType","eudrRelevant","needsManualCheck","sourceScope","hsPlausibility","suppliers","plots","complianceResults","geoComplianceResults","legalComplianceResults","legalDocuments","legalCategoryResults","questionnaires","countryOfProduction","commodityGroup","weightPerPieceKg","deletedAt"]},"description":"The articles linked to the supplier. Suppliers embedded in an article carry `[]`.","isRequired":true},"plots":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the plot.","isRequired":true},"companyId":{"type":"string","description":"UUID of your company (the plot's owner).","isRequired":true},"name":{"type":"string","description":"Plot name; empty string when none was given.","isRequired":true},"species":{"type":"array","items":{"oneOf":[{}]},"description":"Tree species recorded for the plot (entries as sent on create, with `commonName` and `scientificName`). The item shape is not part of the v1 contract and may change — do not depend on it.","isRequired":true},"country":{"type":"string","description":"Country as sent on create; ISO 3166-1 alpha-2 (e.g. `BR`) expected but not validated. Empty string when unknown.","isRequired":true},"size":{"type":"number","description":"Declared area in hectares; `0` when none was given.","isRequired":true},"requiresAreaPlausibilityReview":{"type":"boolean","description":"`true` when the declared or the measured area exceeds 10,000 ha, so the area should be checked by a person.","isRequired":true},"commodityGroup":{"oneOf":[{"type":"string","description":"EUDR commodity group of the plot (a `CommodityGroup` value), or `null`.","isRequired":true},{"type":"null","description":"EUDR commodity group of the plot (a `CommodityGroup` value), or `null`.","isRequired":true}],"isRequired":true},"deforestationRiskResult":{"oneOf":[{"type":"number","description":"Stored deforestation risk as a number: `0` low, `2` moderate, `1` high; `null` when no result is stored or the analysis was invalid. `GET /api/v1/plots/{id}` carries the readable `analysis.riskLevel`.","isRequired":true},{"type":"null","description":"Stored deforestation risk as a number: `0` low, `2` moderate, `1` high; `null` when no result is stored or the analysis was invalid. `GET /api/v1/plots/{id}` carries the readable `analysis.riskLevel`.","isRequired":true}],"isRequired":true},"createdAt":{"oneOf":[{"type":"string","description":"When the plot was created (ISO 8601, UTC), or `null`.","isRequired":true},{"type":"null","description":"When the plot was created (ISO 8601, UTC), or `null`.","isRequired":true}],"isRequired":true},"updatedAt":{"oneOf":[{"type":"string","description":"When the plot was last changed (ISO 8601, UTC), or `null`.","isRequired":true},{"type":"null","description":"When the plot was last changed (ISO 8601, UTC), or `null`.","isRequired":true}],"isRequired":true},"analysisStatus":{"type":"string","description":"State of the deforestation analysis: `pending`, `in_progress`, `completed`, `failed`, `exempt` or `skipped`.","isRequired":true},"isDegraded":{"oneOf":[{"type":"boolean","description":"Whether the plot carries an unresolved forest-degradation risk (wood only); `null` when not determined.","isRequired":true},{"type":"null","description":"Whether the plot carries an unresolved forest-degradation risk (wood only); `null` when not determined.","isRequired":true}],"isRequired":true},"geojson":{"oneOf":[{"type":"object","description":"The stored geometry as GeoJSON (RFC 7946): a Feature or a bare Geometry in WGS84 longitude/latitude; `null` when none is stored.","additionalProperties":{"oneOf":[{}]},"isRequired":true},{"type":"null","description":"The stored geometry as GeoJSON (RFC 7946): a Feature or a bare Geometry in WGS84 longitude/latitude; `null` when none is stored.","additionalProperties":{"oneOf":[{}]},"isRequired":true}],"isRequired":true},"supplierArticleIds":{"type":"array","items":{"type":"string"},"description":"UUIDs of the supplier articles the plot is linked to.","isRequired":true},"createdByUserId":{"type":"string","description":"UUID of the user who created the plot (for an API key: the user the key acts as); absent when unknown."},"productionDateFrom":{"type":"string","description":"Start of the production period (ISO 8601, midnight UTC of the stored day); absent when not set."},"productionDateTo":{"type":"string","description":"End of the production period (ISO 8601, midnight UTC of the stored day); absent when not set."},"producerName":{"type":"string","description":"Name of the producer; absent when not set."},"importSourceFormat":{"type":"string","description":"File format the plot was imported from in the app: `geojson`, `wkt`, `point_csv`, `kml`, `kmz` or `document_extraction`; absent otherwise."},"importPrecisionClass":{"type":"string","description":"Coordinate precision class measured at import: `ok` (6 or more decimals), `borderline` (5), `low` (4), `reject` (3 or fewer) or `mixed`; absent when not measured."},"importPrecisionDigits":{"type":"number","description":"Fewest decimal places of any coordinate, as measured at import; absent when not measured."},"importPrecisionAcceptedAt":{"type":"string","description":"When the plot's coordinate precision was accepted despite being below the EUDR format (ISO 8601, UTC); absent when no acceptance is recorded."},"importPrecisionAcceptedBy":{"type":"string","description":"UUID of the user who accepted the coordinate precision; absent when no user is recorded."},"importPrecisionAcceptedByName":{"type":"string","description":"Name of the user who accepted the coordinate precision; absent when not known."},"importOriginalCentroidLng":{"type":"number","description":"Longitude of the centroid of the geometry as originally imported (e.g. before a point was turned into a circle); absent when not recorded."},"importOriginalCentroidLat":{"type":"number","description":"Latitude of the centroid of the geometry as originally imported; absent when not recorded."},"forestPercentage":{"type":"number","description":"Share of the plot that is forest in the JRC Global Forest Cover 2020 map, in percent; absent until measured."}},"required":["id","companyId","name","species","country","size","requiresAreaPlausibilityReview","commodityGroup","deforestationRiskResult","createdAt","updatedAt","analysisStatus","isDegraded","geojson","supplierArticleIds"]},"description":"Suppliers embedded in articles, orders and DDS lines carry `plots: []`. The supplier endpoints serve `SupplierResponse`: distinct plots without geometry, capped at 1000, and articles without a plot list.","isRequired":true},"complianceResults":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the compliance result.","isRequired":true},"supplierArticleId":{"type":"string","description":"UUID of the supplier article (one article from one supplier) this result belongs to.","isRequired":true},"overallStatus":{"type":"string","description":"One of: `compliant`, `non_compliant`, `invalid`, `unknown`, `not_eudr_relevant`, `pending_review`, `not_required_before_cutoff`, `covered_by_upstream_dds`.","isRequired":true},"geoStatus":{"type":"string","description":"One of: `compliant`, `non_compliant`, `invalid`, `unknown`, `not_eudr_relevant`, `pending_review`, `not_required_before_cutoff`, `covered_by_upstream_dds`.","isRequired":true},"legalStatus":{"type":"string","description":"One of: `compliant`, `non_compliant`, `invalid`, `unknown`, `not_eudr_relevant`, `pending_review`, `not_required_before_cutoff`, `covered_by_upstream_dds`.","isRequired":true},"manuallyOverridden":{"type":"boolean","description":"`true` when a user set this verdict by hand; it may then intentionally differ from what the evidence alone supports.","isRequired":true},"evidenceOpen":{"type":"boolean","description":"`true` when the result is `non_compliant` only because no document has been provided yet for the failing legal categories (shown as \"evidence open\" in the app). `false` otherwise.","isRequired":true},"generatedReportUrl":{"oneOf":[{"type":"string","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true},{"type":"null","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true}],"isRequired":true},"generatedAt":{"oneOf":[{"type":"string","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true},{"type":"null","description":"Reserved; not populated by the current platform — expect `null`.","isRequired":true}],"isRequired":true},"updatedAt":{"type":"string","description":"When the result was last recalculated (ISO 8601, UTC).","isRequired":true}},"required":["id","supplierArticleId","overallStatus","geoStatus","legalStatus","manuallyOverridden","evidenceOpen","generatedReportUrl","generatedAt","updatedAt"]},"description":"Compliance results at supplier level. Compliance results live per article (`articles[].complianceResults`); expect `[]` here.","isRequired":true},"isCompanySelf":{"type":"boolean","description":"True if this supplier represents your own company (for sale articles)","isRequired":true},"supplierArticles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the supplier article (this supplier's link to one article) — what `supplierArticleIds` of `POST /api/v1/plots` takes.","isRequired":true},"supplierId":{"type":"string","description":"UUID of the supplier.","isRequired":true},"articleId":{"type":"string","description":"UUID of the linked article.","isRequired":true},"producerName":{"oneOf":[{"type":"string","description":"Name of the producer recorded for this link, or `null`.","isRequired":true},{"type":"null","description":"Name of the producer recorded for this link, or `null`.","isRequired":true}],"isRequired":true},"countryOfProduction":{"oneOf":[{"type":"array","items":{"type":"string"},"description":"Countries of production declared for this link, as canonical English country names (e.g. `\"Brazil\"`). ISO 3166-1 alpha-2 / alpha-3 codes and localized names are accepted on write and read back as the name; values that do not resolve to a known country are stored as sent; older records may still hold the value as originally sent. `null` when none is recorded.","isRequired":true},{"type":"null","description":"Countries of production declared for this link, as canonical English country names (e.g. `\"Brazil\"`). ISO 3166-1 alpha-2 / alpha-3 codes and localized names are accepted on write and read back as the name; values that do not resolve to a known country are stored as sent; older records may still hold the value as originally sent. `null` when none is recorded.","isRequired":true}],"isRequired":true},"supplierDdsReference":{"oneOf":[{"type":"string","description":"Reference number of the supplier's own DDS for this article, when recorded; `null` otherwise.","isRequired":true},{"type":"null","description":"Reference number of the supplier's own DDS for this article, when recorded; `null` otherwise.","isRequired":true}],"isRequired":true}},"required":["id","supplierId","articleId","producerName","countryOfProduction","supplierDdsReference"]},"description":"The supplier's links to articles (one supplier article per linked article).","isRequired":true},"deletedAt":{"oneOf":[{"type":"string","description":"When the supplier was moved to the trash (ISO 8601, UTC); `null` for a live supplier.","isRequired":true},{"type":"null","description":"When the supplier was moved to the trash (ISO 8601, UTC); `null` for a live supplier.","isRequired":true}],"isRequired":true},"assignedToUserId":{"oneOf":[{"type":"string","description":"UUID of the user in your company responsible for this supplier, or `null`.","isRequired":true},{"type":"null","description":"UUID of the user in your company responsible for this supplier, or `null`.","isRequired":true}],"isRequired":true},"otpContactEmail":{"oneOf":[{"type":"string","description":"The email address the supplier confirmed for one-time security codes in the supplier portal, or `null`.","isRequired":true},{"type":"null","description":"The email address the supplier confirmed for one-time security codes in the supplier portal, or `null`.","isRequired":true}],"isRequired":true},"otpContactConfirmedAt":{"oneOf":[{"type":"string","description":"When the supplier confirmed `otpContactEmail` (ISO 8601, UTC), or `null`.","isRequired":true},{"type":"null","description":"When the supplier confirmed `otpContactEmail` (ISO 8601, UTC), or `null`.","isRequired":true}],"isRequired":true},"otpExemptUntil":{"oneOf":[{"type":"string","description":"Until when the supplier is exempt from one-time security codes in the supplier portal (ISO 8601, UTC), or `null`.","isRequired":true},{"type":"null","description":"Until when the supplier is exempt from one-time security codes in the supplier portal (ISO 8601, UTC), or `null`.","isRequired":true}],"isRequired":true},"address":{"type":"object","properties":{"street":{"type":"string","description":"Street and house number (or the full one-line address).","isRequired":true},"city":{"type":"string","description":"City; may be empty.","isRequired":true},"postalCode":{"type":"string","description":"Postal code; may be empty.","isRequired":true}},"required":["street","city","postalCode"],"description":"Postal address; absent when none is recorded."}},"required":["id","name","contactName","country","status","externalSupplierId","email","articles","plots","complianceResults","isCompanySelf","supplierArticles","deletedAt","assignedToUserId","otpContactEmail","otpContactConfirmedAt","otpExemptUntil"]}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"API Key","description":"API key generated in Settings > API Keys. Include as `Authorization: Bearer \u003ckey>`.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key generated in Settings > API Keys. Include as `Authorization: Bearer \u003ckey>`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"polygonone","siteName":"Polygon One Helpcenter","title":"List Articles - Polygon One Helpcenter","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"de":{"href":"/api-reference/endpoint/articles/list","matchLevel":1},"en":{"href":"/en/api-reference/endpoint/articles/list","matchLevel":0},"fr":{"href":"/fr/lieferanten/start","matchLevel":4},"es":{"href":"/es/lieferanten/start","matchLevel":4},"zh":{"href":"/zh/lieferanten/start","matchLevel":4}}},"lastModified":"2026-10-05T09:14:12.723Z","originalFileLocation":"en/api-reference/endpoint/articles/list.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Retrieve a paginated list of articles. Supports filtering by article number, HS code, supplier number, order number, species, commodity group, article type, and EUDR relevance.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Polygon One Helpcenter\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/polygonone/32k2Y3_9P8MpmQgs/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/polygonone/32k2Y3_9P8MpmQgs/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/polygonone/32k2Y3_9P8MpmQgs/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/polygonone/32k2Y3_9P8MpmQgs/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/polygonone/32k2Y3_9P8MpmQgs/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/polygonone/32k2Y3_9P8MpmQgs/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/polygonone/32k2Y3_9P8MpmQgs/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/polygonone/32k2Y3_9P8MpmQgs/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/polygonone/32k2Y3_9P8MpmQgs/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"List Articles - Polygon One Helpcenter\">\u003cmeta data-mint-head property=\"og:description\" content=\"Retrieve a paginated list of articles. Supports filtering by article number, HS code, supplier number, order number, species, commodity group, article type, and EUDR relevance.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Polygon One Helpcenter\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://help.polygon-one.com/en/api-reference/endpoint/articles/list\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://polygonone.mintlify.app/_mintlify/api/og/v2?division=Articles\u0026amp;title=List+Articles\u0026amp;description=Retrieve+a+paginated+list+of+articles.+Supports+filtering+by+article+number%2C+HS+code%2C+supplier+number%2C+order+number%2C+species%2C+commodity+group%2C+article+type%2C+and\u0026amp;theme=0c175d962800f7cffd688852\u0026amp;signature=e19798c4762b3b05c8225ec3fa432ddcc32e00d6ffb7860ffe589c5cca3c4025\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"List Articles - Polygon One Helpcenter\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Retrieve a paginated list of articles. Supports filtering by article number, HS code, supplier number, order number, species, commodity group, article type, and EUDR relevance.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://polygonone.mintlify.app/_mintlify/api/og/v2?division=Articles\u0026amp;title=List+Articles\u0026amp;description=Retrieve+a+paginated+list+of+articles.+Supports+filtering+by+article+number%2C+HS+code%2C+supplier+number%2C+order+number%2C+species%2C+commodity+group%2C+article+type%2C+and\u0026amp;theme=0c175d962800f7cffd688852\u0026amp;signature=e19798c4762b3b05c8225ec3fa432ddcc32e00d6ffb7860ffe589c5cca3c4025\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/polygonone/32k2Y3_9P8MpmQgs/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Polygon One Helpcenter\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#15803D\">\u003clink data-mint-head rel=\"canonical\" href=\"https://help.polygon-one.com/en/api-reference/endpoint/articles/list\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/en/api-reference/endpoint/articles/list.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://help.polygon-one.com/en/api-reference/endpoint/articles/list\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://help.polygon-one.com/api-reference/endpoint/articles/list\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://help.polygon-one.com/api-reference/endpoint/articles/list\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://help.polygon-one.com/#organization\",\"name\":\"Polygon One Helpcenter\",\"url\":\"https://help.polygon-one.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/polygonone/AMoRp9VbcW46gNsT/logo/light.svg?fit=max\u0026auto=format\u0026n=AMoRp9VbcW46gNsT\u0026q=85\u0026s=4a316da81d50e49c7f9f6480a235558e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://help.polygon-one.com#website\",\"name\":\"Polygon One Helpcenter\",\"url\":\"https://help.polygon-one.com\",\"publisher\":{\"@id\":\"https://help.polygon-one.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://help.polygon-one.com/en/api-reference/endpoint/articles/list#webpage\",\"url\":\"https://help.polygon-one.com/en/api-reference/endpoint/articles/list\",\"name\":\"List Articles\",\"description\":\"Retrieve a paginated list of articles. Supports filtering by article number, HS code, supplier number, order number, species, commodity group, article type, and EUDR relevance.\",\"dateModified\":\"2026-10-05T09:14:12.723Z\",\"isPartOf\":{\"@id\":\"https://help.polygon-one.com#website\"},\"breadcrumb\":{\"@id\":\"https://help.polygon-one.com/en/api-reference/endpoint/articles/list#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://help.polygon-one.com/en/api-reference/endpoint/articles/list#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Polygon One Helpcenter\",\"item\":\"https://help.polygon-one.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"List Articles\",\"item\":\"https://help.polygon-one.com/en/api-reference/endpoint/articles/list\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://help.polygon-one.com/en/api-reference/endpoint/articles/list#apireference\",\"headline\":\"List Articles\",\"name\":\"List Articles\",\"description\":\"Retrieve a paginated list of articles. Supports filtering by article number, HS code, supplier number, order number, species, commodity group, article type, and EUDR relevance.\",\"url\":\"https://help.polygon-one.com/en/api-reference/endpoint/articles/list\",\"mainEntityOfPage\":{\"@id\":\"https://help.polygon-one.com/en/api-reference/endpoint/articles/list#webpage\"},\"dateModified\":\"2026-10-05T09:14:12.723Z\",\"publisher\":{\"@id\":\"https://help.polygon-one.com/#organization\"},\"isPartOf\":{\"@id\":\"https://help.polygon-one.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Polygon One Helpcenter\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Polygon One Helpcenter","nav":{"global":{"anchors":[]},"languages":[{"language":"de","default":true,"pages":[{"title":"de","href":"/api-reference/endpoint/articles/list"}]},{"language":"en","tabs":[{"tab":"EUDR","pages":[{"title":"EUDR","href":"/en"}]},{"tab":"PPWR","pages":[{"title":"PPWR","href":"/en/ppwr/uebersicht"}]},{"tab":"API Reference","groups":[{"group":"API Documentation","pages":[{"title":"Introduction","href":"/en/api-reference/introduction"},{"title":"Quickstart","href":"/en/api-reference/quickstart"},{"title":"Recommended integration flows","sidebarTitle":"Integration flows","href":"/en/api-reference/integration-flows"},{"title":"Connect Claude, ChatGPT and Copilot (MCP)","sidebarTitle":"AI assistants (MCP)","href":"/en/api-reference/ki-assistenten"},{"title":"Batch Import (async)","href":"/en/api-reference/batch-import"},{"title":"Orders: lines, positions, status, delta sync","sidebarTitle":"Orders","href":"/en/api-reference/orders"},{"title":"PPWR: Packaging Data, Quantities, Volume Reports","href":"/en/api-reference/ppwr"},{"title":"Geo analysis over the API","href":"/en/api-reference/geo-analysis"},{"title":"Errors \u0026 limits","href":"/en/api-reference/errors-and-limits"},{"title":"Changelog","description":"Changes to the Polygon One REST API, newest first","href":"/en/api-reference/changelog"}]},{"group":"Articles","pages":[{"title":"List Articles","openapi":"GET /api/v1/articles","href":"/en/api-reference/endpoint/articles/list"},{"title":"Create Article","openapi":"POST /api/v1/articles","description":"Create a single article (synchronous), or bulk-import articles (asynchronous). For purchase articles, a supplier must be specified (via `supplierId` or `supplierName`). Sale articles are automatically linked to your company. Batch rows upsert idempotently on `internalArticleNr`. **Batch form (array, or `{\"rows\": […]}` envelope, max 5000 rows) is asynchronous:** it stages an import job and returns `202` with a `jobId` — poll `GET /api/v1/import-jobs/{jobId}` for progress and the final result. A single object stays synchronous (`201`). See the Batch Import guide.","href":"/en/api-reference/endpoint/articles/create"},{"title":"Get Article by ID","openapi":"GET /api/v1/articles/{id}","href":"/en/api-reference/endpoint/articles/get"},{"title":"Update Article","openapi":"PATCH /api/v1/articles/{id}","href":"/en/api-reference/endpoint/articles/update"},{"title":"Delete Article","openapi":"DELETE /api/v1/articles/{id}","href":"/en/api-reference/endpoint/articles/delete"}]},{"group":"Suppliers","pages":[{"title":"List Suppliers","openapi":"GET /api/v1/suppliers","href":"/en/api-reference/endpoint/suppliers/list"},{"title":"Create Supplier","openapi":"POST /api/v1/suppliers","href":"/en/api-reference/endpoint/suppliers/create"},{"title":"Get Supplier by ID","openapi":"GET /api/v1/suppliers/{id}","href":"/en/api-reference/endpoint/suppliers/get"},{"title":"Update Supplier","openapi":"PATCH /api/v1/suppliers/{id}","href":"/en/api-reference/endpoint/suppliers/update"},{"title":"Delete Supplier","openapi":"DELETE /api/v1/suppliers/{id}","href":"/en/api-reference/endpoint/suppliers/delete"}]},{"group":"Plots","pages":[{"title":"List Plots","openapi":"GET /api/v1/plots","href":"/en/api-reference/endpoint/plots/list"},{"title":"Create Plot","openapi":"POST /api/v1/plots","href":"/en/api-reference/endpoint/plots/create"},{"title":"Validate Plot Geometry","openapi":"POST /api/v1/plots/validate","href":"/en/api-reference/endpoint/plots/validate"},{"title":"Get Plot by ID","openapi":"GET /api/v1/plots/{id}","href":"/en/api-reference/endpoint/plots/get"},{"title":"Download Plot Report","openapi":"GET /api/v1/plots/{id}/report","href":"/en/api-reference/endpoint/plots/report"},{"title":"Update Plot Links","openapi":"PATCH /api/v1/plots/{id}","href":"/en/api-reference/endpoint/plots/update"},{"title":"Delete Plot","openapi":"DELETE /api/v1/plots/{id}","href":"/en/api-reference/endpoint/plots/delete"}]},{"group":"Evidence","pages":[{"title":"Create Evidence Upload URL","openapi":"POST /api/v1/evidence/upload-url","href":"/en/api-reference/endpoint/evidence/upload-url"},{"title":"Attach Evidence","openapi":"POST /api/v1/evidence","href":"/en/api-reference/endpoint/evidence/create"},{"title":"List Evidence","openapi":"GET /api/v1/evidence","href":"/en/api-reference/endpoint/evidence/list"}]},{"group":"Orders","pages":[{"title":"List Orders","openapi":"GET /api/v1/orders","href":"/en/api-reference/endpoint/orders/list"},{"title":"Create Order","openapi":"POST /api/v1/orders","href":"/en/api-reference/endpoint/orders/create"},{"title":"Get Order by ID","openapi":"GET /api/v1/orders/{id}","href":"/en/api-reference/endpoint/orders/get"},{"title":"Update Order","openapi":"PATCH /api/v1/orders/{id}","href":"/en/api-reference/endpoint/orders/update"},{"title":"Delete Order","openapi":"DELETE /api/v1/orders/{id}","href":"/en/api-reference/endpoint/orders/delete"},{"title":"Request Supplier Origin Confirmation","openapi":"POST /api/v1/orders/{id}/origin-confirmation","href":"/en/api-reference/endpoint/orders/origin-confirmation"}]},{"group":"Import Jobs","pages":[{"title":"Get Import Job","openapi":"GET /api/v1/import-jobs/{jobId}","href":"/en/api-reference/endpoint/import-jobs/get"}]},{"group":"DDS Statements","pages":[{"title":"List DDS Statements","openapi":"GET /api/v1/dds-statements","href":"/en/api-reference/endpoint/dds-statements/list"},{"title":"Create DDS Statement","openapi":"POST /api/v1/dds-statements","href":"/en/api-reference/endpoint/dds-statements/create"},{"title":"Get DDS Statement","openapi":"GET /api/v1/dds-statements/{id}","href":"/en/api-reference/endpoint/dds-statements/get"},{"title":"Update DDS Statement","openapi":"PATCH /api/v1/dds-statements/{id}","href":"/en/api-reference/endpoint/dds-statements/update"},{"title":"Delete DDS Statement","openapi":"DELETE /api/v1/dds-statements/{id}","href":"/en/api-reference/endpoint/dds-statements/delete"}]},{"group":"PPWR – Packaging Data","pages":[{"title":"List Packaging Components","openapi":"GET /api/v1/ppwr/components","href":"/en/api-reference/endpoint/ppwr/components/list"},{"title":"Upsert Packaging Components","openapi":"POST /api/v1/ppwr/components","href":"/en/api-reference/endpoint/ppwr/components/upsert"},{"title":"Get Packaging Component by ID","openapi":"GET /api/v1/ppwr/components/{id}","href":"/en/api-reference/endpoint/ppwr/components/get"},{"title":"List Packaging Units","openapi":"GET /api/v1/ppwr/units","href":"/en/api-reference/endpoint/ppwr/units/list"},{"title":"Upsert Packaging Units","openapi":"POST /api/v1/ppwr/units","href":"/en/api-reference/endpoint/ppwr/units/upsert"},{"title":"Get Packaging Unit by ID","openapi":"GET /api/v1/ppwr/units/{id}","href":"/en/api-reference/endpoint/ppwr/units/get"},{"title":"Upsert Packaging Sizes","openapi":"POST /api/v1/ppwr/formats","href":"/en/api-reference/endpoint/ppwr/formats/upsert"},{"title":"Create Bill-of-Materials Links","openapi":"POST /api/v1/ppwr/links","href":"/en/api-reference/endpoint/ppwr/links/create"},{"title":"Create Article Links","openapi":"POST /api/v1/ppwr/article-links","href":"/en/api-reference/endpoint/ppwr/article-links/create"}]},{"group":"PPWR – Documents","pages":[{"title":"Create Document Upload URL","openapi":"POST /api/v1/ppwr/documents/upload-url","href":"/en/api-reference/endpoint/ppwr/documents/upload-url"},{"title":"Attach Document","openapi":"POST /api/v1/ppwr/documents","href":"/en/api-reference/endpoint/ppwr/documents/create"}]},{"group":"PPWR – Declarations of Conformity","pages":[{"title":"List Declarations of Conformity","openapi":"GET /api/v1/ppwr/declarations","href":"/en/api-reference/endpoint/ppwr/declarations/list"},{"title":"Get Declaration of Conformity by ID","openapi":"GET /api/v1/ppwr/declarations/{id}","href":"/en/api-reference/endpoint/ppwr/declarations/get"},{"title":"Download Declaration of Conformity","openapi":"GET /api/v1/ppwr/declarations/{id}/pdf","href":"/en/api-reference/endpoint/ppwr/declarations/pdf"}]},{"group":"PPWR – Quantities \u0026 Volume Reports","pages":[{"title":"Push SKU Quantities","openapi":"POST /api/v1/ppwr/quantities","href":"/en/api-reference/endpoint/ppwr/quantities/create"},{"title":"Push Material Tonnage","openapi":"POST /api/v1/ppwr/tonnage","href":"/en/api-reference/endpoint/ppwr/tonnage/create"},{"title":"Delete Material Tonnage","openapi":"DELETE /api/v1/ppwr/tonnage","href":"/en/api-reference/endpoint/ppwr/tonnage/delete"},{"title":"List Volume Reports","openapi":"GET /api/v1/ppwr/mengenmeldung/reports","href":"/en/api-reference/endpoint/ppwr/mengenmeldung/list"},{"title":"Generate Volume Report","openapi":"POST /api/v1/ppwr/mengenmeldung/reports","href":"/en/api-reference/endpoint/ppwr/mengenmeldung/create"},{"title":"Download Volume Report File","openapi":"GET /api/v1/ppwr/mengenmeldung/{reportId}/xml","href":"/en/api-reference/endpoint/ppwr/mengenmeldung/download"}]}]},{"tab":"For suppliers","icon":"truck","pages":[{"title":"For suppliers","href":"/en/lieferanten/start"}]}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/lieferanten/start"}]},{"language":"es","pages":[{"title":"es","href":"/es/lieferanten/start"}]},{"language":"zh","pages":[{"title":"zh","href":"/zh/lieferanten/start"}]}]},"title":"List Articles - Polygon One Helpcenter","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","clsx-rL8ZCCw4.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-aeztFa9U.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BywkCr5C.js"]}