Up to 1,000 articles per call, identified by your own article number
(pharmacy_sku). GO JOE maps each number to its product once; until
then the article is reported unmapped and waits for GO JOE’s team.
A push never creates products.
available: false takes the product off sale; true puts it back
on sale unless GO JOE’s team switched it off (kept_off).
stock_grams, the order rules and the price also apply while a
product is off sale.
Prices are gross cents per g/ml. A change of more than ±50 % is
applied but comes back as a price_change_large warning, and GO JOE’s
team double-checks it.
mode=full: the push is your complete catalogue. Mapped articles
missing from it are treated as sold out. Use it for a nightly or
hourly full sync, partial (default) for changes.
Validation is all-or-nothing: if any item is invalid, nothing is
applied and errors lists every problem.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"GO JOE Pharmacy API","colors":{"primary":"#3B82F6"},"logo":{"light":"https://mintcdn.com/gojoe/ZAZSDTe2whuO6FPg/logo/gojoe.svg?fit=max\u0026auto=format\u0026n=ZAZSDTe2whuO6FPg\u0026q=85\u0026s=99841f84f8fc20c0c4b841befd5dc359","dark":"https://mintcdn.com/gojoe/ZAZSDTe2whuO6FPg/logo/gojoe.svg?fit=max\u0026auto=format\u0026n=ZAZSDTe2whuO6FPg\u0026q=85\u0026s=99841f84f8fc20c0c4b841befd5dc359"},"favicon":"https://mintcdn.com/gojoe/ZAZSDTe2whuO6FPg/logo/gojoe.svg?fit=max\u0026auto=format\u0026n=ZAZSDTe2whuO6FPg\u0026q=85\u0026s=99841f84f8fc20c0c4b841befd5dc359","api":{"playground":{"display":"simple"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"gojoe","hasAudioNarration":false,"actualSubdomain":"gojoe","customDomains":["developers.gojoe.de"],"gitSource":{"type":"github","owner":"jules-2k","repo":"gojoe-v2","deployBranch":"main","contentDirectory":"docs/pharm-api","isPrivate":true,"mountPath":"","label":"","_id":"6af42d8b2fd0cd6f2258dbdc"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af43698c6574eb8dd26ff44","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API reference","count":12},{"language":"default","tag":"Guides","count":7},{"language":"default","tag":"Orders","count":6},{"language":"default","tag":"Inventory","count":3},{"language":"default","tag":"Get started","count":1},{"language":"default","tag":"Account","count":1},{"language":"default","tag":"Events","count":1},{"language":"default","tag":"Webhooks","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"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":"turbopuffer-dual-write","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},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/inventory/push-stock-and-prices","slug":"/api-reference/inventory/push-stock-and-prices","pageMetadata":{"title":"Push stock and prices","description":"Up to 1,000 articles per call, identified by your own article number\n(`pharmacy_sku`). GO JOE maps each number to its product once; until\nthen the article is reported `unmapped` and waits for GO JOE's team.\nA push never creates products.\n\n- `available: false` takes the product off sale; `true` puts it back\n on sale unless GO JOE's team switched it off (`kept_off`).\n- `stock_grams`, the order rules and the price also apply while a\n product is off sale.\n- Prices are gross cents per g/ml. A change of more than ±50 % is\n applied but comes back as a `price_change_large` warning, and GO JOE's\n team double-checks it.\n- `mode=full`: the push is your complete catalogue. Mapped articles\n missing from it are treated as sold out. Use it for a nightly or\n hourly full sync, `partial` (default) for changes.\n\nValidation is all-or-nothing: if any item is invalid, nothing is\napplied and `errors` lists every problem.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml put /pharmacies/{pharmacy_id}/inventory","href":"/api-reference/inventory/push-stock-and-prices","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n p: \"p\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Up to 1,000 articles per call, identified by your own article number\\n(\", _jsx(_components.code, {\n children: \"pharmacy_sku\"\n }), \"). GO JOE maps each number to its product once; until\\nthen the article is reported \", _jsx(_components.code, {\n children: \"unmapped\"\n }), \" and waits for GO JOE’s team.\\nA push never creates products.\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"available: false\"\n }), \" takes the product off sale; \", _jsx(_components.code, {\n children: \"true\"\n }), \" puts it back\\non sale unless GO JOE’s team switched it off (\", _jsx(_components.code, {\n children: \"kept_off\"\n }), \").\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"stock_grams\"\n }), \", the order rules and the price also apply while a\\nproduct is off sale.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"Prices are gross cents per g/ml. A change of more than ±50 % is\\napplied but comes back as a \", _jsx(_components.code, {\n children: \"price_change_large\"\n }), \" warning, and GO JOE’s\\nteam double-checks it.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"mode=full\"\n }), \": the push is your complete catalogue. Mapped articles\\nmissing from it are treated as sold out. Use it for a nightly or\\nhourly full sync, \", _jsx(_components.code, {\n children: \"partial\"\n }), \" (default) for changes.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Validation is all-or-nothing: if any item is invalid, nothing is\\napplied and \", _jsx(_components.code, {\n children: \"errors\"\n }), \" lists every problem.\"]\n })]\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":"Push stock and prices","description":"Up to 1,000 articles per call, identified by your own article number\n(`pharmacy_sku`). GO JOE maps each number to its product once; until\nthen the article is reported `unmapped` and waits for GO JOE's team.\nA push never creates products.\n\n- `available: false` takes the product off sale; `true` puts it back\n on sale unless GO JOE's team switched it off (`kept_off`).\n- `stock_grams`, the order rules and the price also apply while a\n product is off sale.\n- Prices are gross cents per g/ml. A change of more than ±50 % is\n applied but comes back as a `price_change_large` warning, and GO JOE's\n team double-checks it.\n- `mode=full`: the push is your complete catalogue. Mapped articles\n missing from it are treated as sold out. Use it for a nightly or\n hourly full sync, `partial` (default) for changes.\n\nValidation is all-or-nothing: if any item is invalid, nothing is\napplied and `errors` lists every problem.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml put /pharmacies/{pharmacy_id}/inventory","href":"/api-reference/inventory/push-stock-and-prices","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Inventory"],"operationId":"pushInventory","summary":"Push stock and prices","description":"Up to 1,000 articles per call, identified by your own article number\n(`pharmacy_sku`). GO JOE maps each number to its product once; until\nthen the article is reported `unmapped` and waits for GO JOE's team.\nA push never creates products.\n\n- `available: false` takes the product off sale; `true` puts it back\n on sale unless GO JOE's team switched it off (`kept_off`).\n- `stock_grams`, the order rules and the price also apply while a\n product is off sale.\n- Prices are gross cents per g/ml. A change of more than ±50 % is\n applied but comes back as a `price_change_large` warning, and GO JOE's\n team double-checks it.\n- `mode=full`: the push is your complete catalogue. Mapped articles\n missing from it are treated as sold out. Use it for a nightly or\n hourly full sync, `partial` (default) for changes.\n\nValidation is all-or-nothing: if any item is invalid, nothing is\napplied and `errors` lists every problem.\n","parameters":["1791e4b9-d6f2-4517-9e51-af53c8321952"],"requestBody":"8a69685d-35a1-4985-96d1-5daf02630a8e","responses":{"200":"fa16708e-dc82-4b44-9d33-694f380c85a5","400":"d6edbee6-83ba-4249-9052-5781b4388909","401":"f01f245c-ae00-4ff8-bb1c-a66cb35fe610","403":"85a18e64-d20e-4f72-8195-fab612584e67","404":"b35f4dc7-7c51-4264-90c3-105ea26c1b35","422":"a975a0d8-4576-4700-a119-45096f882509","429":"fa84e73a-abd1-4ca4-8ee3-0ce79bbba8f7"},"method":"put","type":"path","servers":["8f69003c-7577-48c1-b9be-7be80b066620","a116b086-5141-43b3-8b78-8356881b0336"],"security":["36cbc2d8-318b-4f4e-85b9-3aa8d72c75e2"],"path":"/pharmacies/{pharmacy_id}/inventory","baseUrlOptions":["https://gojoe.de/api/pharm/v1","https://sandbox-api.gojoe.de/api/pharm/v1"],"title":"Push stock and prices","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"1791e4b9-d6f2-4517-9e51-af53c8321952":{"name":"mode","in":"query","schema":{"type":"string","enum":["partial","full"],"default":"partial","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"7350635b-4118-4a55-b096-c5ef3ca6622b":{"name":"pharmacy_id","in":"path","required":true,"description":"A pharmacy your key acts for (see `GET /me`).","schema":{"type":"string","format":"uuid","isRequired":true,"description":"A pharmacy your key acts for (see `GET /me`).","uniqueKey":"","typeLabel":"string\u003cuuid>"}},"32f62d1f-866b-43e4-8090-86f9beec5565":{"name":"Idempotency-Key","in":"header","required":false,"description":"Any unique string. Retrying with the same key within 24 h returns the first response without running the request again.","schema":{"type":"string","maxLength":255,"isRequired":false,"description":"Any unique string. Retrying with the same key within 24 h returns the first response without running the request again.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["items"],"properties":{"items":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["pharmacy_sku","name","available"],"properties":{"pharmacy_sku":{"type":"string","minLength":1,"maxLength":64,"description":"Your article number.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].pharmacy_sku","typeLabel":"string"},"name":{"type":"string","maxLength":200,"description":"The article name as your ERP shows it (helps GO JOE map it).","isRequired":true,"uniqueKey":"\\items.items.[INDEX].name","typeLabel":"string"},"available":{"type":"boolean","description":"Can be sold now.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].available","typeLabel":"boolean"},"manufacturer":{"oneOf":[{"type":"string","maxLength":200,"uniqueKey":"\\items.items.[INDEX].manufacturer.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":200,"uniqueKey":"\\items.items.[INDEX].manufacturer.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].manufacturer","typeLabel":"string | null"},"form":{"oneOf":[{"type":"string","enum":["flower","extract",null],"uniqueKey":"\\items.items.[INDEX].form.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["flower","extract",null],"uniqueKey":"\\items.items.[INDEX].form.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].form","typeLabel":"enum\u003cstring> | null"},"thc_percent":{"oneOf":[{"type":"number","minimum":0,"maximum":100,"uniqueKey":"\\items.items.[INDEX].thc_percent.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":100,"uniqueKey":"\\items.items.[INDEX].thc_percent.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].thc_percent","typeLabel":"number | null"},"cbd_percent":{"oneOf":[{"type":"number","minimum":0,"maximum":100,"uniqueKey":"\\items.items.[INDEX].cbd_percent.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":100,"uniqueKey":"\\items.items.[INDEX].cbd_percent.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].cbd_percent","typeLabel":"number | null"},"stock_grams":{"oneOf":[{"type":"number","minimum":0,"description":"Stock in g (flower) or ml (extracts).","uniqueKey":"\\items.items.[INDEX].stock_grams.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"description":"Stock in g (flower) or ml (extracts).","uniqueKey":"\\items.items.[INDEX].stock_grams.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].stock_grams","typeLabel":"number | null"},"price_cents":{"oneOf":[{"type":"integer","minimum":1,"description":"Gross price per g/ml in cents, e.g. 899 = 8,99 €/g.","uniqueKey":"\\items.items.[INDEX].price_cents.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"description":"Gross price per g/ml in cents, e.g. 899 = 8,99 €/g.","uniqueKey":"\\items.items.[INDEX].price_cents.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].price_cents","typeLabel":"integer | null"},"min_order_grams":{"oneOf":[{"type":"integer","minimum":1,"uniqueKey":"\\items.items.[INDEX].min_order_grams.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"uniqueKey":"\\items.items.[INDEX].min_order_grams.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].min_order_grams","typeLabel":"integer | null"},"order_increment":{"oneOf":[{"type":"integer","minimum":1,"uniqueKey":"\\items.items.[INDEX].order_increment.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"uniqueKey":"\\items.items.[INDEX].order_increment.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].order_increment","typeLabel":"integer | null"}},"uniqueKey":"\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"\\items","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"items":[{"pharmacy_sku":"\u003cstring>","name":"\u003cstring>","available":true,"manufacturer":"\u003cstring>","thc_percent":50,"cbd_percent":50,"stock_grams":1,"price_cents":2,"min_order_grams":2,"order_increment":2}]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"fa16708e-dc82-4b44-9d33-694f380c85a5":{"description":"What happened to each article","content":{"application/json":{"schema":{"type":"object","required":["mode","prices_applied","summary","results"],"properties":{"mode":{"type":"string","enum":["partial","full"],"isRequired":true,"uniqueKey":"mode","typeLabel":"enum\u003cstring>"},"prices_applied":{"type":"boolean","description":"false if GO JOE keeps prices for this pharmacy itself.","isRequired":true,"uniqueKey":"prices_applied","typeLabel":"boolean"},"summary":{"type":"object","properties":{"received":{"type":"integer","uniqueKey":"summary.received","typeLabel":"integer"},"updated":{"type":"integer","uniqueKey":"summary.updated","typeLabel":"integer"},"unmapped":{"type":"integer","uniqueKey":"summary.unmapped","typeLabel":"integer"},"kept_off":{"type":"integer","uniqueKey":"summary.kept_off","typeLabel":"integer"},"warnings":{"type":"integer","uniqueKey":"summary.warnings","typeLabel":"integer"},"missing_switched_off":{"type":"integer","description":"mode=full: mapped articles missing from the push, now off sale.","uniqueKey":"summary.missing_switched_off","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"summary","typeLabel":"object"},"results":{"type":"array","items":{"type":"object","required":["pharmacy_sku","status","warnings"],"properties":{"pharmacy_sku":{"type":"string","isRequired":true,"uniqueKey":"results.items.[INDEX].pharmacy_sku","typeLabel":"string"},"status":{"type":"string","enum":["updated","unmapped","kept_off"],"description":"`updated`: applied. `unmapped`: GO JOE has not mapped this number\nyet; stored and shown to GO JOE's team. `kept_off`: stock and price\napplied, but GO JOE's team has the product off sale.\n","isRequired":true,"uniqueKey":"results.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"warnings":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["price_change_large"],"uniqueKey":"results.items.[INDEX].warnings.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"detail":{"type":"string","uniqueKey":"results.items.[INDEX].warnings.items.[INDEX].detail","typeLabel":"string"},"old_price_cents":{"type":"integer","uniqueKey":"results.items.[INDEX].warnings.items.[INDEX].old_price_cents","typeLabel":"integer"},"new_price_cents":{"type":"integer","uniqueKey":"results.items.[INDEX].warnings.items.[INDEX].new_price_cents","typeLabel":"integer"}},"uniqueKey":"results.items.[INDEX].warnings.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"results.items.[INDEX].warnings","typeLabel":"object[]"},"product_id":{"oneOf":[{"type":"string","format":"uuid","uniqueKey":"results.items.[INDEX].product_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","uniqueKey":"results.items.[INDEX].product_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].product_id","typeLabel":"string\u003cuuid> | null"}},"uniqueKey":"results.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"results","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"mode":"partial","prices_applied":true,"summary":{"received":123,"updated":123,"unmapped":123,"kept_off":123,"warnings":123,"missing_switched_off":123},"results":[{"pharmacy_sku":"\u003cstring>","status":"updated","warnings":[{"code":"price_change_large","detail":"\u003cstring>","old_price_cents":123,"new_price_cents":123}],"product_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"d6edbee6-83ba-4249-9052-5781b4388909":{"description":"Invalid query","content":{"application/problem+json":{"schema":{"type":"object","required":["status","code","detail","request_id"],"properties":{"status":{"type":"integer","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","example":"invalid_transition","description":"Stable error code, e.g. `unauthorized`, `wrong_environment`, `insufficient_scope`,\n`rate_limited`, `order_not_found`, `not_accepted`, `already_accepted`,\n`invalid_transition`, `courier_managed_by_gojoe`, `order_cancelled`,\n`order_rejected`, `idempotency_key_reused`.\n","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"request_id":{"type":"string","description":"Quote this to GO JOE support.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"type":{"type":"string","format":"uri","uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","uniqueKey":"title","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":123,"code":"invalid_transition","detail":"\u003cstring>","request_id":"\u003cstring>","type":"\u003cstring>","title":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"f01f245c-ae00-4ff8-bb1c-a66cb35fe610":{"description":"Missing, unknown or revoked key, or a key for the other environment","content":{"application/problem+json":{"schema":{"type":"object","required":["status","code","detail","request_id"],"properties":{"status":{"type":"integer","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","example":"invalid_transition","description":"Stable error code, e.g. `unauthorized`, `wrong_environment`, `insufficient_scope`,\n`rate_limited`, `order_not_found`, `not_accepted`, `already_accepted`,\n`invalid_transition`, `courier_managed_by_gojoe`, `order_cancelled`,\n`order_rejected`, `idempotency_key_reused`.\n","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"request_id":{"type":"string","description":"Quote this to GO JOE support.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"type":{"type":"string","format":"uri","uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","uniqueKey":"title","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":123,"code":"invalid_transition","detail":"\u003cstring>","request_id":"\u003cstring>","type":"\u003cstring>","title":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"85a18e64-d20e-4f72-8195-fab612584e67":{"description":"The key lacks the scope this call needs (`insufficient_scope`)","content":{"application/problem+json":{"schema":{"type":"object","required":["status","code","detail","request_id"],"properties":{"status":{"type":"integer","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","example":"invalid_transition","description":"Stable error code, e.g. `unauthorized`, `wrong_environment`, `insufficient_scope`,\n`rate_limited`, `order_not_found`, `not_accepted`, `already_accepted`,\n`invalid_transition`, `courier_managed_by_gojoe`, `order_cancelled`,\n`order_rejected`, `idempotency_key_reused`.\n","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"request_id":{"type":"string","description":"Quote this to GO JOE support.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"type":{"type":"string","format":"uri","uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","uniqueKey":"title","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":123,"code":"invalid_transition","detail":"\u003cstring>","request_id":"\u003cstring>","type":"\u003cstring>","title":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"b35f4dc7-7c51-4264-90c3-105ea26c1b35":{"description":"No such pharmacy for this key (also for pharmacies of other accounts)","content":{"application/problem+json":{"schema":{"type":"object","required":["status","code","detail","request_id"],"properties":{"status":{"type":"integer","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","example":"invalid_transition","description":"Stable error code, e.g. `unauthorized`, `wrong_environment`, `insufficient_scope`,\n`rate_limited`, `order_not_found`, `not_accepted`, `already_accepted`,\n`invalid_transition`, `courier_managed_by_gojoe`, `order_cancelled`,\n`order_rejected`, `idempotency_key_reused`.\n","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"request_id":{"type":"string","description":"Quote this to GO JOE support.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"type":{"type":"string","format":"uri","uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","uniqueKey":"title","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":123,"code":"invalid_transition","detail":"\u003cstring>","request_id":"\u003cstring>","type":"\u003cstring>","title":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"a975a0d8-4576-4700-a119-45096f882509":{"description":"At least one item is invalid; nothing was applied","content":{"application/problem+json":{"schema":{"type":"object","required":["status","code","detail","request_id"],"properties":{"status":{"type":"integer","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","example":"invalid_transition","description":"Stable error code, e.g. `unauthorized`, `wrong_environment`, `insufficient_scope`,\n`rate_limited`, `order_not_found`, `not_accepted`, `already_accepted`,\n`invalid_transition`, `courier_managed_by_gojoe`, `order_cancelled`,\n`order_rejected`, `idempotency_key_reused`.\n","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"request_id":{"type":"string","description":"Quote this to GO JOE support.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"type":{"type":"string","format":"uri","uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","uniqueKey":"title","typeLabel":"string"},"errors":{"type":"array","description":"Up to 100 problems, each with the item's position.","items":{"type":"object","properties":{"index":{"type":"integer","uniqueKey":"errors.items.[INDEX].index","typeLabel":"integer"},"pharmacy_sku":{"oneOf":[{"type":"string","uniqueKey":"errors.items.[INDEX].pharmacy_sku.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"errors.items.[INDEX].pharmacy_sku.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.items.[INDEX].pharmacy_sku","typeLabel":"string | null"},"field":{"type":"string","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"detail":{"type":"string","uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":123,"code":"invalid_transition","detail":"\u003cstring>","request_id":"\u003cstring>","type":"\u003cstring>","title":"\u003cstring>","errors":[{"index":123,"pharmacy_sku":"\u003cstring>","field":"\u003cstring>","detail":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"fa84e73a-abd1-4ca4-8ee3-0ce79bbba8f7":{"description":"More than the account's limit (default 120) requests per minute","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/problem+json":{"schema":{"type":"object","required":["status","code","detail","request_id"],"properties":{"status":{"type":"integer","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","example":"invalid_transition","description":"Stable error code, e.g. `unauthorized`, `wrong_environment`, `insufficient_scope`,\n`rate_limited`, `order_not_found`, `not_accepted`, `already_accepted`,\n`invalid_transition`, `courier_managed_by_gojoe`, `order_cancelled`,\n`order_rejected`, `idempotency_key_reused`.\n","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"request_id":{"type":"string","description":"Quote this to GO JOE support.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"type":{"type":"string","format":"uri","uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","uniqueKey":"title","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":123,"code":"invalid_transition","detail":"\u003cstring>","request_id":"\u003cstring>","type":"\u003cstring>","title":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"36cbc2d8-318b-4f4e-85b9-3aa8d72c75e2":{"apiKey":{"type":"http","scheme":"bearer","description":"`Authorization: Bearer gj_live_…` (production) or `gj_test_…` (sandbox).","scopes":[],"schemeName":"apiKey"}}},"servers":{"8f69003c-7577-48c1-b9be-7be80b066620":{"url":"https://gojoe.de/api/pharm/v1","description":"Production (live keys, gj_live_…)"},"a116b086-5141-43b3-8b78-8356881b0336":{"url":"https://sandbox-api.gojoe.de/api/pharm/v1","description":"Sandbox (test keys, gj_test_…; fake orders and MUSTER prescriptions only)"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"`Authorization: Bearer gj_live_…` (production) or `gj_test_…` (sandbox).","scopes":[],"schemeName":"apiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"`Authorization: Bearer gj_live_…` (production) or `gj_test_…` (sandbox).","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"gojoe","siteName":"GO JOE Pharmacy API","title":"Push stock and prices - GO JOE Pharmacy API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-11T09:34:20.496Z","originalFileLocation":"api-reference/inventory/push-stock-and-prices.mdx"},"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=\"Up to 1,000 articles per call, identified by your own article number (pharmacy_sku). GO JOE maps each number to its product once; until then the article is reported unmapped and waits for GO JOE\u0026#x27;s team. A push never creates products. - available: false takes the product off sale; true puts it back on sale unless GO JOE\u0026#x27;s team switched it off (kept_off). - stock_grams, the order rules and the price also apply while a product is off sale. - Prices are gross cents per g/ml. A change of more than ±50 % is applied but comes back as a price_change_large warning, and GO JOE\u0026#x27;s team double-checks it. - mode=full: the push is your complete catalogue. Mapped articles missing from it are treated as sold out. Use it for a nightly or hourly full sync, partial (default) for changes. Validation is all-or-nothing: if any item is invalid, nothing is applied and errors lists every problem.\">\u003cmeta data-mint-head name=\"application-name\" content=\"GO JOE Pharmacy API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/gojoe/gPZf8lhhCeBvD2XW/_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/gojoe/gPZf8lhhCeBvD2XW/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/gojoe/gPZf8lhhCeBvD2XW/_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/gojoe/gPZf8lhhCeBvD2XW/_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/gojoe/gPZf8lhhCeBvD2XW/_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/gojoe/gPZf8lhhCeBvD2XW/_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/gojoe/gPZf8lhhCeBvD2XW/_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/gojoe/gPZf8lhhCeBvD2XW/_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/gojoe/gPZf8lhhCeBvD2XW/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Push stock and prices - GO JOE Pharmacy API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Up to 1,000 articles per call, identified by your own article number (pharmacy_sku). GO JOE maps each number to its product once; until then the article is reported unmapped and waits for GO JOE\u0026#x27;s team. A push never creates products. - available: false takes the product off sale; true puts it back on sale unless GO JOE\u0026#x27;s team switched it off (kept_off). - stock_grams, the order rules and the price also apply while a product is off sale. - Prices are gross cents per g/ml. A change of more than ±50 % is applied but comes back as a price_change_large warning, and GO JOE\u0026#x27;s team double-checks it. - mode=full: the push is your complete catalogue. Mapped articles missing from it are treated as sold out. Use it for a nightly or hourly full sync, partial (default) for changes. Validation is all-or-nothing: if any item is invalid, nothing is applied and errors lists every problem.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"GO JOE Pharmacy API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.gojoe.de/api-reference/inventory/push-stock-and-prices\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://gojoe.mintlify.site/_mintlify/api/og/v2?division=Inventory\u0026amp;title=Push+stock+and+prices\u0026amp;description=Up+to+1%2C000+articles+per+call%2C+identified+by+your+own+article+number%0A%28%60pharmacy_sku%60%29.+GO+JOE+maps+each+number+to+its+product+once%3B+until%0Athen+the+article+is+re\u0026amp;theme=22952e6d9f8aeb359d9b9816\u0026amp;signature=28bc0d1316a871766d78760ca87a242f23e3c097c156a15e500e6bcacfdf5d05\">\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=\"Push stock and prices - GO JOE Pharmacy API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Up to 1,000 articles per call, identified by your own article number (pharmacy_sku). GO JOE maps each number to its product once; until then the article is reported unmapped and waits for GO JOE\u0026#x27;s team. A push never creates products. - available: false takes the product off sale; true puts it back on sale unless GO JOE\u0026#x27;s team switched it off (kept_off). - stock_grams, the order rules and the price also apply while a product is off sale. - Prices are gross cents per g/ml. A change of more than ±50 % is applied but comes back as a price_change_large warning, and GO JOE\u0026#x27;s team double-checks it. - mode=full: the push is your complete catalogue. Mapped articles missing from it are treated as sold out. Use it for a nightly or hourly full sync, partial (default) for changes. Validation is all-or-nothing: if any item is invalid, nothing is applied and errors lists every problem.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://gojoe.mintlify.site/_mintlify/api/og/v2?division=Inventory\u0026amp;title=Push+stock+and+prices\u0026amp;description=Up+to+1%2C000+articles+per+call%2C+identified+by+your+own+article+number%0A%28%60pharmacy_sku%60%29.+GO+JOE+maps+each+number+to+its+product+once%3B+until%0Athen+the+article+is+re\u0026amp;theme=22952e6d9f8aeb359d9b9816\u0026amp;signature=28bc0d1316a871766d78760ca87a242f23e3c097c156a15e500e6bcacfdf5d05\">\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/gojoe/gPZf8lhhCeBvD2XW/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"GO JOE Pharmacy API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3B82F6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.gojoe.de/api-reference/inventory/push-stock-and-prices\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/inventory/push-stock-and-prices.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.gojoe.de/#organization\",\"name\":\"GO JOE Pharmacy API\",\"url\":\"https://developers.gojoe.de\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/gojoe/ZAZSDTe2whuO6FPg/logo/gojoe.svg?fit=max\u0026auto=format\u0026n=ZAZSDTe2whuO6FPg\u0026q=85\u0026s=99841f84f8fc20c0c4b841befd5dc359\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.gojoe.de#website\",\"name\":\"GO JOE Pharmacy API\",\"url\":\"https://developers.gojoe.de\",\"publisher\":{\"@id\":\"https://developers.gojoe.de/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.gojoe.de/api-reference/inventory/push-stock-and-prices#webpage\",\"url\":\"https://developers.gojoe.de/api-reference/inventory/push-stock-and-prices\",\"name\":\"Push stock and prices\",\"description\":\"Up to 1,000 articles per call, identified by your own article number (pharmacy_sku). GO JOE maps each number to its product once; until then the article is reported unmapped and waits for GO JOE's team. A push never creates products. - available: false takes the product off sale; true puts it back on sale unless GO JOE's team switched it off (kept_off). - stock_grams, the order rules and the price also apply while a product is off sale. - Prices are gross cents per g/ml. A change of more than ±50 % is applied but comes back as a price_change_large warning, and GO JOE's team double-checks it. - mode=full: the push is your complete catalogue. Mapped articles missing from it are treated as sold out. Use it for a nightly or hourly full sync, partial (default) for changes. Validation is all-or-nothing: if any item is invalid, nothing is applied and errors lists every problem.\",\"dateModified\":\"2026-11-11T09:34:20.496Z\",\"isPartOf\":{\"@id\":\"https://developers.gojoe.de#website\"},\"breadcrumb\":{\"@id\":\"https://developers.gojoe.de/api-reference/inventory/push-stock-and-prices#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.gojoe.de/api-reference/inventory/push-stock-and-prices#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"GO JOE Pharmacy API\",\"item\":\"https://developers.gojoe.de\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Push stock and prices\",\"item\":\"https://developers.gojoe.de/api-reference/inventory/push-stock-and-prices\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.gojoe.de/api-reference/inventory/push-stock-and-prices#apireference\",\"headline\":\"Push stock and prices\",\"name\":\"Push stock and prices\",\"description\":\"Up to 1,000 articles per call, identified by your own article number (pharmacy_sku). GO JOE maps each number to its product once; until then the article is reported unmapped and waits for GO JOE's team. A push never creates products. - available: false takes the product off sale; true puts it back on sale unless GO JOE's team switched it off (kept_off). - stock_grams, the order rules and the price also apply while a product is off sale. - Prices are gross cents per g/ml. A change of more than ±50 % is applied but comes back as a price_change_large warning, and GO JOE's team double-checks it. - mode=full: the push is your complete catalogue. Mapped articles missing from it are treated as sold out. Use it for a nightly or hourly full sync, partial (default) for changes. Validation is all-or-nothing: if any item is invalid, nothing is applied and errors lists every problem.\",\"url\":\"https://developers.gojoe.de/api-reference/inventory/push-stock-and-prices\",\"mainEntityOfPage\":{\"@id\":\"https://developers.gojoe.de/api-reference/inventory/push-stock-and-prices#webpage\"},\"dateModified\":\"2026-11-11T09:34:20.496Z\",\"publisher\":{\"@id\":\"https://developers.gojoe.de/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.gojoe.de#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"GO JOE Pharmacy API\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"GO JOE Pharmacy API\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/inventory/push-stock-and-prices.md","siteName":"GO JOE Pharmacy API","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/quickstart"}]},{"tab":"API reference","groups":[{"group":"Account","pages":[{"title":"Who am I","deprecated":null,"version":null,"openapi":"/openapi.yaml get /me","href":"/api-reference/account/who-am-i"}]},{"group":"Orders","pages":[{"title":"List orders","deprecated":null,"version":null,"openapi":"/openapi.yaml get /orders","href":"/api-reference/orders/list-orders"},{"title":"Get an order","deprecated":null,"version":null,"openapi":"/openapi.yaml get /orders/{id}","href":"/api-reference/orders/get-an-order"},{"title":"Download the prescription","deprecated":null,"version":null,"openapi":"/openapi.yaml get /orders/{id}/prescription","href":"/api-reference/orders/download-the-prescription"},{"title":"Accept an order","deprecated":null,"version":null,"openapi":"/openapi.yaml post /orders/{id}/accept","href":"/api-reference/orders/accept-an-order"},{"title":"Report progress","deprecated":null,"version":null,"openapi":"/openapi.yaml post /orders/{id}/status","href":"/api-reference/orders/report-progress"},{"title":"Reject an order","deprecated":null,"version":null,"openapi":"/openapi.yaml post /orders/{id}/reject","href":"/api-reference/orders/reject-an-order"}]},{"group":"Events","pages":[{"title":"Event feed","description":"Every event GO JOE sent (or would have sent) as a webhook, in order,\nfor 30 days. Store `next_cursor` and pass it as `cursor` on the next\ncall, also when `data` is empty. Events become visible a few seconds\nafter they happen. Order events need the `orders:read` scope for the\npharmacy, inventory events `inventory:write`.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml get /events","href":"/api-reference/events/event-feed"}]},{"group":"Inventory","pages":[{"title":"Push stock and prices","deprecated":null,"version":null,"openapi":"/openapi.yaml put /pharmacies/{pharmacy_id}/inventory","href":"/api-reference/inventory/push-stock-and-prices"},{"title":"Update one article","description":"Real-time change for one article, e.g. stock after a counter sale.\nFields you leave out keep their last pushed value (`name` and\n`available` are needed the first time an article is sent).\n","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /pharmacies/{pharmacy_id}/inventory/{pharmacy_sku}","href":"/api-reference/inventory/update-one-article"},{"title":"Your articles as GO JOE holds them","deprecated":null,"version":null,"openapi":"/openapi.yaml get /inventory","href":"/api-reference/inventory/your-articles-as-go-joe-holds-them"}]},{"group":"Sandbox","pages":[{"title":"Create a test order","deprecated":null,"version":null,"openapi":"/openapi.yaml post /sandbox/orders","href":"/api-reference/sandbox/create-a-test-order"},{"title":"Play a GO JOE event","deprecated":null,"version":null,"openapi":"/openapi.yaml post /sandbox/orders/{id}/advance","href":"/api-reference/sandbox/play-a-go-joe-event"}]},{"group":"Webhooks","pages":[{"title":"Event notification","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook event","href":"/api-reference/webhooks/event-notification"}]}]}]},"basePath":"","title":"Push stock and prices - GO JOE Pharmacy API","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}