Create a single supplier (synchronous), or bulk-import suppliers (asynchronous). Batch rows upsert idempotently on externalSupplierId (or name). 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.
Additional contact emails (max 10), copied on every email to this supplier. An address equal to email is ignored; an invalid address rejects the request.
The stored supplier fields. Further keys may be present and are not part of the contract; read the full supplier with GET /api/v1/suppliers/{id}.
Show child attributes
{"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/suppliers/create","slug":"/en/api-reference/endpoint/suppliers/create","pageMetadata":{"title":"Create Supplier","openapi":"POST /api/v1/suppliers","description":"Create a single supplier (synchronous), or bulk-import suppliers (asynchronous). Batch rows upsert idempotently on `externalSupplierId` (or name). **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/suppliers/create"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Create a single supplier (synchronous), or bulk-import suppliers (asynchronous). Batch rows upsert idempotently on \", _jsx(_components.code, {\n children: \"externalSupplierId\"\n }), \" (or name). \", _jsxs(_components.strong, {\n children: [\"Batch form (array, or \", _jsx(_components.code, {\n children: \"{\\\"rows\\\": […]}\"\n }), \" envelope, max 5000 rows) is asynchronous:\"]\n }), \" it stages an import job and returns \", _jsx(_components.code, {\n children: \"202\"\n }), \" with a \", _jsx(_components.code, {\n children: \"jobId\"\n }), \" — poll \", _jsx(_components.code, {\n children: \"GET /api/v1/import-jobs/{jobId}\"\n }), \" for progress and the final result. A single object stays synchronous (\", _jsx(_components.code, {\n children: \"201\"\n }), \"). See the Batch Import guide.\"]\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}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":"Create Supplier","openapi":"POST /api/v1/suppliers","description":"Create a single supplier (synchronous), or bulk-import suppliers (asynchronous). Batch rows upsert idempotently on `externalSupplierId` (or name). **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/suppliers/create"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createSupplier","summary":"Create Supplier","description":"Create a single supplier (synchronous), or bulk-import suppliers (asynchronous). Batch rows upsert idempotently on `externalSupplierId` (or name). **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.","tags":["Suppliers"],"requestBody":"e4081b82-534c-489b-9af2-47263bd8e914","responses":{"201":"f1d97131-8feb-470f-a5d2-f3d2850db90d","202":"c86ccc74-ad51-4377-ae20-82dbb8bd9054","400":"91b6a33b-8d3e-4c52-b0c4-fd444d450f3f","401":"2dfbd4f8-4489-4fae-a3d4-8ab2eb139ff5","403":"08ebd18c-f9e6-4ae6-a1e0-6f98a3279380","409":"b066a50f-ae8b-407f-af33-8051f007ccf5","413":"a28eb055-fc02-46d6-bbe5-8cdb02a52b55","429":"982a1281-cd62-4447-bff0-4b82bfa4d043","500":"24150c01-1217-47c0-9e23-371888aae2b8"},"method":"post","type":"path","servers":["525ee7a2-0b29-4150-83c9-6311c95aea37"],"security":["bae4c7a0-d716-46dc-bfdc-909a8704f12f"],"path":"/api/v1/suppliers","baseUrlOptions":["https://app.polygon-one.com"],"title":"Create Supplier","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["name","email","country","address"],"properties":{"name":{"type":"string","minLength":1,"description":"Supplier company name","isRequired":true,"uniqueKey":"oneOf.0.name","typeLabel":"string"},"email":{"type":"string","minLength":1,"format":"email","description":"Supplier contact email","isRequired":true,"uniqueKey":"oneOf.0.email","typeLabel":"string\u003cemail>"},"country":{"type":"string","enum":["Afghanistan","Albania","Algeria","Andorra","Angola","Antigua and Barbuda","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bosnia and Herzegovina","Botswana","Brazil","British Virgin Islands","Brunei","Bulgaria","Burkina Faso","Burundi","Cabo Verde","Cambodia","Cameroon","Canada","Cayman Islands","Central African Republic","Chad","Chile","China","Colombia","Comoros","Congo (Congo-Brazzaville)","Costa Rica","Côte d'Ivoire","Croatia","Cuba","Curaçao","Cyprus","Czechia","Democratic Republic of the Congo","Denmark","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Eswatini","Ethiopia","Faroe Islands","Fiji","Finland","France","French Polynesia","Gabon","Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guatemala","Guernsey","Guinea","Guinea-Bissau","Guyana","Haiti","Honduras","Hong Kong","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Isle of Man","Israel","Italy","Jamaica","Japan","Jersey","Jordan","Kazakhstan","Kenya","Kiribati","Kosovo","Kuwait","Kyrgyzstan","Laos","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg","Macau","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Mauritania","Mauritius","Mexico","Micronesia","Moldova","Monaco","Mongolia","Montenegro","Morocco","Mozambique","Myanmar (Burma)","Namibia","Nauru","Nepal","Netherlands","New Caledonia","New Zealand","Nicaragua","Niger","Nigeria","North Korea","North Macedonia","Norway","Oman","Pakistan","Palau","Palestine State","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Poland","Portugal","Puerto Rico","Qatar","Romania","Russia","Rwanda","Saint Kitts and Nevis","Saint Lucia","Saint Vincent and the Grenadines","Samoa","San Marino","Sao Tome and Principe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Sint Maarten","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Korea","South Sudan","Spain","Sri Lanka","Sudan","Suriname","Sweden","Switzerland","Syria","Taiwan","Tajikistan","Tanzania","Thailand","Timor-Leste","Togo","Tonga","Trinidad and Tobago","Tunisia","Turkey","Turkmenistan","Turks and Caicos Islands","Tuvalu","U.S. Virgin Islands","Uganda","Ukraine","United Arab Emirates","United Kingdom","United States","Uruguay","Uzbekistan","Vanuatu","Vatican City","Venezuela","Vietnam","Yemen","Zambia","Zimbabwe"],"description":"Country name (e.g. \"Germany\", \"Brazil\")","isRequired":true,"uniqueKey":"oneOf.0.country","typeLabel":"enum\u003cstring>"},"address":{"type":"object","properties":{"street":{"type":"string","minLength":1,"description":"Street and house number (or the full address on one line). Required, not empty.","isRequired":true,"uniqueKey":"oneOf.0.address.street","typeLabel":"string"},"postalCode":{"type":"string","description":"Postal code; may be empty.","isRequired":true,"uniqueKey":"oneOf.0.address.postalCode","typeLabel":"string"},"city":{"type":"string","description":"City; may be empty.","isRequired":true,"uniqueKey":"oneOf.0.address.city","typeLabel":"string"},"additional":{"type":"string","description":"Additional address line (e.g. building or floor).","uniqueKey":"oneOf.0.address.additional","typeLabel":"string"},"validated":{"type":"boolean","description":"`true` when the address was picked from the address search in the app. Informational.","uniqueKey":"oneOf.0.address.validated","typeLabel":"boolean"},"latitude":{"type":"number","description":"Latitude of the address (WGS84), when known.","uniqueKey":"oneOf.0.address.latitude","typeLabel":"number"},"longitude":{"type":"number","description":"Longitude of the address (WGS84), when known.","uniqueKey":"oneOf.0.address.longitude","typeLabel":"number"}},"required":["street","postalCode","city"],"description":"A postal address.","isRequired":true,"uniqueKey":"oneOf.0.address","typeLabel":"object"},"contactName":{"type":"string","description":"Contact person name","uniqueKey":"oneOf.0.contactName","typeLabel":"string"},"externalSupplierId":{"type":"string","description":"External ID from your ERP system","uniqueKey":"oneOf.0.externalSupplierId","typeLabel":"string"},"associatedArticles":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.associatedArticles.items.[INDEX]","typeLabel":"string"},"description":"List of existing article IDs to link to this supplier","uniqueKey":"oneOf.0.associatedArticles","typeLabel":"string[]"},"ccEmails":{"type":"array","items":{"type":"string","maxLength":320,"format":"email","uniqueKey":"oneOf.0.ccEmails.items.[INDEX]","typeLabel":"string\u003cemail>"},"maxItems":10,"description":"Additional contact emails (max 10), copied on every email to this supplier. An address equal to `email` is ignored; an invalid address rejects the request.","uniqueKey":"oneOf.0.ccEmails","typeLabel":"string\u003cemail>[]"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Supplier company name. Rows upsert on `externalSupplierId`, else on the name.","isRequired":true,"uniqueKey":"oneOf.1.items.[INDEX].name","typeLabel":"string"},"email":{"type":"string","default":"","description":"Contact email; may be omitted.","uniqueKey":"oneOf.1.items.[INDEX].email","typeLabel":"string"},"contactName":{"type":"string","description":"Contact person.","uniqueKey":"oneOf.1.items.[INDEX].contactName","typeLabel":"string"},"country":{"type":"string","description":"Country of the supplier. When omitted, the import tries to infer it from `address`.","uniqueKey":"oneOf.1.items.[INDEX].country","typeLabel":"string"},"address":{"type":"string","description":"Postal address on one line.","uniqueKey":"oneOf.1.items.[INDEX].address","typeLabel":"string"},"externalSupplierId":{"type":"string","description":"Your ERP id of the supplier.","uniqueKey":"oneOf.1.items.[INDEX].externalSupplierId","typeLabel":"string"},"ccEmails":{"type":"array","items":{"type":"string","maxLength":320,"format":"email","uniqueKey":"oneOf.1.items.[INDEX].ccEmails.items.[INDEX]","typeLabel":"string\u003cemail>"},"maxItems":10,"description":"Additional contact emails (max 10), copied on every email to this supplier. Additive: addresses already on the supplier are kept, the main `email` is ignored here.","uniqueKey":"oneOf.1.items.[INDEX].ccEmails","typeLabel":"string\u003cemail>[]"}},"required":["name"],"description":"One supplier row of a batch import.","uniqueKey":"oneOf.1.items.[INDEX]","typeLabel":"object"},"description":"Batch import (bare array form) — asynchronous, returns 202","maxItems":5000,"minItems":1,"uniqueKey":"oneOf.1","typeLabel":"object[]"},{"type":"object","description":"Batch envelope form (unknown extra keys are ignored)","required":["rows"],"properties":{"rows":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Supplier company name. Rows upsert on `externalSupplierId`, else on the name.","isRequired":true,"uniqueKey":"oneOf.2.rows.items.[INDEX].name","typeLabel":"string"},"email":{"type":"string","default":"","description":"Contact email; may be omitted.","uniqueKey":"oneOf.2.rows.items.[INDEX].email","typeLabel":"string"},"contactName":{"type":"string","description":"Contact person.","uniqueKey":"oneOf.2.rows.items.[INDEX].contactName","typeLabel":"string"},"country":{"type":"string","description":"Country of the supplier. When omitted, the import tries to infer it from `address`.","uniqueKey":"oneOf.2.rows.items.[INDEX].country","typeLabel":"string"},"address":{"type":"string","description":"Postal address on one line.","uniqueKey":"oneOf.2.rows.items.[INDEX].address","typeLabel":"string"},"externalSupplierId":{"type":"string","description":"Your ERP id of the supplier.","uniqueKey":"oneOf.2.rows.items.[INDEX].externalSupplierId","typeLabel":"string"},"ccEmails":{"type":"array","items":{"type":"string","maxLength":320,"format":"email","uniqueKey":"oneOf.2.rows.items.[INDEX].ccEmails.items.[INDEX]","typeLabel":"string\u003cemail>"},"maxItems":10,"description":"Additional contact emails (max 10), copied on every email to this supplier. Additive: addresses already on the supplier are kept, the main `email` is ignored here.","uniqueKey":"oneOf.2.rows.items.[INDEX].ccEmails","typeLabel":"string\u003cemail>[]"}},"required":["name"],"description":"One supplier row of a batch import.","uniqueKey":"oneOf.2.rows.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":5000,"description":"The rows, at most 5000 per request.","isRequired":true,"uniqueKey":"oneOf.2.rows","typeLabel":"object[]"}},"uniqueKey":"oneOf.2","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object · object[] · object"},"examples":{"single":{"title":"single","value":{"name":"Sawmill Example GmbH","contactName":"Alex Example","email":"sales@sawmill.example","externalSupplierId":"LIEF-4711","country":"Germany","address":{"street":"Industriestraße 12","city":"Musterstadt","postalCode":"12345"}}},"batch":{"title":"batch","value":{"rows":[{"name":"Sawmill Example GmbH","email":"sales@sawmill.example","contactName":"Alex Example","country":"Germany","address":"Industriestraße 12, 12345 Musterstadt","externalSupplierId":"LIEF-4711"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"f1d97131-8feb-470f-a5d2-f3d2850db90d":{"description":"Supplier created successfully (single)","content":{"application/json":{"schema":{"type":"object","properties":{"supplier":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the supplier.","isRequired":true,"uniqueKey":"supplier.id","typeLabel":"string"},"name":{"type":"string","description":"Supplier company name.","isRequired":true,"uniqueKey":"supplier.name","typeLabel":"string"},"contactName":{"type":"string","description":"Contact person; empty string when none is recorded.","isRequired":true,"uniqueKey":"supplier.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":"supplier.country","typeLabel":"string"},"email":{"type":"string","description":"Contact email; empty string when none is recorded.","isRequired":true,"uniqueKey":"supplier.email","typeLabel":"string"},"assignedToUserId":{"oneOf":[{"type":"string","description":"UUID of the user in your company responsible for this supplier, or `null`.","isRequired":true,"uniqueKey":"supplier.assignedToUserId.oneOf.0","typeLabel":"string"},{"type":"null","description":"UUID of the user in your company responsible for this supplier, or `null`.","isRequired":true,"uniqueKey":"supplier.assignedToUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"supplier.assignedToUserId","typeLabel":"string | null"},"externalSupplierId":{"oneOf":[{"type":"string","description":"External ID from your ERP system","isRequired":true,"uniqueKey":"supplier.externalSupplierId.oneOf.0","typeLabel":"string"},{"type":"null","description":"External ID from your ERP system","isRequired":true,"uniqueKey":"supplier.externalSupplierId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"supplier.externalSupplierId","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":"supplier.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":"supplier.otpContactEmail.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"supplier.otpContactEmail","typeLabel":"string | null"},"otpContactConfirmedAt":{"oneOf":[{"type":"string","description":"When the supplier confirmed `otpContactEmail` (ISO 8601, UTC), or `null`.","isRequired":true,"uniqueKey":"supplier.otpContactConfirmedAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When the supplier confirmed `otpContactEmail` (ISO 8601, UTC), or `null`.","isRequired":true,"uniqueKey":"supplier.otpContactConfirmedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"supplier.otpContactConfirmedAt","typeLabel":"string | null"},"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":"supplier.status","typeLabel":"string"},"isCompanySelf":{"type":"boolean","description":"True if this supplier represents your own company (for sale articles)","isRequired":true,"uniqueKey":"supplier.isCompanySelf","typeLabel":"boolean"},"deletedAt":{"oneOf":[{"type":"string","description":"When the supplier was moved to the trash (ISO 8601, UTC); `null` for a live supplier.","isRequired":true,"uniqueKey":"supplier.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":"supplier.deletedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"supplier.deletedAt","typeLabel":"string | null"},"address":{"type":"object","properties":{"street":{"type":"string","description":"Street and house number (or the full one-line address).","isRequired":true,"uniqueKey":"supplier.address.street","typeLabel":"string"},"city":{"type":"string","description":"City; may be empty.","isRequired":true,"uniqueKey":"supplier.address.city","typeLabel":"string"},"postalCode":{"type":"string","description":"Postal code; may be empty.","isRequired":true,"uniqueKey":"supplier.address.postalCode","typeLabel":"string"}},"required":["street","city","postalCode"],"description":"Postal address; absent when none is recorded.","uniqueKey":"supplier.address","typeLabel":"object"}},"required":["id","name","contactName","country","email","assignedToUserId","externalSupplierId","otpContactEmail","otpContactConfirmedAt","status","isCompanySelf","deletedAt"],"description":"The stored supplier fields. Further keys may be present and are not part of the contract; read the full supplier with `GET /api/v1/suppliers/{id}`.","isRequired":true,"uniqueKey":"supplier","typeLabel":"object"}},"required":["supplier"],"uniqueKey":"","typeLabel":"object"},"example":{"supplier":{"id":"5a1d8c3e-7f24-4b9a-a6e0-1c3f5b8d2e94","name":"Sawmill Example GmbH","contactName":"Alex Example","country":"Germany","email":"sales@sawmill.example","assignedToUserId":null,"externalSupplierId":"LIEF-4711","address":{"street":"Industriestraße 12","city":"Musterstadt","postalCode":"12345"},"otpContactEmail":null,"otpContactConfirmedAt":null,"status":"data_incomplete","isCompanySelf":false,"deletedAt":null}},"examples":{"Example":{"title":"Example","value":{"supplier":{"id":"5a1d8c3e-7f24-4b9a-a6e0-1c3f5b8d2e94","name":"Sawmill Example GmbH","contactName":"Alex Example","country":"Germany","email":"sales@sawmill.example","assignedToUserId":null,"externalSupplierId":"LIEF-4711","address":{"street":"Industriestraße 12","city":"Musterstadt","postalCode":"12345"},"otpContactEmail":null,"otpContactConfirmedAt":null,"status":"data_incomplete","isCompanySelf":false,"deletedAt":null}}}},"exampleType":"examples"}},"exampleType":"examples"},"c86ccc74-ad51-4377-ae20-82dbb8bd9054":{"description":"Batch accepted — async import job staged. Nothing imported yet; poll the job.","headers":{"Location":{"description":"URL of the import job to poll","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"jobId":{"type":"string","description":"UUID of the staged import job — pass it to `GET /api/v1/import-jobs/{jobId}`.","isRequired":true,"uniqueKey":"jobId","typeLabel":"string"},"status":{"type":"string","description":"Always `queued` — nothing is imported yet.","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"statusUrl":{"type":"string","description":"The poll URL, also sent as the `Location` header.","isRequired":true,"uniqueKey":"statusUrl","typeLabel":"string"}},"required":["jobId","status","statusUrl"],"description":"Batch import staged as an async job. Nothing is imported yet — poll `statusUrl` for progress and the final result.","uniqueKey":"","typeLabel":"object"},"example":{"jobId":"d2f7a4c9-8e15-4b63-9a2d-1c6e5f0b8d37","status":"queued","statusUrl":"/api/import-jobs/d2f7a4c9-8e15-4b63-9a2d-1c6e5f0b8d37"},"examples":{"Example":{"title":"Example","value":{"jobId":"d2f7a4c9-8e15-4b63-9a2d-1c6e5f0b8d37","status":"queued","statusUrl":"/api/import-jobs/d2f7a4c9-8e15-4b63-9a2d-1c6e5f0b8d37"}}},"exampleType":"examples"}},"exampleType":"examples"},"91b6a33b-8d3e-4c52-b0c4-fd444d450f3f":{"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"},"2dfbd4f8-4489-4fae-a3d4-8ab2eb139ff5":{"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"},"08ebd18c-f9e6-4ae6-a1e0-6f98a3279380":{"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"},"b066a50f-ae8b-407f-af33-8051f007ccf5":{"description":"A supplier with the same identity already exists. Single-object form only.","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"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","details":[{"code":"\u003cstring>","path":["\u003cstring>"],"message":"\u003cstring>"}],"warnings":[{"type":"duplicateName","existingInternalArticleNr":"\u003cstring>","existingArticleName":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"a28eb055-fc02-46d6-bbe5-8cdb02a52b55":{"description":"Batch exceeds the row cap (`error: \"batchTooLarge\"`, plus `maxBatchSize`). Nothing staged — page the sync across multiple requests (orders: keep all lines of one order in the same request, see the Batch Import guide).","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":"batchTooLarge","maxBatchSize":5000},"examples":{"Example":{"title":"Example","value":{"error":"batchTooLarge","maxBatchSize":5000}}},"exampleType":"examples"}},"exampleType":"examples"},"982a1281-cd62-4447-bff0-4b82bfa4d043":{"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"},"24150c01-1217-47c0-9e23-371888aae2b8":{"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"}},"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":"Create Supplier - Polygon One Helpcenter","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"de":{"href":"/api-reference/endpoint/suppliers/create","matchLevel":1},"en":{"href":"/en/api-reference/endpoint/suppliers/create","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-09-24T20:18:14.807Z","originalFileLocation":"en/api-reference/endpoint/suppliers/create.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=\"Create a single supplier (synchronous), or bulk-import suppliers (asynchronous). Batch rows upsert idempotently on externalSupplierId (or name). Batch form (array, or {\u0026quot;rows\u0026quot;: […]} 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.\">\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=\"Create Supplier - Polygon One Helpcenter\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a single supplier (synchronous), or bulk-import suppliers (asynchronous). Batch rows upsert idempotently on externalSupplierId (or name). Batch form (array, or {\u0026quot;rows\u0026quot;: […]} 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.\">\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/suppliers/create\">\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=Suppliers\u0026amp;title=Create+Supplier\u0026amp;description=Create+a+single+supplier+%28synchronous%29%2C+or+bulk-import+suppliers+%28asynchronous%29.+Batch+rows+upsert+idempotently+on+%60externalSupplierId%60+%28or+name%29.+**Batch+form+\u0026amp;theme=0c175d962800f7cffd688852\u0026amp;signature=b551e25849fa586bfdc4c8d94e05440f70cd1b53dc960e6234ef1e2a888c8832\">\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=\"Create Supplier - Polygon One Helpcenter\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a single supplier (synchronous), or bulk-import suppliers (asynchronous). Batch rows upsert idempotently on externalSupplierId (or name). Batch form (array, or {\u0026quot;rows\u0026quot;: […]} 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.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://polygonone.mintlify.app/_mintlify/api/og/v2?division=Suppliers\u0026amp;title=Create+Supplier\u0026amp;description=Create+a+single+supplier+%28synchronous%29%2C+or+bulk-import+suppliers+%28asynchronous%29.+Batch+rows+upsert+idempotently+on+%60externalSupplierId%60+%28or+name%29.+**Batch+form+\u0026amp;theme=0c175d962800f7cffd688852\u0026amp;signature=b551e25849fa586bfdc4c8d94e05440f70cd1b53dc960e6234ef1e2a888c8832\">\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/suppliers/create\">\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/suppliers/create.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://help.polygon-one.com/en/api-reference/endpoint/suppliers/create\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://help.polygon-one.com/api-reference/endpoint/suppliers/create\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://help.polygon-one.com/api-reference/endpoint/suppliers/create\">\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/suppliers/create#webpage\",\"url\":\"https://help.polygon-one.com/en/api-reference/endpoint/suppliers/create\",\"name\":\"Create Supplier\",\"description\":\"Create a single supplier (synchronous), or bulk-import suppliers (asynchronous). Batch rows upsert idempotently on externalSupplierId (or name). 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.\",\"dateModified\":\"2026-09-24T20:18:14.807Z\",\"isPartOf\":{\"@id\":\"https://help.polygon-one.com#website\"},\"breadcrumb\":{\"@id\":\"https://help.polygon-one.com/en/api-reference/endpoint/suppliers/create#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://help.polygon-one.com/en/api-reference/endpoint/suppliers/create#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Suppliers\",\"item\":\"https://help.polygon-one.com/en/api-reference/endpoint/suppliers/list\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create Supplier\",\"item\":\"https://help.polygon-one.com/en/api-reference/endpoint/suppliers/create\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://help.polygon-one.com/en/api-reference/endpoint/suppliers/create#apireference\",\"headline\":\"Create Supplier\",\"name\":\"Create Supplier\",\"description\":\"Create a single supplier (synchronous), or bulk-import suppliers (asynchronous). Batch rows upsert idempotently on externalSupplierId (or name). 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.\",\"url\":\"https://help.polygon-one.com/en/api-reference/endpoint/suppliers/create\",\"mainEntityOfPage\":{\"@id\":\"https://help.polygon-one.com/en/api-reference/endpoint/suppliers/create#webpage\"},\"dateModified\":\"2026-09-24T20:18:14.807Z\",\"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/suppliers/create"}]},{"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","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","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","description":"Retrieve the suppliers associated with your company, one page at a time (`limit` default 100, max 1000). Pass `externalSupplierId` to look up a supplier by your ERP supplier number.","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}","description":"Retrieve details of a specific supplier including linked articles, plots, and compliance results.","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":"Create Supplier - 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"]}